Combinaison d'un zoom et d'un fondu avec ffmpeg
L'exemple que vous avez donné avec ffmpeg
a en fait fonctionné avec très peu de modifications (en gardant -loop
a provoqué une erreur de segmentation : " Error in 'ffmpeg': double free or corruption (!prev): 0x0000000008dffa00
").
Donc nous avons :
ffmpeg \\
-t 5 -i 1.jpg \\
-t 5 -i 2.jpg \\
-t 5 -i 3.jpg \\
-t 5 -i 4.jpg \\
-filter\_complex \\
"\[0:v\]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=out:st=4:d=1\[v0\]; \\
\[1:v\]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1\[v1\]; \\
\[2:v\]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1\[v2\]; \\
\[3:v\]zoompan=z='if(lte(zoom,1.0),1.5,max(1.001,zoom-0.0015))':d=125,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1\[v3\]; \\
\[v0\]\[v1\]\[v2\]\[v3\]concat=n=4:v=1:a=0,format=yuv420p\[v\]" -map "\[v\]" -s "800x450" -t 40 ./out\_fade.mp4
Exemple de sortie :
La qualité des pommes de terre. Je dois trouver gif
une meilleure optimisation ! Les artefacts et la distorsion sont le résultat de la tentative d'obtenir une taille de fichier < 2MB et ne sont pas présents dans la sortie vidéo originale - cela devrait être suffisant pour vous donner une idée de l'adéquation avec votre cas d'utilisation. Les images sont de moi.
(supplémentaire) Utilisation de transitions variées ou arbitraires
ajouté sur la base des commentaires
Même avec cet exemple minimal, le filtergraph
devient assez rapidement complexe, et il est fastidieux de modifier les choses. Une autre bibliothèque pourrait faire mieux.
MLT / MELT
Par exemple, MELT
pour le cadre MLT pourrait le faire :
Melt a été développé comme un outil de test pour le cadre MLT. Il peut être considéré comme un puissant, bien qu'un peu obscur, éditeur vidéo multipiste orienté ligne de commande.
et est fréquemment suggéré.
MoviePy
Cependant, MoviePy (page GitHub) pourrait mieux répondre à vos besoins, car il est légèrement plus concis et (je dirais) plus convivial, dans la mesure où un éditeur vidéo en ligne de commande peut être convivial.
Vous êtes probablement plus intéressé par les sections sur compositing y transitions/effets
Je suggère les deux ci-dessus en me basant sur ma propre expérience de tentative d'introduction de transitions avec ffmpeg
C'est faisable et capable de produire des effets très décents, mais la douleur n'en vaut pas la peine. Le script ci-dessus devrait répondre à votre question concernant un zoom arrière continu avec un fondu avant/arrière.