Я пытаюсь создать видео, с кучей разных входов, состоящих из набора последовательностей изображений, а также нескольких других изображений и видео (может быть больше одного) для наложения поверх них.
Предполагается, что длительность конечного видеовыхода равна длительности самого длинного входа (в то время как более короткие входы будут просто зацикливаться до этой длительности).
Пока команда работает в большинстве случаев. В некоторых случаях я вижу предупреждение EOF timestamp ненадежным , и после этого FFmpeg застревает на неопределенное время. Это происходит с некоторыми частными случаями входов, а также, кажется, меняется в зависимости от разных версий ffmpeg, я пытался с версиями ffmpeg 4.1, 4.0.4 и 3.4.1. Кажется, он работает только с 4.0.4, но не работает на других версиях.
Я делюсь примером команды вместе с ресурсами для Windows, для которых я сталкиваюсь с этой проблемой
Ниже приведена команда:
ffmpeg -i assets\w_re_p_3\w_re_p_3_%d.jpg -loop 1 -i assets\text_0.png -loop 1 -i assets\text_1.png -loop 1 -i assets\text_2.png -loop 1 -i assets\text_3.png -loop 1 -i assets\text_4.png -loop 1 -i assets\text_5.png -loop 1 -i assets\text_6.png -loop 1 -i assets\text_7.png -lavfi "[0:v]loop=loop=-1:size=121:start=1[lip0];[1:v]scale=w=693:h=155[si_1];[lip0][si_1]overlay=x=13:y=13:shortest=1[over_0];[2:v]scale=w=693:h=45[si_2];[over_0][si_2]overlay=x=13:y=871:shortest=1[over_1];[3:v]scale=w=693:h=155[si_3];[over_1][si_3]overlay=x=13:y=236:shortest=1[over_2];[4:v]scale=w=693:h=40[si_4];[over_2][si_4]overlay=x=13:y=1089:shortest=1[over_3];[5:v]scale=w=693:h=84[si_5];[over_3][si_5]overlay=x=13:y=1141:shortest=1[over_4];[6:v]scale=w=693:h=31[si_6];[over_4][si_6]overlay=x=13:y=1207:shortest=1[over_5];[7:v]scale=w=693:h=85[si_7];[over_5][si_7]overlay=x=13:y=982:shortest=1[over_6];[8:v]scale=w=693:h=52[si_8];[over_6][si_8]overlay=x=13:y=148:shortest=1[over_7];movie=filename=assets\\\\cmedia_cropped.mp4:loop=1,setpts=N/(FRAME_RATE*TB)[mov_0];[mov_0]scale=w=720:h=487[sm_0];[over_7][sm_0]overlay=x=0:y=357:shortest=1" card_output.mp4
Ниже приведена ссылка на все активы, используемые в команде:
https://www.dropbox.com/sh/6bwo4fg5de3fjwz/AAA471jUtLZGtti3hakT1bgfa?dl=0
Окончательный вывод должен выглядеть примерно так:
https://www.dropbox.com/s/s92t6qij2lrl2j7/card_output1.mp4?dl=0
Пожалуйста, я не понимаю причину этого. В любом случае я могу улучшить свою команду, чтобы мне не приходилось сталкиваться с этой проблемой. Любая помощь будет оценена.