Gif animé avec ImageMagick sur Linux

Retour aux articles Dans #t-as-vu le 11/09/2015 par Emmanuel BALLERY

Créer un GIF

J'ai pris l'habitude d'utiliser ma GoPro un peu partout. Une des fonctionnalités que j'aime particulièrement est celle qui permet de créer des time-laps/accélérés : prendre des photos à intervalles réguliers, relativement longs, pendant une durée conséquente, pour former une animation en accéléré.

Sauf si vous aimez regarder 500 photos qui ne changent parfois que très peu, il est nécessaire de compresser et d'accélerer l'affichage de ces photos en une vidéo ou un GIF animé, qui n'est autre qu'une image qui en contient plusieurs et qui les affiche les unes à la suite des autres.

Sur linux j'utilise convert de ImageMagick :

La création d'un GIF animé depuis un dossier contenant toutes vos photos est assez simple :

delay étant l'intervalle entre deux images en millisecondes et loop permettant de définir combien de boucle doit faire cette animation (0 la faisant tourner en boucle à l'infini). Ici, je sélectionne toutes les images *.JPG et je crée une nouvelle image animée nommée animated.gif.

GIF animé

Voir : http://www.imagemagick.org/Usage/anim_basics/

Diminuer la taille du fichier

Il est conseillé avant tout de diminuer la résolution des photos, sinon l'image finale risque d'avoir un poids très conséquent :

Ici, le paramètre resize indique de redimensionner les photos avec une largeur de 640px, en conservant le ratio. Attention, les images seront écrasées.

Voir : http://www.imagemagick.org/Usage/resize/

Si vous avez un grand nombre d'images, il est possible que vous n'ayez pas assez de RAM pour transformer toutes ces données en une seule commande. Vous pouvez alors éxécuter cette redimension image par image à l'aide de la commande find :

Créer une vidéo

Pour aller plus loin, il est aussi possible de convertir ces images en vidéo avec ffmpeg/avconv (sudo apt-get install ffmpeg ou sudo apt-get install libav-tools) :

Ici, le paramètre start_number indique le début de la numérotation, r l'intervalle entre deux images en millisecondes, i le pattern qui permet de sélectionner les images, y écrase le fichier s'il existe et an désactive l'enregistrement audio.

Retour aux articles