Una de las mejores utilidades para la conversión de archivos es sin duda FFmpeg, la mayoría de los programas más conocidos lo utilizan; pues es capaz de grabar, convertir, e incluso hacer streaming de audio y vídeo. Además de eso, es tan fácil de instalar en casi cualquier SO conocido (GNU/Linux, Mac y Windows).
¿Cómo convertir un vídeo en una imagen gif?
De la misma forma en que se convierte un vídeo a otro formato, por ejemplo….pero en lugar de escoger un formato de vídeo, pondremos el formato gif.
video.mp4 es la localización del vídeo en su ordenador, no tiene necesariamente que ser mp4, puede ser avi o cualquier otro; en mi caso, usaré un vídeo en formato MP4.
ffmpeg -i video.mp4 imagen.gif
Hasta ahí bien, hemos convertido un vídeo completo a una imagen gif….pero ¿necesariamente tiene que ser todo el vídeo? ¿y si sólo queremos una gif corta? pues, reducimos el tiempo de duración, de la siguiente forma.
se agrega -t al inicio, como bien sabemos -i significa input, por ello -t es una indicación de duración, en este caso 5 segundos.
ffmpeg -t 5 -i video.mp4 imagen.gif
¡Listo! hemos creado una gif de 5 segundos, pero ¿y si se ve lento? no hablamos de velocidad, sino de tirones, al más puro lag gamer….. no hay problema ffmpeg tiene la solución….para ello, hacemos lo siguiente.
se agrega -r al inicio, se trata de una indicación para cambiar la velocidad de fotogramas, en este caso, a 30.
ffmpeg -t 5 -i video.mp4 -r "30" imagen.gif
Ahora, ¿qué sucede si tengo un vídeo largo, y deseo empezar desde determinado punto, digamos, a partir del segundo 5? sigue sin haber problema, basta con añadir lo siguiente.
ffmpeg -t 5 -ss 0.5 -i video.mp4 -r "30" imagen.gif
Se añadió -ss para indicar el punto de inicio, en este caso 5 segundos.
Y bueno, ya tenemos una gif que dura 5 segundos, inicia a partir del segundo 5 del vídeo y va a 30 fotogramas ¿qué puede faltar? pues, algo muy importante ¡El tamaño de la imagen! no necesariamente queremos una gif en HD, podemos simplemente querer una pequeña gif ¿qué podremos hacer? pues..añadimos -s y seguido de eso, la resolución que deseamos.
ffmpeg -t 5 -ss 0.5 -i video.mp4 -r "30" -s 300x200 imagen.gif
Acá una gif creada a partir de este tutorial