El comando ffmpeg en Linux: convertir y procesar audio y vídeo

Introducción

FFmpeg es una herramienta de línea de comandos multiplataforma que permite convertir, comprimir, filtrar y transmitir prácticamente cualquier formato de audio y vídeo. En Linux se ha convertido en el estándar de facto para tareas de multimedia gracias a su gran cantidad de codecs integrados y su capacidad para trabajar mediante scripts. Este post muestra los comandos más útiles para principiantes y usuarios avanzados, explicando la sintaxis básica, los parámetros de calidad y algunos ejemplos prácticos que puedes adaptar a tu flujo de trabajo.

Instalación de ffmpeg

En la mayoría de distribuciones Linux ffmpeg está disponible en los repositorios oficiales. En Ubuntu o Debian basta con ejecutar sudo apt update && sudo apt install ffmpeg. En Fedora se usa sudo dnf install ffmpeg y en Arch Linux sudo pacman -S ffmpeg. Si necesitas la última versión con todos los codecs, puedes compilar desde el código fuente o utilizar paquetes snap/flatpak. Verifica la instalación con ffmpeg -version.

Conversión básica de formatos

Convertir un archivo de vídeo a otro formato es tan sencillo como especificar el archivo de entrada y el de salida. Por ejemplo, para pasar de MKV a MP4 sin re‑codificar el vídeo y solo copiar los flujos, se usa:

  • ffmpeg -i entrada.mkv -c copy salida.mp4
  • ffmpeg -i entrada.wav -ar 44100 -ac 2 salida.mp3 para convertir audio WAV a MP3 con tasa de 44,1 kHz y estéreo.

El parámetro -c copy indica que se copie el flujo sin recompresión, lo que ahorra tiempo y evita pérdida de calidad. Cuando se necesita cambiar la resolución o el bitrate, se añaden opciones como -vf scale=1280:720 o -b:v 2M.

Procesamiento de audio

FFmpeg permite extraer, mezclar y aplicar efectos a pistas de audio. Para extraer la pista de audio de un vídeo y guardarla como AAC se ejecuta:

  • ffmpeg -i video.mov -vn -c:a aac -b:a 192k audio.aac

El indicador -vn descarta el vídeo. Para normalizar el volumen se puede usar el filtro loudnorm:

  • ffmpeg -i entrada.wav -af loudnorm=I=-16:TP=-1.5:LRA=11 salida.wav

Además, es posible concatenar varios archivos de audio con el demuxer concat o crear un fade‑in/fade‑out mediante afade.

Procesamiento de vídeo

En el ámbito del vídeo, los filtros de vídeo (-vf) permiten escalar, recortar, cambiar la velocidad y aplicar efectos de color. Un ejemplo típico es reducir la resolución a 720p y limitar el bitrate a 2 Mbps:

  • ffmpeg -i entrada.mkv -vf scale=1280:720 -b:v 2M -c:a aac -b:a 128k salida.mp4

Para crear un timelapse se puede acelerar el vídeo con setpts:

  • ffmpeg -i entrada.mkv -vf 'setpts=0.5*PTS' salida.mp4

Si necesitas añadir subtítulos incorporados, usa -c:s mov_text para MP4 o -c:s srt para MKV.

Ejemplos avanzados: filtros y concatenación

FFmpeg encadena múltiples filtros separados por comas. Por ejemplo, aplicar un desenfoque gaussiano y luego un ajuste de brillo:

  • ffmpeg -i entrada.mp4 -vf 'gblur=sigma=2,eq=brightness=0.06:saturation=1.2' salida.mp4

La concatenación de varios clips se realiza creando un archivo de lista (mylist.txt) con la forma file 'clip1.mp4' y luego:

  • ffmpeg -f concat -safe 0 -i mylist.txt -c:v copy salida.mp4

También es posible generar una onda de forma de audio directamente desde FFmpeg usando el filtro aevalsrc o crear una barra de progreso con drawtext.

Consejos de rendimiento y buenas prácticas

Para acelerar la codificación, aprovecha los preset de libx264 (-preset fast) o usa codificación por hardware con -c:v h264_vaapi en GPUs compatibles. Siempre conserva una copia sin perder calidad (por ejemplo, usando -c copy) antes de aplicar transformaciones destructivas. Revisa el registro de salida para detectar advertencias sobre paquetes descartados o sincronización de audio‑video. Finalmente, automatiza tareas recurrentes con scripts bash que acepten argumentos de entrada y salida, lo que facilita el procesamiento por lotes.

Conclusión

FFmpeg es una herramienta poderosa y flexible que, una vez dominada, permite realizar casi cualquier operación de audio y vídeo desde la terminal de Linux. Desde conversiones simples hasta complejas cadenas de filtros y procesamiento por hardware, su amplio conjunto de opciones lo convierte en un aliado indispensable para desarrolladores, editores de vídeo y entusiastas del multimedia. Practica con los ejemplos mostrados y adapta los parámetros a tus necesidades específicas para obtener resultados profesionales.

Esta entrada está disponible también en ENGLISH.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Esta obra está bajo una Licencia Creative Commons Atribución 4.0 Internacional para Francesc Roig francesc@vivaldi.net .