L'un des meilleurs outils que j'utilise est ffmpeg
. Il peut prendre la plupart des vidéos d'un outil de capture vidéo tel que kazam
et le convertir dans un autre format.
Installez-le depuis software-center - il s’installera automatiquement si vous installez l’excellent package ubuntu-restricted-extras
.
Kazam peut afficher les formats vidéo mp4
ou webm
. En général, vous obtenez de meilleurs résultats en affichant le format mp4
.
exemple de syntaxe de création de GIF
La syntaxe de base pour convertir une vidéo en gif est la suivante:
ffmpeg -i [inputvideo_filename] -pix_fmt rgb24 [output.gif]
Les fichiers GIF convertis, en particulier ceux qui ont une taille standard de 25/29 images par seconde, peuvent être très volumineux. Par exemple, une vidéo Webm de 15 secondes à 25 images par seconde peut produire 435 Mo!
Vous pouvez réduire cela par un certain nombre de méthodes:
framerate
Utilisez l’option -r [frame-per-second]
par exemple ffmpeg -i Untitled_Screencast.webm -r 1 -pix_fmt rgb24 out.gif
Taille réduite de 435 Mo à 19 Mo
limite de taille de fichier
Utilisez l’option -fs [filesize]
par exemple ffmpeg -i Untitled_Screencast.webm -fs 5000k -pix_fmt rgb24 out.gif
Remarque: il s’agit d’une taille de fichier de sortie approximative, de sorte que la taille peut être légèrement supérieure à celle spécifiée.
taille de la vidéo de sortie
Utilisez l'option -s [widthxheight]
par exemple ffmpeg -i Untitled_Screencast.webm -s 320x200 -pix_fmt rgb24 out.gif
Cela a réduit l’exemple de taille de vidéo 1366x768 à 26 Mo
boucle pour toujours
Parfois, vous voudrez peut-être que le GIF se boucle pour toujours.
Utilisez l’option -loop_output 0
ffmpeg -i Untitled_Screencast.webm -loop_output 0 -pix_fmt rgb24 out.gif
optimiser et réduire encore
si vous utilisez imagemagick
convert
avec un facteur de fuzz compris entre 3% et 10%, vous pouvez réduire considérablement la taille de l'image
convert output.gif -fuzz 3% -layers Optimize finalgif.gif
enfin
combinez certaines de ces options pour réduire à quelque chose de gérable pour Ask Ubuntu.
ffmpeg -i Untitled_Screencast.webm -loop_output 0 -r 5 -s 320x200 -pix_fmt rgb24 out.gif
suivi de
convert output.gif -fuzz 8% -layers Optimize finalgif.gif
exemple