ffmpeg Loudnorm:通过两次传递来标准化音频音量

ffmpeg Loudnorm:通过两次传递来标准化音频音量

https://trac.ffmpeg.org/wiki/AudioVolume#LoudnessNormalization

但是,建议进行两次标准化运行,从第一次运行中提取测量值,然后在启用线性标准化的情况下在第二次运行中使用这些值。

ffmpeg -i UvL8OsG75f0.opus -filter:a loudnorm -pass 1 -f null /dev/null
ffmpeg -i UvL8OsG75f0.opus -filter:a loudnorm -pass 2 tmp.opus

第一个命令根本没有生成“ffmpeg2pass-...”日志。

如何正确地以两遍方法标准化音量?

答案1

-pass选项仅对某些视频编码器有效。

您必须手动运行设置了目标选项的过滤器,将其输出统计信息打印到命令行,然后使用这些输出统计信息进行第二次运行(参数measured_)。

为了实现此过程的自动化,有一个Ruby 脚本一次性完成,或者你可以使用ffmpeg-normalize,它可以完成所有工作,还可以处理批处理以及视频直通和其他选项(免责声明:我是该工具的作者)。

例如,要规范化 Opus 文件:

ffmpeg-normalize input.opus -c:a libopus -o output.opus

(您可能需要指定比特率和其他编解码器选项。)

相关内容