Este artículo explica cómo convertir rápidamente un GIF animado a video MP4 desde línea de comandos con ffmpeg. Las ventajas de usar videos en lugar de GIFs animados (especialmente en sitios Web) son que lucen mejor (en cuanto a calidad y fluidez) y ocupan mucho menos espacio.



Supongamos que tengo el siguiente GIF el cual he creado con GIMP: CLAA-2_niveles-animacion-400px.gif

Para convertirlo rápidamente a video en formato MP4, utilizando el codec H.264 (incluido en la especificación HTML5 y optimizado para navegadores), simplemente ejecutar:

$ ffmpeg -i CLAA-2_niveles-animacion-400px.gif \
    -movflags faststart \
    -pix_fmt yuv420p \
    -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" \
    CLAA-2_niveles-animacion-400px.mp4

El resultado es el siguiente video:

Los parámetros utilizados son los siguientes:

  • movflags: esta opción optimiza la estructura del archivo MP4 para que los navegadores puedan cargarlo lo más rápido posible.
  • pix_fmt: los videos MP4 almacenan los pixeles en diferentes formatos. Se especifica un formato compatible entre la mayor cantidad posible de navegadores.
  • vf: los videos MP4 que utilizan el codec H.264 necesitan tener dimensiones divisibles por 2. Esta opción se asegura que el video respete este requisito.

Visualmente el resultado es idéntico, pero el tamaño se ha reducido considerablemente, manteniendo la calidad:

$ ls -lh CLAA*
-rw-r--r-- 1 emi emi 327K May  5 15:36 CLAA-2_niveles-animacion-400px.gif
-rw-r--r-- 1 emi emi  29K May  5 15:39 CLAA-2_niveles-animacion-400px.mp4

Se ha disminuido de 327 KBytes a tan solo 29 KBytes. En definitiva, se debe fomentar el uso de videos codificados con H.264 por sobre el uso de GIFs animados para sitios Web. Tanto para optimizar tamaño como calidad de imagen.

En el enlace en las referencias se explica en detalle por qué es mejor utilizar videos en lugar de GIFs para animaciones y videos en sitios Web.

Referencias


Tal vez pueda interesarte


Compartí este artículo