Кодирование VBR с помощью встроенного кодека AAC ffmpeg

Я установил ffmpeg v4 с панели запуска Ubuntu ppa:jonathonf/ffmpeg-4 хранилище, но оно не имеет libfdk_aac кодек в комплекте:

$ ffmpeg -version | grep -i aac
$

РЕДАКТИРОВАТЬ 1:

$ 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 -codecs | egrep -i "aac|="
 D..... = Decoding supported
 .E.... = Encoding supported
 ..V... = Video codec
 ..A... = Audio codec
 ..S... = Subtitle codec
 ...I.. = Intra frame-only codec
 ....L. = Lossy compression
 .....S = Lossless compression
 DEA.L. aac                  AAC (Advanced Audio Coding) (decoders: aac aac_fixed )
 D.A.L. aac_latm             AAC LATM (Advanced Audio Coding LATM syntax)
$

Итак, я должен использовать собственный кодек AAC ffmpeg.

Я попробовал это с -vbr аргумент со значением от 1 до 5, но битрейт результата не изменяется.

Как я могу сделать кодирование VBR AAC с родным ffmpeg кодировщик?

1 ответ

Решение

-vbr является частной опцией для кодировщика libfdk_aac, поэтому он недоступен для встроенного кодера FFmpeg AAC.

Согласно FFmpeg Wiki: AAC

Переменная скорость передачи (с использованием -q:a):

ffmpeg -i input.wav -c:a aac -q:a 2 output.m4a

Эффективный диапазон для -q:a составляет около 0,1-2. Этот VBR является экспериментальным и может получить еще худшие результаты, чем CBR.

Я не проверял эту вики-информацию.

Другие вопросы по тегам