
我從 Ubuntu launchpadppa:jonathonf/ffmpeg-4
儲存庫安裝了 ffmpeg v4,但它沒有libfdk_aac
包含編解碼器:
$ ffmpeg -version | grep -i aac
$
編輯 1:我的系統上的 ffmpeg AAC 編碼器:
$ ffmpeg -encoders | egrep -i "aac| ="
V..... = Video
A..... = Audio
S..... = Subtitle
.F.... = Frame-level multithreading
..S... = Slice-level multithreading
...X.. = Codec is experimental
....B. = Supports draw_horiz_band
.....D = Supports direct rendering method 1
A..... aac AAC (Advanced Audio Coding)
$
所以,我必須使用 ffmpeg 原生 AAC 編解碼器。
我用 1 到 5 之間的參數進行了嘗試-vbr
,但結果位元率沒有改變。
EDIT2:我找到了該編碼器的文件:
$ ffmpeg -hide_banner -h encoder=aac
Encoder aac [AAC (Advanced Audio Coding)]:
General capabilities: delay small
Threading capabilities: none
Supported sample rates: 96000 88200 64000 48000 44100 32000 24000 22050 16000 12000 11025 8000 7350
Supported sample formats: fltp
AAC encoder AVOptions:
-aac_coder <int> E...A...... Coding algorithm (from 0 to 2) (default fast)
anmr 0 E...A...... ANMR method
twoloop 1 E...A...... Two loop searching method
fast 2 E...A...... Default fast search
-aac_ms <boolean> E...A...... Force M/S stereo coding (default auto)
-aac_is <boolean> E...A...... Intensity stereo coding (default true)
-aac_pns <boolean> E...A...... Perceptual noise substitution (default true)
-aac_tns <boolean> E...A...... Temporal noise shaping (default true)
-aac_ltp <boolean> E...A...... Long term prediction (default false)
-aac_pred <boolean> E...A...... AAC-Main prediction (default false)
-aac_pce <boolean> E...A...... Forces the use of PCEs (default false)
$
如何使用本機ffmpeg
編碼器進行 VBR AAC 編碼?
答案1
-vbr
是編碼器 libfdk_aac 的私人選項,因此它不適用於本機 FFmpeg AAC 編碼器。
可變比特率(使用
-q:a
):ffmpeg -i input.wav -c:a aac -q:a 2 output.m4a
有效範圍
-q:a
約為 0.1-2。此 VBR 是實驗性的,可能會得到比 CBR 更糟糕的結果。
我沒有驗證維基資訊。