Правильно downmix 5.1 в стерео с помощью ffmpeg
у меня есть звуковая дорожка 5.1 из фильма, где передний левый и передний правый содержат музыку, а центр содержит диалог. Воспроизведение трека 5.1 в VLC прекрасно сочетает все вместе.
Я пытаюсь преобразовать 5.1 трек в стерео с помощью ffmpeg -ac 2
, однако в результате стерео микс имеет гораздо более слабый объем, чем играть 5.1 трек изначально.
добавлять -af "pan=stereo|c0=FL|c1=FR"
дает правильный объем, но тогда нет диалога, потому что центральный канал не включенный.
Так что решение, может быть, смешать левый / центральный / правый в стерео,и выбросить задние сабвуферные каналы? (Я предполагаю, что здесь...)
Итак, вопрос: Как я могу сделать ffmpeg downmix 5.1 стерео так же, как VLC делает это, с тем же сильным объемом в конечном результате?
4 ответов
Я нашел ответ Шейн предоставили слишком мало других каналов и слишком много центра. Фильмы в наушниках звучал из колеи, со всеми диалог и не хватает фоновой музыки и эффектов.
по данным стандарты ATSC (раздел 7.8, стр. 91), следующая формула используется для уменьшения 5.1 до обычного стерео (в отличие от матрицы):
Lo = 1.0 * L + clev * C + slev * Ls ;
Ro = 1.0 * R + clev * C + slev * Rs ;
clev и slev должны быть .Согласно таблицам 5.9 и 5.10 в вышеупомянутый документ, предполагающий уровень смешивания центра/объемного звука 0. Другие значения приведены в тех таблицах, которые уменьшают количество Центрального микса, что я не считаю полезным.
имея это в виду, следующая опция ffmpeg производит хороший сбалансированный звук со звуковым диалогом. Обратите внимание, что указание аудиоканалов не требуется.
-af "pan=stereo|FL < 1.0*FL + 0.707*FC + 0.707*BL|FR < 1.0*FR + 0.707*FC + 0.707*BR"
примечание об использовании символа "меньше" из pan Filter документация:
Если ' = ’ в спецификации канала заменяется‘<’, то выгоды для этой спецификации будут перенормированы таким образом, что итог будет 1, таким образом, избегая отсечения шума.
попробуйте это downmix:
-ac 2 -af "pan=stereo|FL=FC+0.30*FL+0.30*BL|FR=FC+0.30*FR+0.30*BR"
как полагают в:
Диалог nightmode downmix предустановки для 5.1 DTS до 2.0 AAC стерео с помощью ffmpeg и qaac
Итак, объединив @Шейн Харрельсон это С @Jordan Harris's ответ на другой вопрос - С включенным ленивым режимом-вот что нужно для конвертации input_51.mkv
(5.1) в output_stereo.mkv
(стерео):
ffmpeg -i input_51.mkv -c:v copy \
-ac 2 -af "pan=stereo|FL=FC+0.30*FL+0.30*BL|FR=FC+0.30*FR+0.30*BR" \
output_stereo.mkv
-c:v copy
часть означает, что поток видео не трогали (я думаю, что video cнастройки odec является copied). Без него это займет гораздо больше времени. Как раз повторять от ответ для completude, -ac 2
означает два аудиоканала и -af
определяет звуковой фильтр.
посмотрев в команду немного, я понял, что он устанавливает, как состоят два стереоканала;FL
(передний левый канал) берется из оригинала FC
(передний Центр) Плюс 0.30*FL
(30% слева спереди) плюс 0.30*BL
(30% от задней левой стороны) и так далее.
если опция-ac 2 дает вам сбалансированный downmix, где ни музыка, ни речь не звучит слишком много, чем другие компоненты, вам просто нужно увеличить громкость с помощью
-vol 512
я использовал 512 в примере, что увеличивает звук, делая его в два раза громче. Правило в том, что 256 эквивалентно 100%
Не заходите слишком высоко со значением, и не забудьте проверить результаты в тех частях фильма со взрывами или громким шумом. Это очень легко введите искажение, используя слишком высокое значение.