我想看看是否有人知道我可以分析视频音频并确定其响度的最佳方法。
我想使用此信息,然后通过FFmpeg或其他方式纠正音频。
音频必须达到响度-23的ebu标准https://tech.ebu.ch/docs/r/r128.pdf,且不高于0.5。
有没有办法做到这一点?
我很难找到解决方案。
最佳答案
您可以使用我编写的Python包 ffmpeg-normalize
。它使用内置的loudnorm
过滤器,但增加了一些方便的方法。请查看自述文件。
$ pip install --user ffmpeg-normalize
要以JSON格式获取响度统计信息,请使用zse
-p
和-n
(空运行):$ ffmpeg-normalize BigBuckBunny.avi -p -n
[
{
"input_file": "BigBuckBunny.avi",
"output_file": "normalized/BigBuckBunny.mkv",
"stream_id": 1,
"ebu": {
"input_i": "-32.25",
"input_tp": "-8.70",
"input_lra": "20.60",
"input_thresh": "-44.86",
"output_i": "-23.26",
"output_tp": "-2.00",
"output_lra": "11.40",
"output_thresh": "-33.80",
"normalization_type": "dynamic",
"target_offset": "0.26"
},
"mean": null,
"max": null
}
]
要对音频流运行规范化并将视频复制到以下位置:
ffmpeg-normalize BigBuckBunny.avi -c:a aac -b:a 192k
这会将文件写入
normalized/BigBuckBunny.mkv
,并使用ffmpeg的内部AAC编码器对音频流进行重新编码。要更改输出文件名,请使用-o
。