ffmpeg - копирование исходного звука на вторую звуковую дорожку, затем применение фильтра только к первой звуковой дорожке

ffmpeg - копирование исходного звука на вторую звуковую дорожку, затем применение фильтра только к первой звуковой дорожке

У меня проблема с громкостью и аудиоканалом при захвате видеокассет, которую я хотел бы исправить максимально неразрушающим способом. Я решил применить увеличение громкости вместо нормализации. Теперь я понимаю, что могу сохранить исходный звук в контейнере, и это позволит мне быть уверенным, что исходный неизмененный звук все еще существует и легко доступен.

Вот что у меня сейчас:

ffmpeg -i "input.avi" -filter_complex "[0:a]channelsplit=channel_layout=stereo:channels=FL,volume=+16.2dB[left]" -map "[left]" -map 0:v -c:v ffv1 -coder 1 -context 1 -g 1 -slices 24 -slicecrc 1 "output.mkv"

Первый фильтр — использовать левую звуковую дорожку для создания одной монодорожки. Это связано с тем, что ленты моно, а мое устройство захвата не может захватывать напрямую в моно, поэтому правая дорожка полностью пуста, что приводит к ужасной проблеме со звуком «только для левого уха».

Второй фильтр — увеличение громкости.

Как изменить команду, чтобы скопировать исходный неотредактированный звук из файла захвата на звуковую дорожку 2 выходного файла в качестве резервной копии,затемприменить фильтры только к звуковой дорожке 1 выходного файла?

решение1

Сопоставьте входной звук дважды и установите параметр кодека для второй звуковой дорожки на copy.

ffmpeg -i "input.avi" -map 0:v -map 0:a -map 0:a -filter:a:0 "channelsplit=channel_layout=stereo:channels=FL,volume=+16.2dB" -c:v ffv1 -coder 1 -context 1 -g 1 -slices 24 -slicecrc 1 -c:a:1 copy "output.mkv"

Связанный контент