У меня есть анимация, которая превращается в кучу PNG. Я пытаюсь сохранить анимацию менее 2 секунд. У моих пользователей есть временная шкала, где они могут указать, как долго они хотят, чтобы он был виден.
Я делаю около 120 снимков экрана, что будет означать прохождение 120 кадров со скоростью 60 кадров в секунду, что составляет 2 секунды. Пользователь может захотеть, чтобы текст был там в течение 5 секунд.
Моя цель - снять последний кадр и оставить его в видео до указанного времени окончания.
Как я могу взять120-й кадр и сохраняйте его в видео до тех пор, пока не будете использовать FFMPEG.
Вот моя сгенерированная команда ниже.
ffmpeg
-i "http://storycreator.co:8181/unsplash/photo-1572800578930-fd1013b506c1?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=1080&fit=max&ixid=eyJhcHBfaWQiOjE1OTQxfQ"
-i "http://storycreator.co:8181/unsplash/photo-1573070303620-ea2602590e96?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=1080&fit=max&ixid=eyJhcHBfaWQiOjE1OTQxfQ"
-framerate 60
-i "./e4634ba0-00fd-11ea-ac54-9d3618dabf3e-%d.png"
-i "./watermark.png"
-f lavfi
-i color=c=white:s=1080x1080
-ss 17.75
-i "https://api.soundcloud.com/tracks/708135835/stream?client_id=d8976b195733c213f3ead34a2d95d1c1"
-filter_complex "
[0:v]scale=1983.2727272727273:1326.5454545454545[ovr1],
[1:v]scale=1283.3587786259543:1923.6641221374048[ovr2],
[2:v]scale=1080:1080,setpts=PTS-STARTPTS+(0/TB)[ovr3],
[3:v]scale=458:58[ovr4],
[4:v][ovr1]overlay=-780.3636807528409:-69.33335182883523:enable='between(t,0,3.5799999999999996)'[int1],
[int1][ovr2]overlay=-79.3167603470897:-45.92176131619752:enable='between(t,3.5900000000000003,15)'[int2], [int2][ovr3]overlay=0:0:enable='between(t,0,5)'[int3], [int3][ovr4]overlay=W-500:H-100:enable='between(t,0,15)'
[out]
"
-map "[out]"
-vcodec libx264
-crf 27
-preset veryfast
-map 5:0
-t 00:00:15
/var/folders/m1/4swfw09137x2b3d2h3_y5wmw0000gn/T/tmp-9351clz63oHIdLu7/fc160990-00fd-11ea-ac54-9d3618dabf3e.mp4