2016-08-23 26 views
0

有m4a格式的不同長度的音軌。還有與媒體合作的ffmpeg庫。許多曲目最終會產生「衰減」的效果,因此有必要確定它發生在何處(確定一次以及輸入到數據庫中的值以及有關曲目的其他信息)。那些。我們必須以某種方式確定曲目開始褪色,並且其音量與歌曲的總音量相比達到30%。是否可以通過ffmpeg解決,如果是這樣,怎麼辦?通過ffmpeg定義音頻衰減的時刻

回答

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 ms)。每降低6dB對應於目前音量的一半。

如果使用reset=0運行該命令,則生成的日誌文件中的最後一個讀數將顯示整個文件的RMS卷。然後,平均音量的30%的音量比平均值低〜10.5 dB。