使用 ffmpeg 确定音频峰值

使用 ffmpeg 确定音频峰值

我是否缺少一个插件可以让我确定音频文件长度内的音量样本?

例如,每秒进行一次采样以获得 dB 与时间戳的关系?

答案1

ebur128滤波器提供有关响度建议的信息欧洲标准 R128公制。

滤波器astats可以提供以下信息(以 dB 为单位):

ffmpeg -i in.mp3 -af astats=metadata=1:reset=1,ametadata=print:key=lavfi.astats.Overall.RMS_level:file=log.txt -f null -

这将产生如下输出:

frame:221  pts:226304  pts_time:4.71467
lavfi.astats.Overall.RMS_level=-67.437152
frame:222  pts:227328  pts_time:4.736  
lavfi.astats.Overall.RMS_level=-67.159036
frame:223  pts:228352  pts_time:4.75733
lavfi.astats.Overall.RMS_level=-63.862748
frame:224  pts:229376  pts_time:4.77867
lavfi.astats.Overall.RMS_level=-63.666815

如果时间分辨率太细,则增加重置值,即滤波器采样频率的帧数。对于 1 秒的切片,audio sampling rate/1000应使用整数近似值。

相关内容