Tuve la necesidad de convertir un video en formato OGV a GIF (imagen animada) y, una vez más, recurrí a ffmpeg
, el cual me dio excelentes resultados en comparación a las herramientas online disponibles de manera gratuita en Internet.
Para convertir un video a GIF con ffmpeg
, es tan simple como ejecutar desde línea de comandos:
$ ffmpeg -i VIDEO SALIDA.gif
VIDEO
es el archivo de video que se desea convertir y SALIDA.gif
es el GIF resultante.
Este comando produce un archivo .gif
con las mismas dimensiones y duración del video de entrada.
También es posible recortar una parte del video utilizando las opciones -t
y -ss
.
Con -t
se especifica la duración (en segundos) y con -ss
el tiempo de inicio en formato hh:mm:ss
. Por ejemplo, si se desea obtener un GIF de 5 segundos a partir de los 10 segundos desde el inicio (es decir desde el tiempo 00:00:10 hasta 00:00:15), ejecutar:
$ ffmpeg -t 5 -ss 00:00:10 -i VIDEO SALIDA.gif
Ejemplo
A partir del siguiente video (atop.ogv
), cuya dimensión es de 1232x720 pixeles:
Deseo convertirlo a GIF:
emi@hal9000:~ % ffmpeg -i atop.ogv atop-original.gif
El resultado es el siguiente GIF (clic para ver en tamaño original):

El cual sorprendentemente ocupa menos de 800 KB:
emi@hal9000:~ % ll -h atop-original.gif -rw-r--r-- 1 emi wheel 792K Jun 8 08:30 atop-original.gif
Si además de convertirlo a GIF se desea modificar su dimensión, es posible recurrir a la opción -vf
de la siguiente forma: -vf scale=800:-1:flags=lanczos
. La escala indica el ancho que se desea, en este caso 800 pixeles (la altura se calcula proporcionalmente):
emi@hal9000:~ % ffmpeg -i atop.ogv -vf scale=800:-1:flags=lanczos atop.gif

El resultado es un GIF de 800x468 pixeles de apenas 362 KB:
emi@hal9000:~ % ll -h atop.gif -rw-r--r-- 1 emi wheel 362K Jun 8 09:14 atop.gif
En Internet existen cientos de herramientas online para convertir video a GIF de manera gratuita, con lo cual se me ocurrió probar una para comparar los resultados (en cuanto a dimensiones, duración, tamaño y calidad). En este caso ezGIF (primero en los resultados de la búsqueda de Google):

Se observa que para conseguir un GIF de 800x468 con la misma duración del video, el resultado es de casi 1 MB. Esto es el triple de tamaño en comparación al GIF creado directamente con ffmpeg
.
Para más información sobre ffmpeg
, recurrir a su página de manual:
man ffmpeg
Referencias
Tal vez pueda interesarte