Quelle commande utiliserais-je pour convertir un fichier vidéo mp4 ou mv4 en un gif animé, et vice versa. Autrement dit, convertissez un gif animé en mp4 ou mv4.
Voici ce qui a fonctionné pour moi:
ffmpeg -i animated.gif -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" video.mp4
movflags - Cette option optimise la structure du fichier MP4 afin que le navigateur puisse le charger le plus rapidement possible.
pix_fmt - Les vidéos MP4 stockent des pixels dans différents formats. Nous incluons cette option pour spécifier un format spécifique qui a une compatibilité maximale entre tous les navigateurs.
vf - Les vidéos MP4 utilisant H.264 doivent avoir des dimensions divisibles par 2. Cette option garantit que c'est le cas.
Source: http://rigor.com/blog/2015/12/optimizing-animated-gifs-with-html5-video
Dans mon cas, l'utilisation de ffmpeg
a directement fait l'affaire et a donné le meilleur résultat:
$ ffmpeg -f gif -i infile.gif outfile.mp4
Si vous voulez faire la sortie en "n boucles", regardez cette solution d'un coup
Donc, convertissons un normal.gif en loop.mp4
pour 2 boucles exemple de film:
ffmpeg -stream_loop 2 -i normal.gif loop.gif -y;ffmpeg -i loop.gif -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" loop.mp4 -y
pour 5 boucles exemple de film:
ffmpeg -stream_loop 5 -i normal.gif loop.gif -y;ffmpeg -i loop.gif -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" loop.mp4 -y
ATTENTION: il y a - y [facultatif pour l'écrasement]
La version de MacOs est la suivante:
$ ffmpeg -i input.avi -pix_fmt yuv420p output.mp4
Une autre façon de convertir une animation GIF en vidéo:
ffmpeg -i your_gif.gif -c:v libvpx -crf 12 -b:v 500K output.mp4
Les valeurs -crf peuvent aller de 4 à 63. Des valeurs plus faibles signifient une meilleure qualité. -b: v est le débit binaire maximal autorisé. Plus haut signifie meilleure qualité.