Utiliser Asciinema et créer des gifs



Enregistrer la saisie

asciinema rec demo.cast

Appuyez sur Ctrl + D lorsque l’enregistrement est terminé.

asciinema upload demo.cast renverra une adresse où vous trouverez comment intégrer l’enregistrement à une page web ou le télécharger au format gif.

Vous pouvez ajouter data-autoplay="true" data-loop="true" à la page.


Utilisation de scripts

Le script asciinema-rec_script peut être utilisé pour enregistrer l’exécution d’un script.

Pensez à charger l’environnement requis par le script exécuté. Actuellement, asciinema-rec_script ne prend pas en charge la connexion SSH à des hôtes distants ni l’exécution de commandes sur ceux-ci.

asciinema-rec_script script_name.sh


Agg : de .cast au gif

Assurez-vous de :

agg --theme asciinema --font-size 50 --cols 132 --rows 22 --speed 2  ifarm.cast ifarm.gif

Note

En novembre 2025, asciinema est en v3 mais agg ne prend en charge que la v2. Pour convertir un enregistrement v3 en v2 :
asciinema convert -f asciicast-v2 a.cast a-v2.cast


ffmpeg : de .mov au gif

Voici un exemple pour convertir un fichier mov en gif. Les deux étapes garantissent des couleurs optimales :

ffmpeg -i input.mov -vf "fps=15,scale=800:-1:flags=lanczos,palettegen" -y palette.png
ffmpeg -i input.mov -i palette.png -lavfi "fps=15,scale=800:-1:flags=lanczos[x];[x][1:v]paletteuse" -loop 0 output.gif

où :


Astuces supplémentaires pour les gifs

Pour concaténer 3 gifs :


W=860
H=600
FPS=15

ffmpeg -i a.gif -i b.gif -i c.gif \
  -filter_complex "\
[0:v]fps=${FPS},scale=${W}:${H}:force_original_aspect_ratio=decrease,pad=${W}:${H}:(ow-iw)/2:(oh-ih)/2[v0]; \
[1:v]fps=${FPS},scale=${W}:${H}:force_original_aspect_ratio=decrease,pad=${W}:${H}:(ow-iw)/2:(oh-ih)/2[v1]; \
[2:v]fps=${FPS},scale=${W}:${H}:force_original_aspect_ratio=decrease,pad=${W}:${H}:(ow-iw)/2:(oh-ih)/2[v2]; \
[v0][v1][v2]concat=n=3:v=1:a=0,scale=${W}:${H},split[x][y]; \
[x]palettegen=reserve_transparent=1[p]; \
[y][p]paletteuse=dither=bayer" \
  -loop 0 out.gif

où :


Pour s’assurer qu’un gif boucle indéfiniment :

ffmpeg -i in.gif \
  -filter_complex "fps=15,split[x][z];[x]palettegen[p];[z][p]paletteuse" \
  -loop 0 out.gif