好奇是否有人可以在这里帮助我,我有一个视频文件
流 0 视频
流 1 DTS-HD 音频
我想要创建第二个 eac3 音频,这将是 DTS-HD 音轨的副本。它看起来会像这样。
流 0 视频
流 1 DTS-HD 音频
流 2 EAC3 音频(流 1 的副本)
我得到的是
流 0 视频
流 1 EAC3 音频(流 2 的副本)
流 2 DTS-HD 音频
看起来不错,只是音频流的顺序不对
这是命令,有人可以提供任何帮助吗?
ffmpeg -i "input.mp4" -map 0:v -map 0:a -map 0:a -c:v copy -c:a:0 eac3 -ab:a:0 640k -c:a:1 copy -c:s copy "output.mp4"
答案1
是的,这确实有道理,它不会按照你预期的方式工作!
尝试改变这种情况:
ffmpeg -i "input.mp4" -map 0:v -map 0:a -map 0:a -c:v copy -c:a:0 eac3 -ab:a:0 640k -c:a:1 copy -c:s copy "output.mp4"
到:
ffmpeg -i "input.mp4" -map 0:v -map 0:a -map 0:a -c:v copy -c:a:1 eac3 -ab:a:1 640k -c:a:0 copy -c:s copy "output.mp4"
我已经测试过了,它确实有效!如果您想知道,请添加,-t 10s [before..filename]
这样您就可以将 10 秒转换为测试目的。
原因是,即使你在这里做得正确
-map 0:v -map 0:a -map 0:a
,这里-c:a:0 eac3
您正在将 [新转换的] 映射到第一个位置,而它应该位于-c:a:1
第二个位置,正如您所希望的那样,并且肯定-c:a:1 copy
原始的 [第二个位置] 位于第一个位置-c:a:0 copy
。