Créer un gif animé avec ffmpeg

Il y a quelques temps j’avais fait un post pour expliquer comment créer un gif animé avec GIMP, c’était un peu lourdingue et voilà une manière plus simple de le faire avec ffmpeg.

Je pars d’une vidéo réalisée avec kdenlive au format HD 1920×1080 de 7s au total qui fait 26,5Mo avec un framerate de 60 images par seconde. A cette occasion j’ai utilisé la fonction time remap pour jouer sur le ralenti et/ou accélération d’une vidéo. A vrai dire j’ai eu beaucoup de mal à m’en servir il n’est pas impossible qu’il y avait quelques bogues quand la fonction a été implantée sur kdenlive. Avec la dernière version 21.12.3 qui vient de sortir, ça a l’air de plutôt bien fonctionner. Sur mon tutoriel kdenlive, je donne les rudiments de l’utilisation de cette nouvelle fonctionnalité. Grosso modo, on place les images clés aux endroits qui vont bien sur la vidéo et on définit la vitesse avant et après chaque image clé, il faut être rigoureux pour ne pas s’embrouiller. On commence par l’image clé la plus à gauche et on est défini la vitesse après seulement.

La fonction time remap sous kdenlive

Revenons à notre gif, une fois qu’on a rendu la vidéo avec kdenlive, on tapera la commande suivante :

ffmpeg -y -i video.mp4 -filter_complex "fps=5,scale=480:-1:flags=lanczos" image.gif

Quelques explications sur la commande:

  • fps=5 permet de changer le framerate, c’est à dire qu’on va passer à 5 images par seconde, au pour réduire la taille du gif.
  • scale =480:-1 permet de passer d’un côté de 1920 à 480 et de conserver le ratio, la proportionnalité entre la largueur et la hauteur de l’image
  • flags=lanczos est l’algorithme choisi pour retailler la vidéo

Et voilà le résultat, avec un gif qui fait un peu moins de 2Mo.

Laisser un commentaire