Existe-t-il un outil pour créer une gif
animation à partir d'un ensemble de png
fichiers?
J'ai essayé la convert
commande de la suite ImageMagick , mais cela ne réussit pas toujours. En outre, j'ai plusieurs problèmes avec ceci:
- Je ne peux pas dire quels sont les progrès.
- Quoi que j'essaye, le
-delay
drapeau ne change pas le taux de trame de l'animation gif. convert
détermine l'ordre des images en fonction de l'ordre alphabétique des noms de fichiers. Cela signifie que cename500.png
sera placé juste aprèsname50.png
et pas après quename450.png
je puisse résoudre ce problème en ajoutant des 0 mais c'est ennuyeux.
convert
après le tri des fichiers. Probablement, quelque chose comme ça marchefiles=$(ls name*png | sort -n -tname -k1); convert $files animation.gif
-monitor
paramètre qui suit le processusconvert -delay 200 -loop 0 *.jpg output.gif
.Réponses:
Vous pouvez également essayer d’utiliser
ffmpeg
pour créer un film à partir d’une séquence d’images, puis convertir le film en animation GIF (à nouveau avecffmpeg
).la source
sameq
option n'est plus disponible. De plus, pour moi, cela écrase les fichiers d’image originaux et ne produit pas de fichier vidéo valide.-sameq
code là-bas? Pourquoi voudriez-vous même utiliser un format vidéo avec perte (output.mp4
) à titre temporaire? Et si oui, pourquoi "même qualité" que l'entrée, au lieu d'un débit très élevé? Cela ne fera qu'empirer les choses pour le codeur GIF. Si vous aviez besoin d'utiliser une vidéo à titre temporaire, vous voudriez utiliser quelque chose sans perte comme huffyuv. Ou MJPEG sans transcodage, il suffit de remuxer les jpeg d’entrée dans un MJPEG. (-codec:video copy
)convert
est un outil pratique en ligne de commande pour le faire.cd
dans le dossier contenant vos fichiers png et exécutez la commande suivante:Source: http://ubuntuforums.org/showthread.php?t=1132058
la source
convert
et quelques problèmes d'utilisation. Votre réponse ne répond à aucun d'entre eux.6.8.7-4 2013-11-02 Q16
cela a fonctionné pour moi.10
signifie 10 * 10ms, donc assez vite. Un délai de a100
est 1 seconde.-dispose previous
ou-dispose 2
si vous travaillez avec des PNG transparentspic_{0..20..2}.png
développe pourpic_0.png
,pic_2.png
tout le chemin àpic_20.png
Le
convert
« s--delay
option ne concerne que l'image suivante sur la ligne de commande. Ainsiconvert -delay 10 *
, le délai de la première image ne sera réglé qu'à 0,1 seconde. L'option doit être répétée:Pour vos besoins de tri, convertir ne trie pas les cadres, mais le globing de shell le
*
fait. Si vous savez que vos images sont numérotées de 0 à 700, vous pouvez simplement calculer les nombres vous-même:la source
convert
, pour moiconvert -delay 1000 -loop 0 *.png animation.gif
ajoute un délai de 10 secondes entre chaque image.ls
commande. C'est-à-dire:convert -delay 1000 $(ls -v name*png) output.gif
Mise à jour:
Utilisez
convert
pour le png-to-gif, puis utilisez gifsicle pour l'animation. Ce n'est pas une solution unique, mais scriptable, bien sûr.GIMP peut créer des gifs animés et permet de contrôler le chronométrage / retard et la répétition, etc.
la source
ImageMagick peut générer une animation GIF de bonne qualité. Regardez cette vidéo - http://www.youtube.com/watch?v=OFusYizJ-bA
la source
convert -delay 200 -loop 0 *.jpg output.gif
ffmeg options GIF importantes + données de test
Pour compléter cette réponse :
Les données de test ont été générées avec: https://stackoverflow.com/questions/3191978/how-to-use-glut-opengl-to-render-to-a-file/14324292#14324292
Les
ffmpeg
options importantes que je voulais souligner sont les suivantes:-patter_type glob
: moyen pratique de sélectionner des images-framerate 60
et-r 15
: supposons 60 images par seconde sur les images en entrée (ffmpeg
impossible de le savoir car il n’ya pas de données FPS dans les images comme dans les formats vidéo), choisissez-en une toutes les 4 images afin de réduire la taille (4 == 60 / 15
)-vf scale=512:-1
: définir la largeur, la hauteur de l'échelle proportionnellement, généralement pour réduire la taille et économiser de l'espaceVoir également:
Testé sous Ubuntu 18.10, ffmpeg 4.0.2.
la source
En ce qui concerne le point 2
La version d'ImageMagick "" display "que j'ai (ImageMagick 6.7.2-7 2017-01-12) ignore la cadence de prise de vue définie à l'aide de la commande convert pour générer le gif animé. Essayez un autre programme pour voir le gif animé comme Firefox.
la source