Ігнорування стандартів
О, той жахливий, омануючий потік. The Стандарт ATSC A / 52A (AC-3) (див. розділи 6.1.12 і 7.8, а також цей пост pandy ) надає детальну інформацію про те, як має відбуватися правильне перемикання для AC-3.
Зауважте, що канал низьких частотних ефектів (LFE) може бути опущений при змішуванні, і я вважаю, що це таке ffmpeg
робить.
Зміна методу зниження за замовчуванням
Якщо ви хочете змінити метод downmix, то спробуйте пропозиція панді в одному потоці:
-af aformat=sample_fmts=fltp:channel_layouts=downmix
Я не перевірив це, тому я не впевнений, що він буде робити те, що ви хочете.
Крім того, дослідіть -dmix_mode
приватний варіант. Подивитися ffmpeg -h encoder=ac3
.
VBR
The -vbr
опція використовується як "приватний" варіант кодування для деяких кодерів, а не як глобальний варіант:
Приватні параметри специфічні для даного контейнера, пристрою або кодека.
Ці параметри перелічені під відповідними контейнерами / пристроями / кодеками.
... що означає використання цього варіанту і те, що він робить, може змінюватися залежно від кодера; якщо кодер навіть підтримує цю опцію (див ffmpeg -h encoder=<encoder name>
). Інші аудіокодери можуть використовувати -qscale:a
(або -q:a
) для VBR.
Кодер ac3
ігнорує обидва -vbr
і -qscale:a
/ -q:a
.