Manual de FFmpeg con ejemplos – Parte 1 de 2

Manual de FFmpeg con ejemplos – Parte 1 de 2.

Si existe una herramienta capaz de procesar archivos multimedia de forma optima, esa herramienta es ffmpeg.

FFmpeg es una utilidad que opera en consola / terminal con unas excelentes características, ademas es open source. Tal vez lo desconocías, pero debes saber que «ffmpeg» es la base de afamadas aplicaciones que usamos habitualmente, como por ejemplo:

FFmpeg no es solo para realizar tareas simples (con uno o dos comandos). Es una aplicación muy poderosa capaz de hacer las tareas más complejas como por ejemplo reemplazar el flujo de trabajo de edición.

El manual de FFmpeg consta de dos partes, en cada una veremos lo siguiente:

  • Instalar ffmpeg: Parte 1 de 2
  • Como usar ffmpeg – básico: Parte 1 de 2
  • Uso de ffmpeg – avanzado: Parte 2 de 2
  • Como usar los filtros de ffmpeg: Parte 2 de 2

Comenzamos.

Manual de FFmpeg con ejemplos - Parte 1 de 2 1

 

Manual de FFmpeg completo

Instalar ffmpeg

En Ubuntu y derivados:

sudo add-apt-repository universe
sudo apt update
sudo apt install ffmpeg

En Fedora y derivados:
sudo dnf install ffmpeg

En Arch Linux y derivados:
sudo pacman -S ffmpeg

En OpenSuse y derivados:
zypper in ffmpeg

Una vez instalada la herramienta, puedes verificar con el siguiente comando.
ffmpeg

ejemplo de instalación valida…

Manual de FFmpeg con ejemplos - Parte 1 de 2 2

 

Como usar ffmpeg – básico

Manual ffmpeg

La sintaxis del «comando ffmpeg«, es la siguiente:

ffmpeg [global_options] {[input_file_options] -i input_url} {[output_file_options] output_url}

Como ves es bastante simple, comando, opción, entrada y salida. Tan solo debes recordar unos pequeños detalles, «todos los archivos que no esté precedidos por (-i) se consideran archivos de salida«. Si quieres usar el mismo nombre en la entrada y en el archivo de salida, «debes agregar la etiqueta (-y) antes del nombre del archivo de salida«.

 

Información de un archivo

Obtener la información de un archivo multimedia.

ffmpeg -i archivo

Por ejemplo:
ffmpeg -i desfile.mp4

ffmpeg -i heavy-metal.mp3

 

El comando anterior te mostrara la info del archivo multimedia y la configuración de la herramienta (información que no necesitamos). Para especificar que no muestra la configuración de la herramienta añadimos «-hide_banner«.

ffmpeg -i desfile.mp4 -hide_banner

Manual de FFmpeg con ejemplos - Parte 1 de 2 3

 

Cambiar el formato de archivos multimedia

Antes de comenzar con este apartado asegúrate que la extensión deseada es soportada por ffmpeg, para ver los formatos disponibles ejecuta…

ffmpeg -formats -hide_banner

Ejemplos de uso:
#VIDEO
ffmpeg -i desfile.mp4 desfile.avi 
ffmpeg -i desfile.webm desfile.flv 

#AUDIO
ffmpeg -i audio_input.mp3 audio_output.ogg 
ffmpeg -i audio_input.wav audio_output.mp2

También puedes convertir a varios archivos con diferentes formatos.
ffmpeg -i audio_input.wav audio_output_1.mp3 audio_output_2.ogg audio_output_3-wav

Si quieres que el archivo de salida tenga la misma calidad que el archivo original, agrega «-qscale 0«.
ffmpeg -i desfile.mp4 -qscale 0 desfile.avi

Y por ultimo (no es necesario y puede generar problemas con la extensión) tal vez te interese aplicar unos codecs en particular, en este caso debemos usar «-c:a (para audio)» y «-c:v (para vídeo)».
ffmpeg -i video_entrada.mp4 -c:v copy -c:a libvorbis video_salida.avi

 

Extraer el audio de un video

Para extraer el audio de un vídeo agregamos «-vn«.

ffmpeg -i mivideo.mp4 -vn miaudio.mp3

Puedes aumentar o disminuir el bitrate (tasa de bits) a 96k, 128k, 192k, 256k, 320k, a mayor bitrate, más volumen.
ffmpeg -i video.mp4 -vn -ab 256k audio.mp3

Otras opciones usadas son:
  • -ar – Frecuencia de audio: 22050, 441000, 48000
  • -ac – Número de canales de audio
  • -f – Formato de audio

ffmpeg -i video.mov -vn -ar 44100 -ac 2 -b:a 256k -f mp3 audio.mp3

 

Silenciar el audio de un vídeo

Para anular la salida de audio en un vídeo agregamos «-an«.

ffmpeg -i mivideo.mp4 -an -mivideo1.mp4

 

Extraer imágenes (fotogramas) de un vídeo

Obtener una serie de imágenes de un vídeo, útil si quieres hacer por ejemplo una emisión en diapositivas.

ffmpeg -i mivideo.mp4 -r 1 -f imagen2 imagen-%3d.png

Explicación del desarrollo: Con «-r» especificamos la velocidad de fotogramas (cuántos fotogramas se extraen por segundo), en el ejemplo 1 segundo. Con «-f» le indicamos el formato de salida.

Al aplicar «%3d», obligamos al comando que enumere la serie de fotogramas con 3 dígitos (000, 001, etc.). También se puede usar %2d (2 dígitos) o %4d (4 dígitos).

Manual de FFmpeg con ejemplos - Parte 1 de 2 4

 

Modificar la resolución y el aspect ratio de un video

Antes de modificar la resolución, o el aspect ratio de un vídeo, puedes comprobar que los datos sean validos en esta calculadora online.

Para modificar la resolución añadimos «-s» y los datos de tu elección.

ffmpeg -i mivideo.mp4 -s 1280x720 mivideo.avi

Ahora el aspect ratio con «-aspect».
ffmpeg -i mivideo.mp4 -aspect 16:9 mivideo1.mp4

 

Insertar una imagen a un audio

Esta opción es muy útil si tienes un audio y quieres escucharlo o subirlo a un sitio que solo admita formatos de vídeo, por ejemplo youtube.

Con «-c:v» especificamos el codec de vídeo, y con «-c:a» el de audio.

ffmpeg -loop 1 -i imagen.jpg -i audio.wav -c:v libx264 -c:a aac -b:a 256k -shortest video.mp4

Si usas una versión antigua de ffmpeg (anterior a 4.x), debes agregar «-strict experimental«.
ffmpeg -loop 1 -i imagen.jpg -i audio.wav -c:v libx264 -c:a aac -strict experimental -b:a 256k -shortest video.mp4

 

Añadir subtitulos a un vídeo (Manual de FFmpeg)

La herramienta ffmpeg también nos permite agregar subtitulos a un vídeo.

ffmpeg -i video.mp4 -i subtitles.srt -c:v copy -c:a copy -preset veryfast -c:s mov_text -map 0 -map 1 video-subtitulado.mp4

 

Comprimir archivos multimedia

La compresión de archivos multimedia puede generar cierta controversia, es cierto que se reduce considerablemente el peso o tamaño de un archivo, pero también se pierde calidad, aun así… en ciertas ocasiones es necesario que comprimamos algún archivo.

Archivos de audio:

Reducimos la tasa de bits (bitrate) con (-b) o (-ab).

ffmpeg -i nusica.mp3 -ab 128k musica-comp.mp3

ffmpeg -i musica.mp3 -b:a 192k musica-comp.mp3

Archivos de vídeo:

Para comprimir un vídeo disponemos de mas opciones que con el audio, la más común es bajar la tasa de bits de vídeo con «-b: v«.

ffmpeg -i video.mp4 -b:v 1000k -bufsize 1000k video-comp.mp4

También podemos modificar el «-crf» (factor de tasa constante). Un crf más bajo equivale una tasa de bits más alta, ademas si usamos libx264 como codec de vídeo, mucho mejor.

Este es un buen ejemplo de reducción de tamaño con muy poca perdida de calidad:

ffmpeg -i video.mp4 -c:v libx264 -crf 28 video_compress.mp4

Ahora vemos un ejemplo en el cual comprimimos de manera independiente el audio y el vídeo, ademas forzamos el audio a dos canales (reducimos al pasar a stereo), con -strict -2 y -ac 2.
ffmpeg -i video.mp4 -c:v libx264 -ac 2 -c:a aac -strict -2 -b:a 128k -crf 28 video_compress.mp4

Manual de FFmpeg con ejemplos - Parte 1 de 2 5

 

Recortar archivos de audio y vídeo

Para recortar un archivo desde su inicio, especificamos el tiempo con «-t«.

En el ejemplo siguiente guardamos los primeros 59 segundos de cada archivo.

#Recortar vídeo
ffmpeg -i video.mp4 -t 59 cut_video.mp4

#Recortar audio
ffmpeg -i audio.mp3 -t 00:00:59 cut_audio.mp3

Como puedes observar en el anterior código, puedes ingresar un solo número (segundos) o establecer HH: MM: SS (horas, minutos y segundos).

En los siguientes ejemplos especificaremos el tiempo de inicio y el de finalización, haremos uso de los siguientes añadidos:

  • -ss HH:MM:SS – Inicio
  • -to HH: MM: SS – Final
  • -s segundos – Comenzara después de…
  • -t segundos – Finalizara después de …

ffmpeg -i audio.mp3 -ss 00:02:09 audio2.mp3

ffmpeg -i audio.mp3 -ss 00:00:45 -t 15 audio2.mp3 

ffmpeg -i video.h264 -ss 00:02:10 -to 00:08:30 video2.h264 

ffmpeg -i audio.ogg -ss 8 audio2.ogg

 

Llegamos al final de la primera parte del manual de FFmpeg, continuamos en un próximo articulo.

Comparte el articulo.

 

2 Comentarios

  1. esteban ruiz
    06/05/2020

Agregar comentario