- UID
- 25346
- 精华
- 0
- 冰点
- 8
- 阅读权限
- 50
- 主题
- 4
- 回帖
- 294
- 性别
- 保密
- 在线时间
- 61 小时
- 注册时间
- 2015-8-2
- 最后登录
- 2018-3-11
签到天数: 112 天 [LV.6]常住居民II
土之精灵LV.2
- 回帖
- 294
- 雪点
- 1413
- 阅读权限
- 50
- 性别
- 保密
- 在线时间
- 61 小时
- 注册时间
- 2015-8-2
- 最后登录
- 2018-3-11
|
本帖最后由 soruly 于 2015-8-20 22:13 编辑
前言。
播放5.1/7.1聲道的影片時,經常會出現人聲很細,背景效果聲很大的情況。
這個情況在XBMC經常出現,即使設定了volume normalize,對白的音量還是很細。
較好的播放器例如VLC, MPC-HC會再加上volume boost提高音量,但在其他播放器例如手機播就有機會出現問題。
為確保所以設備都能用正確音量播放,這裡就介紹如何用ffmpeg預先壓成雙聲道。
我個人習慣使用ffmpeg,對其他軟件不熟識,因此這裡只使用ffmpeg作示範
不過因為ffmpeg沒有圖形介面,全部也需要用指令行輸入,所以只建議進階使用者使用
ffmpeg可以在這裡下載
https://www.ffmpeg.org/download.html
官方介紹的方法,是按照Digital Audio Compression Standard (Document A/52:2012),所範定的公式而合成聲道。
這個合成方式只需要一個簡單的 -ac 2 指令就可以了,但效果很差,人聲完全聽不到,背景聲也變得很小。
https://trac.ffmpeg.org/wiki/AudioChannelManipulation
後來我發現使用audio pan filter壓出來的效果更好,左邊使用100%左聲道+100%中間聲道,其餘50%。右邊使用100%右聲道+100%中間聲道,其餘50%。
LFE低音不需要合成,直接設定0%或忽略掉就可。
最後要把整體音量提高300%。
最終音量算出來的方式是所有左/右邊聲道系數總和:1.0+1.0+0.5+0.5=3.0
示範指令如下:
ffmpeg --i "input.mkv" -c:v copy -c:a libfdk_aac -af "pan=stereo| FL < 1.0*FL + 1.0*FC + 0.5*BL + 0.5*SL + 0*LFE | FR < 1.0*FR + 1.0*FC + 0.5*BR + 0.5*SR + 0*LFE ,volume=3.0" "output.mkv"
我也不確定這樣的合成方法音量是否正確,畢竟如何在雙聲道模擬5.1/7.1聲道不止一種方法,但至少聽起來各個聲道的音量總算平衡,音量不會過低,也沒有爆音的情況。
|
|