Я работаю на этом примере из вики ffmpeg
ffmpeg
-i 1.avi -i 2.avi -i 3.avi -i 4.avi
-filter_complex "
nullsrc=size=640x480 [base];
[0:v] setpts=PTS-STARTPTS, scale=320x240 [upperleft];
[1:v] setpts=PTS-STARTPTS, scale=320x240 [upperright];
[2:v] setpts=PTS-STARTPTS, scale=320x240 [lowerleft];
[3:v] setpts=PTS-STARTPTS, scale=320x240 [lowerright];
[base][upperleft] overlay=shortest=1 [tmp1];
[tmp1][upperright] overlay=shortest=1:x=320 [tmp2];
[tmp2][lowerleft] overlay=shortest=1:y=240 [tmp3];
[tmp3][lowerright] overlay=shortest=1:x=320:y=240
"
-c:v libx264 output.mkv
Проблема в том, что он всегда берет звук из первого фильма. Как я могу, например, получить звук из второго фильма?
Добавление Channelmap в -filter_complex
кажется правильным, но я не могу понять, как ссылаться на дорожки в фильмах.
Я попробовал варианты этого:
channelmap=map=0.0.0=1.0.0|0.0.1=1.0.1
Но это дает синтаксические ошибки.