Я хочу показать видео, в котором есть 2 фильма рядом. каждый фильм является результатом одного фильма, который объединяется 2 раза. проблема в том, что звук справа не синхронизирован.
у меня есть 3 команды: первая команда соединяет один фильм 2 раза
ffmpeg -i 1.mp4 -i 1.mp4 -filter_complex "[0:v:0][0:a:0][1:v:0][1:a:0]concat=n=2:v=1:a=1[concatv][concata]" -map "[concatv]" -map "[concata]" Concat1.mp4
вторая команда объединяет второй фильм 2 раза
ffmpeg -i 2.mp4 -i 2.mp4 -filter_complex "[0:v:0][0:a:0][1:v:0][1:a:0]concat=n=2:v=1:a=1[concatv][concata]" -map "[concatv]" -map "[concata]" Concat2.mp4
в этот момент звук всегда синхронизируется. третья команда берет 2 результата и объединяет их в один фильм рядом с логотипом:
ffmpeg -i Concat1.mp4 -i Concat2.mp4 -i logo.png -filter_complex "[0:v]pad=width=iw+20:height=ih+20:x=10:y=10:color=black[a];[1:v]pad=width=iw+20:height=ih+20:x=10:y=10:color=black[b];nullsrc=size=640x480[base];[a]setpts=PTS-STARTPTS, scale=320x480[left];[b]setpts=PTS-STARTPTS, scale=320x480[right];[base][left]overlay=shortest=1[tmp1];[tmp1][right] overlay=320:0[video];[0:a]apad [apa];[apa][1:a]amerge=inputs=2,pan=stereo|FL<c0+c1|FR<c0+c1[audio];[2:v]scale=120:44 [ovrl];[video][ovrl]overlay=15:25[videoandlogo]" -map "[videoandlogo]" -map "[audio]" output.mp4
проблема в том, что в выходной файл звук правого фильма не синхронизирован его второй раз (второй concat). это всегда правильный фильм, который не синхронизирован, даже когда я переключаю их.
кто-нибудь может помочь? Спасибо.
============== РЕДАКТИРОВАТЬ====================
проблема синхронизации решил путем добавления apad также во второй файл, но после этого команда никогда не останавливается... как я могу сказать команде остановиться, когда оба фильма закончились, если у меня есть apad для обоих фильмов? это новая команда, которая никогда не останавливается:
ffmpeg -i 1.mp4 -i 2.mp4 -i logo.png -filter_complex "[0:v]pad=width=iw+20:height=ih+20:x=10:y=10:color=black[a];[1:v]pad=width=iw+20:height=ih+20:x=10:y=10:color=black[b];nullsrc=size=640x480[base];[a]scale=320x480[left];[b]scale=320x480[right];[base][left]overlay=shortest=1[tmp1];[tmp1][right] overlay=320:0[video];[1:a]apad [apa];[0:a]apad[apa1];[apa][apa1]amix=inputs=2:duration=longest[audio];[2:v]scale=120:44 [ovrl];[video][ovrl]overlay=15:25[videoandlogo]" -map "[videoandlogo]" -map "[audio]" output.mp4
Привет, спасибо, но это все равно.
Нашел ответ (надеюсь, это поможет кому-то). для проблемы со звуком я решил ее, установив apad для всех фильмов (сначала нужно поставить apad самого длинного фильма). и чтобы исправить бесконечный фильм, я поставил "-t". Спасибо.
Удалите фильтры настроек и проверьте.