я не могу установить продолжительность видео в Zoom & Pan с Fade In / Out Transition - PullRequest
0 голосов
/ 03 октября 2018

Я новичок в ffmpeg.Я делаю Zoom & Pan с Fade In / Out Transition на изображении, чтобы сделать видео, я использовал этот скрипт, но это для 4 изображений, и я хочу только для одного изображения, поэтому я попробовал эту команду:

ffmpeg -y -loop 1 -i 1.jpg -filter_complex "\
[0:v]setpts=PTS-STARTPTS,scale=w='if(gte(iw/ih,1280/720),-1,1280)':h='if(gte(iw/ih,1280/720),720,-1)',crop=1280:720,setsar=sar=1/1,format=rgba,split=2[stream1out1][stream1out2];\
[stream1out1]trim=duration=1,select=lte(n\,30),split=2[stream1in][stream1out];\
[stream1out2]trim=duration=2,select=lte(n\,60)[stream1];\
[stream1in]fade=t=in:s=0:n=30[stream1fadein];\
[stream1out]fade=t=out:s=0:n=30[stream1fadeout];\
[stream1fadein][stream1][stream1fadeout]concat=n=3:v=1:a=0,scale=1280*5:-1,zoompan=z='min(pzoom+0.002,2)':d=1:x='iw/2-(iw/zoom/2)':s=1280x720 ,format=yuv420p[video]" -map [video] -vsync 2 -async 1 -rc-lookahead 0 -g 0 -profile:v main -level 42 -c:v libx264 -r 30 df.mp4   

Работает нормально, но генерирует 4-секундное видео.Поэтому я запутался в том, как установить продолжительность видео в этой команде.

1 Ответ

0 голосов
/ 04 октября 2018

Эта команда намного сложнее, чем должна быть.

Используйте

ffmpeg -y -i 1.jpg \
       -vf "scale=w='if(gte(iw/ih,1280/720),-1,1280*5)':h='if(gte(iw/ih,1280/720),720*5,-1)',\
            crop=1280*5:720*5,setsar=1,\
            zoompan=z='min(zoom+0.002,2)':d=X:x='iw/2-(iw/zoom/2)':s=1280x720,\
            fade=in:s=0:n=25,fade=out:s=X-25:n=25,format=yuv420p" \
       -c:v libx264 -profile:v main df.mp4

Замените X в зум-панеле и постепенно уменьшайте количество кадров, которое вы хотите.Поток кадров в секунду равен 25, поэтому длительность равна X / 25 в секундах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...