
Я установил ffmpeg v4 из репозитория Ubuntu launchpad ppa:jonathonf/ffmpeg-4
, но в него не libfdk_aac
включен кодек:
$ ffmpeg -version | grep -i aac
$
EDIT 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)
$
Поэтому мне приходится использовать собственный кодек AAC ffmpeg.
Я пробовал с -vbr
аргументом со значением от 1 до 5, но результирующий битрейт не меняется.
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)
$
Как выполнить кодирование VBR AAC с помощью собственного ffmpeg
кодировщика?
решение1
-vbr
является частной опцией для кодировщика libfdk_aac, поэтому она недоступна для собственного кодировщика FFmpeg AAC.
В соответствии сFFmpeg Вики: AAC
Переменная скорость передачи данных (используется
-q:a
):ffmpeg -i input.wav -c:a aac -q:a 2 output.m4a
Эффективный диапазон
-q:a
составляет около 0,1-2. Этот VBR является экспериментальным и, вероятно, даст даже худшие результаты, чем CBR.
Я не проверял эту информацию в Википедии.