0
有m4a格式的不同長度的音軌。還有與媒體合作的ffmpeg庫。許多曲目最終會產生「衰減」的效果,因此有必要確定它發生在何處(確定一次以及輸入到數據庫中的值以及有關曲目的其他信息)。那些。我們必須以某種方式確定曲目開始褪色,並且其音量與歌曲的總音量相比達到30%。是否可以通過ffmpeg解決,如果是這樣,怎麼辦?通過ffmpeg定義音頻衰減的時刻
有m4a格式的不同長度的音軌。還有與媒體合作的ffmpeg庫。許多曲目最終會產生「衰減」的效果,因此有必要確定它發生在何處(確定一次以及輸入到數據庫中的值以及有關曲目的其他信息)。那些。我們必須以某種方式確定曲目開始褪色,並且其音量與歌曲的總音量相比達到30%。是否可以通過ffmpeg解決,如果是這樣,怎麼辦?通過ffmpeg定義音頻衰減的時刻
如果您運行此命令,
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 ms)。每降低6dB對應於目前音量的一半。
如果使用reset=0
運行該命令,則生成的日誌文件中的最後一個讀數將顯示整個文件的RMS卷。然後,平均音量的30%的音量比平均值低〜10.5 dB。