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.