Convertir une animation GIF en AVI, SWF, ...

Rédigé par Alain Olivetti - -
Il m'arrive régulièrement de réaliser des animations au format GIF car j'utilise Gnuplot pour visualiser les résultats de mes simulations numériques. Cependant, le format GIF n'est pas forcement le plus adapté pour diffuser ces animations. En général, on préférera un format flash pour diffuser les animations sur une page web (bien que le format GIF soit aussi supporté) ou bien le format AVI ou MPEG. Pour convertir l'animation flash j'utilise : ImageMagick et FFmpeg.
  • 1ère étape : convertir l'animation GIF, que j'appelerais dans la suite ``Animation.gif'', en une succession d'image. Pour cela il suffit d'utiliser la commande (en terminal) :
    $ convert Animation.gif Animation%05d.gif
    
    Ici le ``%05d'' permet de générer des fichiers dont la numérotation sera repartie entre 00000 et 99999. Le nombre total de fichier créé dépend du nombre d'image qui compose l'animation.
  • 2ème étape : assembler les images GIF dans un autre format video. Pour cela, on peut utiliser :
    • Pour une animation flash : $ ffmpeg -sameq -r 24 -i Animation%05d.gif -s 400x300 Animation.swf
    • Pour une animation mpg : $ ffmpeg -sameq -r 24 -i Animation%05d.gif -s 400x300 Animation.mpg
    On pourra remarquer que le choix du format de la nouvelle animation/video peut être spécifié uniquement dans l'extension du fichier de sortie. En ce qui concerne les différentes options, voici leurs rôles :
    • ``-sameq'' : fait en sorte de conserver la qualité des images de départ. La video final sera beaucoup volumineuse mais aussi de meilleurs qualité.
    • ``-r ??'' : précise le nombre d'image par seconde. Il faut remplacer ``??'' par le nombre d'image que l'on souhaite.
    • ``-i'' : précise le nom des fichiers d'entré.
    • ``-s ???x???'' : permet de spécifier la taille en pixel de la video de sortie en remplaçant ``???x???'' par le nombre de lignes puis le nombre de colonnes.
Pour finir, notons une ou deux petites choses :
  • On peut utiliser le même genre de commande pour réaliser des animations à partir d'image JPG, ...
  • Dans le cas d'image GIF issue de gnuplot, le ratio qualité/taille de la video est meilleur en utilisant l'option ``-sameq'' et en diminuant le nombre de pixel de la video.