Appearance
FFMPEG
FFMPEG es una herramienta de línea de comandos que nos permite manipular archivos de video e imágenes. Es una herramienta muy poderosa y con muchas opciones, aunque solo saber algunos comandos os puede ser de mucha utilidad.
¿Alguna vez usaste algun editor de video? ¿Algun conversor online? ¿Alguna vez te preguntaste como plataformas como Twitch o YouTube pueden retransmitir datos de video de manera eficaz a tantos usuario? Estas plataformas usan FFMPEG (o una version modificada por ellos) para realizar estas tareas.
Instalación
Para instalar FFMPEG en Ubuntu, ejecutamos el siguiente comando:
bash
sudo apt install ffmpeg
Para instalarlo en Windows, podemos descargarlo desde la página oficial.
Comandos
Version
Para comprobar que se ha instalado correctamente, podemos ejecutar el siguiente comando:
bash
ffmpeg -version
Convertir un video
Para convertir un video de un formato a otro, podemos ejecutar el siguiente comando:
Puedes cambiar "input.mp4" por el nombre del archivo que quieras convertir y "output.avi" por el nombre y formato que desees
bash
ffmpeg -i input.mp4 output.avi
Comprimir un video
Para comprimir un video, podemos ejecutar el siguiente comando cambiando "video_in.webm" por el nombre del archivo que quieras comprimir y "archivo_comprimido.mp4" por el nombre y formato que desees
bash
ffmpeg -i video_in.webm -vf "scale=iw*1.0:ih*1.0" -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k archivo_comprimido.mp4
Extraer un frame de un video
Para extraer un frame de un video, podemos ejecutar el siguiente comando:
bash
ffmpeg -i video.mp4 -ss 00:00:01 -vframes 1 frame.png
Puedes variar el tiempo en el que tomas el frame cambiando el valor de "-ss 00:00:01" por el tiempo que desees.
Cortar video
Necesitas acortar o quedarte con un trozo de un video? En este caso, puedes editar tanto el tiempo de inicio como el tiempo de finalización del video, cambiando los valores de "-ss 00:00:05" y "-t 00:00:38" respectivamente.
bash
ffmpeg -i video.mp4 -ss 00:00:05 -t 00:00:38 -c:v copy -c:a copy vídeo_cortado.mp4
Extraer audio de un video
Para extraer el audio de un video, podemos ejecutar el siguiente comando:
bash
ffmpeg -i video.mp4 -vn -acodec copy audio.mp3
Automatas Celulares
FFMPEG incluye modelos de automatas celulares, que podemos ejecutar con el siguiente comando y modificando los valores de "rule" y "s":
bash
ffplay -f lavfi -i cellauto=p="@":rule=30:s=600x600:full=0:scroll=0
Glitch
Estos automatas celulares pueden ser usados para crear efectos glitch en videos:
bash
ffmpeg -f lavfi -i cellauto=s=640x360:rule=15:r=50 -vf "scale=1280x720,format=yuv420p" -bsf noise=1000 -r 30 -f mpegts -c:v libx264 -crf 31 -preset ultrafast -tune zerolatency - | ffplay -i - -loglevel quiet -fs -vf tblend=all_mode=darken
Por Rob Mac's submission para el Blue \x80 glitch art show de París