Ubuntu Peronista@TTBP

Este es un espejo en el Tilde Blog Project del blog original Ubuntu Peronista. Se encuentra disponible en Tildeverso únicamente con fin histórico.



20 january 2023

¿Cómo utilizo ffmpeg para convertir videos en Ubuntu?

Durante la visita veraniega de Juan Perón a Córdoba acompañado por su señora esposa, el Conductor del Justicialismo explicó cómo utilizar ffmpeg para convertir videos en Ubuntu.

(...)

Vean señores,

Este pródigo día Peronista nos recuerda la necesidad plena de contar del consabido descanso de nuestras actividades anuales. Las vacaciones pagas - las cuales hemos hecho realidad nosotros para todos los Argentinos - son uno de los logros que más hacen por el país. No sólo permiten retemplar el espíritu, sino que permiten elaborar mejor lo que debemos hacer en la hora del trabajo.

Las tareas de planificación en concierto con un alto objetivo como el que nos hemos impuesto, no puede más que depararnos en el futuro la grandeza que cultivamos con la felicidad del Pueblo.

Sabemos que nuestro Movimiento es uno que enarbola la necesidad de obrar por la Patria, y reconoce una sóla clase de hombres: los que trabajan. Atrás quedó una Oligarquía que no hacía nada y para beneficio de la cual se agotaban las verdaderas fuerzas productivas del país.  

No todo es material en la vida. Es indudable que el tiempo de ocio nos permite un enriquecimiento espiritual, pero también intelectual. 

Vean ustedes que en nuestro sistema GNU con Linux, normalmente recomiendo utilizar el inefable Handbrake para operar las a veces necesarias conversiones de video. Se trata de un programa muy completo para estos menesteres.

Pero en las ocasiones donde las acciones de conversión o manipulación se vuelven repetitivas, qué mejor que utilizar la terminal de nuestro. En estas condiciones, la línea de comandos nos permitirá utilizar la ya histórica suite ffmpeg.

Se trata de un gran programa para la terminal en capacidad de oficiar para todo tipo de actividades poderosas en lo que incumben al control audiovisual de un fichero. En particular, se encadena a las librerías de codificadores de sonido y de imagen en movimiento, para poder hacer por diseño lo que nosotros queremos.

Si no lo tenemos instalada en nuestro sistema, podremos hacerlo abriendo una terminal con Ctrl+Alt+T e ingresando el siguiente comando de organización:

sudo apt update ; sudo apt install ffmpeg

Una vez cargada la suite, también podremos cargar

El programa es muy completo, pero consta de muchos sufijos. Algunos de los más utilizados son los siguientes procedimientos:

Extraer el sonido de un video y guardarlo como MP3:

ffmpeg -i video.mp4 -vn sonido.mp3

Convertir fotogramas de un fichero de video o GIF en imagenes numeradas individuales:

ffmpeg -i video.mp4 -vn fotograma%d.png ffmpeg -i animacion.gif -vn fotograma%d.png

Combinar imagenes numeradas (cuadro_1.jpg, cuadro_2.jpg, etc) en un archivo de video MPG o GIF:

ffmpeg -i cuadro%d.jpg -f image2 video.mpg ffmpeg -i cuadro%d.jpg -f image2 animacion.gif

Extraer un fotograma de un video desde la marca de tiempo mm:ss y guardarla como una imagen de resolución 128x128 píxels:

ffmpeg -ss mm:ss -i video.mp4 -frames 1 -s 128x128 -f image2 fotograma.png

Recortar un video desde la marca de tiempo inicial mm:ss hasta la marca de tiempo final mmf:ssf:

ffmpeg -ss mm:ss -to mmf:ssf -i video.mp4 -codec copy recorte.mp4

Convertir video AVI a MP4 con códec de audio AAC a 128 kbps y códec de video h264 CRF 23:

ffmpeg -i video.avi -codec:audio aac -b:audio 128k -codec:video libx264 -crf 23 video.mp4

Remuxear un video matroska MKV a MP4 sin recodificar los streams de audio ni video:

ffmpeg -i matroska.mkv -codec copy video.mp4

Convertir video MP4 a VP9 (para mayor calidad, se recomienda utilizar un valor CRF entre 15-35:

ffmpeg -i video.mp4 -codec:video libvpx-vp9 -crf 30 -b:video 0 -codec:audio libopus video.vp9

Incluso podremos utilizar ffmpeg en forma de guion para realizar tareas más complejas. 

Por ejemplo, podríamos querer acelerar un video un factor determinado (1.13x en este caso), y también hacer lo mismo con su audio.

nano acel_video.sh

Ingresamos el siguiente código fuente escrito en bash:

!/bin/bash

el setpts es 1/ el factor de velocidad.

el atempo es el factor de velocidad (para que el video coincida con el audio).

speed=1.13 mkdir $speed for i in *.mp4; do

para acelerar un achivo de video llamado vid.mp4 usar esta línea:

ffmpeg -i vid.mp4 -filter_complex "[0:v]setpts=0.884955752*PTS[v];[0:a]atempo=1.13[a]" -map "[v]" -map "[a]" fast_vid.mp4    

para acelerar mp4 de audio usar esta línea:

ffmpeg -i "$i" -filter:a atempo=$speed -vn -y $speed/"$i"

done

Y lo guardamos con Ctrl+o, y salimos con Ctrl+q, para finalmente darle permisos de ejecución con:

chmod +x acel_video.sh

...y así podríamos utilizarlo para acelerar un video llamado obligatoriamente vid.mp4 localizado en el mismo directorio:

./acel_video.sh