我想在包含两种语言音频流的 MKV 文件中进行动态音频规范化
ffmpeg -i "Source.mkv" -vcodec copy -af "dynaudnorm=f=50:p=0.9" "Target.mkv"
执行此命令后,结果仅包含第一个音频流。
如何让 FFMPEG 保持视频原样并处理所有音频流(无论它们有多少个)?
更新
-map 0
以错误“输出流 0:1 缓冲的数据包太多”结束。
-map 0:a
以错误“为输出流 0:0 缓冲的数据包太多”结束。
-map 0:2
导致 FFMPEG 在目标文件中仅留下一个流,并且该流是第二个音频。(并且我需要一个通用命令,它能够处理所有流而不在命令行中更改任何内容)
答案1
您可以使用-map
标志来选择特定的流,如下所述这里。
如果要选择所有流·添加-map 0
如果要选择所有音频流,请添加-map 0:a
对于你来说,情况是:
ffmpeg -i "Source.mkv" -map 0:a -vcodec copy -af "dynaudnorm=f=50:p=0.9" "Target.mkv"