Question ffmpeg - comment créer un effet de zoom vidéo de 5 secondes avec 1 image


Je sais comment effectuer un effet de zoom vidéo de 5 secondes avec 1 image en utilisant Zoompan.

ffmpeg -loop 1 -i image1.jpg -vf "zoompan=z='min(zoom+0.0015,1.5)':d=125" -c:v libx264 -t 5 -s "800x450" zoomin.mp4

Comment faire la vidéo "zoom arrière"?

essayé ci-dessous mais aucun d'entre eux ne fonctionne:

ffmpeg -loop 1 -i image1.jpg -vf "zoompan=z='min(zoom-0.0015,1.5)':d=125" -c:v libx264 -t 5 -s "800x450" zoomout.mp4

ffmpeg -loop 1 -i image1.jpg -vf "zoompan=z='max(1.5,zoom-0.0015)':d=125" -c:v libx264 -t 5 -s "800x450" zoomout.mp4

ffmpeg -loop 1 -i image_1.jpg -vf "zoompan=z='max(zoom-0.0015,1.5)':d=125" -c:v libx264 -t 5 -s "800x450" zoomin.mp4

4
2017-07-17 01:12


origine




Réponses:


Vous devez d'abord définir le facteur de zoom, car il est défini par défaut sur 1.0. J'ai pu faire comme ça:

ffmpeg -loop 1 -i image_1.jpg -vf "zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125" -c:v libx264 -t 5 -s "800x450" zoomout.mp4

Ce qui va commencer zoomé à 1,5 et zoomer 0,0015 à chaque itération. Notez que la valeur 1.001 a été utilisée (toute valeur supérieure à 1.0) pour s’assurer qu’elle ne ferait pas de zoom arrière au-delà de 1.0 et qu’elle serait réinitialisée à 1.5.

Une autre solution aurait été de simplement inverser la sortie de votre zoompan d'origine, mais après une recherche rapide, inverser la vidéo semble être un gros effort pour ffmpeg.


9
2018-01-29 03:51



Comment pouvons-nous supporter ceci pour plusieurs images concaténées? Je pensais que d = 125 fonctionnerait mais il y a un problème car l'image a tendance à y rester plus de 5 secondes - Killer


Calculez le z à partir de l'index d'images (on) et de la durée.

on/duration vous obtiendrez un pourcentage de 0 à 1 qui augmente chaque image.

1.5-on/duration*0.5 Vous donne un numéro de 1.5-1.

Tous ensemble:

ffmpeg -loop 1 -i image1.jpg -vf "zoompan=z='1.5-on/duration*0.5':d=125" -c:v libx264 -t 5 -s "800x450" zoomin.mp4

1
2018-01-15 20:42