gpt4 book ai didi

java ffmpeg 包装器未知解码器 'copy'

转载 作者:行者123 更新时间:2023-12-04 23:18:58 30 4
gpt4 key购买 nike

嗨,我想在 java 中运行 ffmpeg -f concat -i test.txt -c copy output.mp4。我的 FFmpegBuilder :

        FFmpeg ffmpeg = new FFmpeg("C:\\ffmpeg\\bin\\ffmpeg.exe");
FFprobe ffprobe = new FFprobe("C:\\ffmpeg\\bin\\ffprobe.exe");

FFmpegBuilder builder = new FFmpegBuilder()
.setInput(path + fileName)
.addExtraArgs("-f", "CONCAT")
.addExtraArgs("-i", path+ "test.txt")
.addExtraArgs("-c", "copy")
.addOutput("outjava.mp4")
//.setAudioCodec("COPY")
// .setVideoCodec("COPY")
.done();


FFmpegExecutor executor = new FFmpegExecutor(ffmpeg, ffprobe);
executor.createJob(builder).run();
但我总是得到错误:
Unknown decoder 'copy'
Exception in thread "main" java.lang.RuntimeException: java.io.IOException: C:\ffmpeg\bin\ffmpeg.exe returned non-zero exit status. Check stdout.
at net.bramp.ffmpeg.job.SinglePassFFmpegJob.run(SinglePassFFmpegJob.java:46)
at Main.main(Main.java:47)
Caused by: java.io.IOException: C:\ffmpeg\bin\ffmpeg.exe returned non-zero exit status. Check stdout.
at net.bramp.ffmpeg.FFcommon.throwOnError(FFcommon.java:51)
at net.bramp.ffmpeg.FFcommon.run(FFcommon.java:113)
at net.bramp.ffmpeg.FFmpeg.run(FFmpeg.java:184)
at net.bramp.ffmpeg.FFmpeg.run(FFmpeg.java:202)
at net.bramp.ffmpeg.job.SinglePassFFmpegJob.run(SinglePassFFmpegJob.java:39)
... 1 more
为什么可以将所有 args 包装到 .addExtraArgs 中,但 -c copy 参数失败?我的错误是什么? .setVideoCodec("COPY") 也失败了

最佳答案

-c copy是一个输出参数。
地点 .addExtraArgs("-c", "copy")addOutput("outjava.mp4") 之后:

FFmpegBuilder builder = new FFmpegBuilder()
.setInput(path + fileName)
.addExtraArgs("-f", "concat")
.addExtraArgs("-i", path+ "test.txt")
.addOutput("outjava.mp4")
.addExtraArgs("-c", "copy")
.done();
笔记:
我没有机会测试我的答案。
根据以下 examples ,它应该工作。
请注意 concat-c copy 的解复用器仅在所有输入文件具有相同特征时才有效。

关于java ffmpeg 包装器未知解码器 'copy',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70905055/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com