Пример для дальнейшего объяснения: я записываю видео, поющее в то же время, когда певец поет в песне. Итак, у меня есть видеофайл (я пою) и аудиофайл (песня).
Я попробовал эту простую команду:
-i $video-i $audio-c copy -map 0:0 -map 1:0 -shortest output.mp4
Но он дает вывод с отключенным звуком видео (мой голос отключен).
И я хочу что-то более продвинутое, чтобы контролировать громкость каждого звука и добавить фильтр, чтобы выходной звук звучал так, как будто он был записан в студии ... поэтому после долгого поиска в документации и подобных вопросов я составил эту команду здесь ..
-i $video -i $audio -filter_complex "[0:a]aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,volume=0.8[a1]; [1:a]aformat=sample_fmts=fltp:sample_rates=44100:channel_layouts=stereo,volume=4[a2]; [a1][a2]amerge,pan=stereo|c0<c0+c2|c1<c1+c3[out]" -map 1:v -map [out] -c:v copy -c:a libmp3lame -shortest output.mp4
Это дает видеовыход с рассинхронизированным звуком. (мой голос не соответствует певцу).
Любая помощь могла бы быть полезна!