Convertir video a gif animado

Dos de las opciones que recomiendo son ffmpeg y gifski., recuerda que puedes instalar Linux en Windows Subsystem for Linux WSL / WSL2.

Con ffmpeg

He instalado Ubuntu en WSL.

En Linux

Actualizamos

sudo apt update && sudo apt upgrade

Instalamos ffmpeg

sudo apt install ffmpeg

En MacOs

Instala Homebrew y ffmpeg desde la terminal.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install ffmpeg

Convertimos con ffmpeg a gif

Nos ubicamos en la carpeta donde se encuentra nuestro video.

ffmpeg -i Install_nodejs.mp4 -filter:v fps=10 Install_nodejs.gif

Sintaxis:

ffmpeg -i [video_a_convertir.mp4] -filter:v fps=[valor_fps] [archivo_de_salida.gif]

Comprendamos las opciones de ffmpeg:
-i Indica cual video ingresaremos (en input) espacio y después del video, para este caso convertiremos Install_nodejs.mp4
-filter:v fps=10 indico 10 fps fotogramas por segundo (Frame rate)
Install_nodejs.gif indicamos el nombre del archivo gif de salida.

Como podemos apreciar el tamaño / calidad del gif deja mucho que desear por lo que recomiendo gifski, en cual veremos a continuación.

P.D. Tambien he echo pruebas con gifsicle, pero no hay como gifski.

Con gifski

Si lugar a duda gifski es mejor que ffmpeg en lo que gifs animados se refiere.

En Linux

Descargamos e instalamos su ultimo release de Github

wget https://github.com/ImageOptim/gifski/releases/download/1.13.0/gifski_1.13.0-1_amd64.deb

sudo apt install ./gifski_1.13.0-1_amd64.deb

En MacOs

Ya instalado Homebrew, instalamos gifski desde la terminal.

brew install gifski

Convertir video a gif animado

gifski --fps 2 -o Install_nodejs.gif Install_nodejs.mp4

Sintaxis de su uso:

gifski --fps [valor_fps] -o [archivo_de_salida.gif ] [video_a_convertir.mp4]


Le he dado un valor de 2 a los –fps fotogramas por segundo (cuantas imágenes se mostrara por segundo)., podemos jugar con este teniendo en cuenta que entre mas tenga el archivo gif sera mas pesado.

Comparativa

Con ffmpeg:

Con gifski:

Como vemos el ganador es gifski mostrando una calidad del GIF superior y con un archivo mas pequeño 349KB vs 398KB de ffmpeg.

Convertirlo y cambiar el tamaño de salida del gif

Podernos cambiarlo de tamaño con la opción de ancho --widht [valor_en_pixeles] y el alto se ajustara en relación al tamaño del video.

gifski --fps 2 --width 320 -o Install_nodejs_320.gif Install_nodejs.mp4

Alternativas para Windows

https://macroplant.com/adapter

Alternativas para MacOS

https://mortenjust.github.io/droptogif

Alternativas Multiplataforma (Web)

https://ezgif.com/video-to-gif
https://new.express.adobe.com/tools/convert-to-gif
https://www.img2go.com/es/convertir-video-a-gif

Script en Python para convertir todos los archivos .mp4 a .gif animados con gifski

He creado el archivo convert_mp4_to_gif.py y lo he colocado en la carpeta donde se encuentran todos mis videos mp4 a convertir a gif animados.

import os

path = ('./')
folder = os.listdir(path)

for file in folder:
    if file.find('.mp4') > 0:
        remp_name = file.replace('.mp4', '.gif')
        convert = 'gifski --fps 2 -o ' + remp_name + ' ' + file
        os.system(convert)

Por ultimo desde la terminal ejecuto:

 python3 convert_mp4_to_gif.py

Procesara por lotes todos los archivos de video a gifs animados.

View more articles
  • Arduino – 3. Lenguaje de programación C / C++

    Para programar el microcontrolador de nuestra placa Arduino se utiliza una versión reducida del lenguaje C / C++, dentro del sitio oficial podemos encontrar toda la documentación de referencia https://www.arduino.cc/reference/en/., aquí te comparto las que yo considero mas importante. Comentarios Los comentarios son muy útiles a la hora de interpretar el código, ya que lo…

  • Arduino – 6. Ejercicio Semáforo

    Requerimos Conectamos el PIN GND al protoboard a la fila / bus negativa ( – ) y de ahí tomamos un cable a cada cátodo del los Leds, colocamos las resistencias al ánodo de cada Led, del PIN 12 a la resistencia del Led Rojo, del PIN 11 a la resistencia del Led Amarillo y…

  • Arduino – 5. Mi primer código encender un LED

    Aprendamos primero Como funcionan los LED Resistencias Y protoboard Requerimos Conectamos del Pin GND de la Tarjeta UNO R3 al cátodo (el cable negro que se muestra en la image) y el Pin 12 a la resistencia, y la resistencia al ánodo del LED. Recuerda que cuando los Pines Digitales están en ON se encuentran…