Я создаю видеофайл длиной 36 секунд. Он состоит из трех файлов .mp4. Один видеофайл является фоновым, а два других - оверлеями. Одно из оверлейных видео заканчивается примерно через 26 секунд.
Проблема: Когда наложение заканчивается на 26 секундах видео, наложенное видео остается на экране в режиме паузы, и звук для двух других видео теряется. Там 10 секунд мертвого воздуха.
Было бы предпочтительно, если бы видео для наложения было удалено, когда оно закончилось. Тем не менее, самое главное, что его окончание не должно останавливать звук для двух других видео.
ffmpeg -loglevel fatal \
-itsoffset 0.401 -i 4609_segment_1_remote_0.mp4 \
-itsoffset 0.304 -i 4609_segment_1_remote_1.mp4 \
-i 4609_segment_1_local_0.mp4 \
-filter_complex " \
[1:v]scale=iw/4:-1:flags=lanczos[rem1]; \
[2:v]scale=iw/4:-1:flags=lanczos[loc0]; \
[0:v]transpose=1[rotate1]; \
[rotate1][loc0]overlay=main_w-overlay_w-10:main_h-overlay_h-10[rem0]; \
[rem0][rem1]overlay=main_w-overlay_w-180:main_h-overlay_h-10[rem1]; \
[0:a][1:a][2:a]amerge=inputs=3[a]" \
-map "[rem1]" -map "[a]" -ac 3 -vcodec libx264 \
-ar 44100 -strict -2 -acodec aac 4609_segment_1.mp4
Входной файл [0]: 4609_segment_1_remote_0.mp4
Псевдоним: [0: v], [rem0], rotate1]
Продолжительность: 00: 00: 35.58
Размеры: 640x480 [SAR 1: 1 DAR 4: 3]
Начинается: 0,401 секунды
Видео вращается на 90 градусов по часовой стрелке
Фоновое видео
Входной файл [1]: 4609_segment_1_remote_1.mp4
Псевдоним: [1: v], [rem1]
Продолжительность: 00: 00: 25.14
Размеры: 640x480 [SAR 1: 1 DAR 4: 3]
Начинается: 0,304 секунды
Наложение: 180 пикселей справа, 10 пикселей снизу
Входной файл [2]: 4609_segment_1_local_0.mp4
Псевдоним: [2: v], [loc0]
Продолжительность: 00: 00: 34,98
Размеры: 640x480 [SAR 1: 1 DAR 4: 3]
Начинается: немедленно
Наложение: 10 пикселей справа, 10 пикселей снизу
В результате получается видео 480х640. Видео длится 36 секунд. Аудио длится 26 секунд. В правом нижнем углу есть два наложенных видео.