J'essaie d'extraire une partie d'une vidéo dans un gif animé en utilisant la commande suivante:
ffmpeg -i video.avi -t 5 out.gif
Il génère un gif animé mais la qualité est folle. Cependant, lorsque je génère une image gif en utilisant:
ffmpeg -i video.avi -t 10 out%d.gif
Il génère une qualité acceptable d'images gif. Comment puis-je générer un gif animé en utilisant la première commande mais la même qualité que la deuxième commande?
J'ai eu un problème similaire en essayant de générer un gif animé de haute qualité à partir d'une série d'images extraites d'un film.
Pour certaines raisons, le gif animé généré avec ffmpeg ne contient que 103 couleurs pouvant être utilisées à l'aide d'une palette de couleurs système à 256 niveaux, ce qui donne un résultat horrible. Ma solution était plutôt
ffmpeg -i video.avi -t 10 out%02d.gif
puis
gifsicle --delay=10 --loop *.gif > anim.gif
La qualité est alors assez bonne. Vous pouvez trouver des gifsicle ici
Modifier: Mise à jour du message pour refléter les suggestions d'Alex Kahn.
Je n'ai pas fait de GIF animé auparavant, mais vous pouvez essayer d'utiliser le paramètre de débit binaire pour spécifier la qualité, bien qu'il s'agisse d'une image (et probablement sans débit). La qualité des miniatures répond au paramètre -b. Si par fou, vous voulez dire "incroyablement mauvais", vous pouvez spécifier une très haute tolérance de débit et de débit (vous ne savez pas si vous utilisez une source vbr ou cbr). (ou faites le contraire si vous pensez que c'est trop bon et que vous souhaitez limiter la taille)
'-b', '10000000','-bt', '20000000'
Alternativement, vous pouvez également modifier les dimensions en utilisant le paramètre -s, qui prendra une représentation ordinaire des dimensions comme "1920X1200".
Cela dépend vraiment du débit et de la compression de votre matériel source et de ce que vous espérez que le gif ressemblera. Pensez peut-être à fournir plus d'informations que "fou", mais j'imagine que cela vous donnera un bon départ dans les deux cas. Bonne chance