human
Je convertis une vidéo en fichier GIF avec ```ffmpeg```:
```ffmpeg \
  -i input.flv \
  -ss 00:00:00.000 \
  -pix_fmt rgb24 \
  -r 10 \
  -s 320x240 \
  -t 00:00:10.000 \
  output.gif
```
Ça fonctionne très bien, mais le fichier gif de sortie a une qualité très faible.
Des idées sur comment améliorer la qualité du gif converti
gpt
Si vous préférez éviter les fichiers d'image intermédiaires, les commandes fournies par LordNeckBeard peuvent être utilisées en tant que tubes entre ```ffmpeg``` et ```convert``` d'ImageMagick afin de ne pas nécessiter de fichiers intermédiaires :
```ffmpeg -i input.flv -vf scale=320:-1 -r 10 -f image2pipe -vcodec ppm - | convert -delay 10 -loop 0 - output.gif
```
Le ```-f image2pipe``` indique à ffmpeg de diviser la vidéo en images et de la rendre adaptée à la sortie en tant que tube, et ```-vcodec ppm``` spécifie le format de sortie en ppm (pour une raison quelconque, si le format est png, soit ```convert``` ne lit pas toutes les images du tube, soit ffmpeg ne les produit pas toutes). Le ```-``` pour les deux commandes spécifie qu'un tube sera utilisé pour la sortie et l'entrée respectivement.
Pour optimiser le résultat sans enregistrer de fichier, vous pouvez envoyer la sortie de ```convert``` à une deuxième commande ```convert``` :
```ffmpeg -i input.flv -vf scale=320:-1 -r 10 -f image2pipe -vcodec ppm - | convert -delay 10 -loop 0 - gif:- | convert -layers Optimize - output.gif
```
Le ```gif:-``` indique à ```convert``` de transmettre sa sortie sous forme de données formatées en gif et ```-layers Optimize``` indique à la deuxième commande ```convert``` d'effectuer les méthodes ```optimize-frame``` et ```optimize-transparancy``` (voir l'introduction à l'optimisation de l'animation d'ImageMagick). Notez que la sortie de ```-layers Optimize``` ne fournit pas toujours une taille de fichier plus petite, vous voudrez donc peut-être essayer de convertir en gif sans optimisation d'abord pour être sûr.
Rappelez-vous que pendant tout ce processus, tout est en mémoire, vous devrez donc disposer d'une mémoire suffisante si les images sont assez grandes.