Перекодируйте аудио AC3 5.1 с переменным битрейтом, используя FFmpeg

Поддерживает ли аудиоформат AC3 кодирование с переменным битрейтом?
Если это так, можно ли использовать FFmpeg -vbr вариант этого добиться?

Я бы хотел избежать преобразования 5.1 в двухканальное стерео, потому что я читал, что FFmpeg не дает хороших результатов при микшировании каналов.

1 ответ

Решение

Игнорирование стандартов

О, эта ужасная, вводящая в заблуждение нить. Стандарт ATSC A/52A (AC-3) (см. Разделы 6.1.12 и 7.8, а также этот пост от pandy) содержит подробную информацию о том, как должно происходить правильное микширование для AC-3.

Обратите внимание, что канал низкочастотных эффектов (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,

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