0

m4a格式有不同长度的音轨。还有用于处理媒体的 ffmpeg 库。很多轨迹最终会产生“衰减”的效果,需要确定它发生在什么时间点(确定一次并在数据库中输入的值以及有关轨迹的其他信息)。那些。我们必须以某种方式确定曲目开始褪色,其音量达到歌曲总音量的 30%。是否可以通过ffmpeg解决,如果可以,如何解决?

4

1 回答 1

0

如果你运行这个命令,

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

它将生成一个名为的文件vol.log,如下所示

frame:8941 pts:9155584 pts_time:190.741
lavfi.astats.Overall.RMS_level=-79.715762
frame:8942 pts:9156608 pts_time:190.763
lavfi.astats.Overall.RMS_level=-83.973798
frame:8943 pts:9157632 pts_time:190.784
lavfi.astats.Overall.RMS_level=-90.068668
frame:8944 pts:9158656 pts_time:190.805
lavfi.astats.Overall.RMS_level=-97.745197
frame:8945 pts:9159680 pts_time:190.827
lavfi.astats.Overall.RMS_level=-125.611266
frame:8946 pts:9160704 pts_time:190.848
lavfi.astats.Overall.RMS_level=-inf
frame:8947 pts:9161728 pts_time:190.869
lavfi.astats.Overall.RMS_level=-inf

pts_time是时间指数,RMS 电平是该间隔的平均音量(此处为 21 毫秒)。每下降 6dB 对应于当前音量的一半下降。

如果使用 运行命令reset=0,生成的日志文件中的最后读数将显示整个文件的 RMS 卷。然后是平均音量的 30% 的音量比平均值低约 10.5 dB。

于 2016-08-23T14:56:20.197 回答