Игнорирование стандартов
О, эта ужасная, вводящая в заблуждение нить. Стандарт ATSC A / 52A (AC-3) (см. Разделы 6.1.12 и 7.8, а также этот пост от pandy ) предоставляет подробную информацию о том, как должно происходить правильное микширование для AC-3.
Обратите внимание, что канал Low Frequency Effects (LFE) может быть пропущен при понижающем микшировании, и я считаю, что это то, что ffmpeg
делает.
Изменение метода микширования по умолчанию
Если вы хотите изменить метод понижающего микширования, попробуйте предложение pandy в том же потоке:
-af aformat=sample_fmts=fltp:channel_layouts=downmix
Я не проверял это, поэтому я не уверен, что он будет делать то, что вы хотите.
Кроме того, исследовать -dmix_mode
частный вариант. См ffmpeg -h encoder=ac3
.
VBR
Эта -vbr
опция используется как «частная» опция кодирования для некоторых кодировщиков, а не как глобальная опция:
Частные параметры являются специфическими для данного контейнера, устройства или кодека. Эти параметры перечислены в соответствующих контейнерах / устройствах / кодеках.
... значение использования этой опции и то, что она делает, может варьироваться в зависимости от кодировщика; если кодировщик даже поддерживает эту опцию (см. ffmpeg -h encoder=<encoder name>
). Другие аудио кодеры могут использовать -qscale:a
(или -q:a
) для VBR.
Кодер ac3
игнорирует оба -vbr
и -qscale:a
/ -q:a
.