我想在包含两种语言的音频流的 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 在目标文件中只留下一个流,这个流是第二个音频。(而且我需要一个通用命令,它能够在不更改命令行中的任何内容的情况下处理所有流)
您可以使用该
-map
标志来选择特定的流,如此处所述。如果要选择所有流·添加
-map 0
如果要选择所有音频流,请添加-map 0:a
在你的情况下,这将是:
ffmpeg -i "Source.mkv" -map 0:a -vcodec copy -af "dynaudnorm=f=50:p=0.9" "Target.mkv"