![FFmpeg 将原始音频转换为三种不同的音频](https://linux22.com/image/1564098/FFmpeg%20%E5%B0%86%E5%8E%9F%E5%A7%8B%E9%9F%B3%E9%A2%91%E8%BD%AC%E6%8D%A2%E4%B8%BA%E4%B8%89%E7%A7%8D%E4%B8%8D%E5%90%8C%E7%9A%84%E9%9F%B3%E9%A2%91.png)
我想将 DTS 格式的视频文件的音频转换为三种不同类型的 AC3,一个 640K,第二个 448K,最后一个 192K。DTS 将被删除,视频将被复制。容器将保持不变。
我已经尝试过了
ffmpeg.exe -i input.mkv -map 0:0 -map 0:1 -map 0:1 -map 0:1 -c:v copy -c:a:0 ac3 -center_mixlev 0.707 -ab 640k -metadata:s:a:0 language=eng -metadata:s:a:0 title="640" -c:a:1 ac3 -center_mixlev 0.707 -ab 448k -metadata:s:a:1 language=eng -metadata:s:a:1 title="448" -c:a:2 ac3 -b:a 192k -center_mixlev 0.707 -metadata:s:a:2 language=eng -metadata:s:a:2 title="192" output.mkv
和
ffmpeg.exe -i input.mkv -map 0:v -c:v copy -map 0:a -c:a:0 ac3 -center_mixlev 0.707 -ab 640k -metadata:s:a:0 language=eng -metadata:s:a:0 title="640" -map 0:a -c:a:1 ac3 -center_mixlev 0.707 -ab 448k -metadata:s:a:1 language=eng -metadata:s:a:1 title="448" -map 0:a -c:a:2 ac3 -b:a 192k -center_mixlev 0.707 -metadata:s:a:2 language=eng -metadata:s:a:2 title="192" output.mkv
但生成的文件包含所有三个 AC3 格式的音频,但大小为 192K(全部)
提前致谢。
答案1
使用
ffmpeg.exe -i input.mkv -map 0:0 -map 0:1 -map 0:1 -map 0:1 -c:v copy -c:a ac3 -center_mixlev 0.707 -b:a:0 640k -metadata:s:a:0 language=eng -metadata:s:a:0 title="640" -b:a:1 448k -metadata:s:a:1 language=eng -metadata:s:a:1 title="448" -b:a:2 192k -metadata:s:a:2 language=eng -metadata:s:a:2 title="192" output.mkv
由于所有三个流的音频编码器相同,因此您只需指定一次。但音频比特率的流说明符应该是完全合格的,否则每次编码都将使用最后设置的值(192k)。