我对包含多个音轨的文件进行编码。其中一些必须被复制(已经是 AC3),其中一些必须被编码(DTS 到 AC3)。但是音轨0:a:8和0:a:9变成了“vorbis”(原音轨分别为 5.1 和 2.0),而不是我指定的 AC3。为什么会发生?这是我所做的:
ffmpeg -i INPUT.FILE -c:v libx264 -crf 20 -c:a:0 ac3 -b:a:0 448k -c:a:1 copy -c:a:2 copy -c:a:8 ac3 -b:a:8 448k -c:a:9 copy -map 0:v:0 -map 0:a:0 -map 0:a:1 -map 0:a:2 -map 0:a:8 -map 0:a:9 OUTPUT.FILE
谢谢!
除了
-map
,输出选项的流说明符是指输出中的顺序。所以,
-c:a:0 ac3 -b:a:0 448k -c:a:1 copy -c:a:2 copy -c:a:3 ac3 -b:a:3 448k -c:a:4 copy -map 0:v:0 -map 0:a:0 -map 0:a:1 -map 0:a:2 -map 0:a:8 -map 0:a:9
这会将输入编码
0:a:8
为 AC-3 并复制0:a:9
.