¿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