La historia de FFmpeg

Mascote do LinuxPro operando a mesa de edição diante da onda sonora, com a tira de filme e os ícones de conversão de formato

Cada vídeo que has visto hoy — en YouTube, en WhatsApp, en la TV por streaming — casi con total seguridad ha pasado por FFmpeg en algún punto del camino. Es probablemente el software más usado y menos conocido del planeta: un conjunto de herramientas de audio y vídeo que se ha convertido en la infraestructura invisible de internet. Esta es su historia — desde el hacker francés genial que lo creó hasta el fork que rompió la comunidad, hasta el presente en el que media docena de voluntarios sostiene el vídeo mundial.

2000: nace un “MPEG rápido”

FFmpeg apareció en 2000, publicado por un tal “Gérard Lantau” — seudónimo de Fabrice Bellard, uno de los programadores más legendarios de nuestra era (luego crearía QEMU, el Tiny C Compiler y récords de cálculo de π). El nombre mezcla “FF” de fast forward con MPEG, el estándar de compresión de la época. La propuesta era audaz: en lugar de depender de códecs propietarios dispersos, implementar decodificadores y codificadores desde cero, en C puro, en una sola biblioteca — la libavcodec.

Alrededor de ella creció la familia que conocemos: libavformat (contenedores y muxing), libswscale (conversión de colores y escalado), libavfilter (filtros y efectos) y los tres ejecutables del día a día — ffmpeg, ffprobe e ffplay.

La era Niedermayer

Bellard es de los que crean proyectos y pasan al siguiente. En 2004, el liderazgo pasó a Michael Niedermayer, que durante más de una década fue sinónimo de FFmpeg: optimizaciones obsesivas, soporte para formatos oscuros que nadie más implementaría y una política de “decodifica todo, incluso archivos rotos” que convirtió al proyecto en la navaja suiza definitiva. MPlayer, VLC y prácticamente todo reproductor de vídeo de Linux se construyeron sobre libavcodec.

2011: el fork Libav — la guerra civil

En enero de 2011, un grupo de desarrolladores insatisfechos con el estilo de liderazgo de Niedermayer tomó una decisión drástica: un fork. Nació Libav, llevándose a buena parte de los committers activos. La confusión fue épica: Debian y Ubuntu adoptaron Libav, el comando ffmpeg desapareció de las distros y fue sustituido por avconv, y millones de usuarios pasaron años escribiendo ffmpeg para recibir un confuso aviso de “deprecated”.

Mientras tanto, Niedermayer hacía algo insano: fusionaba a diario todo el trabajo de Libav de vuelta en FFmpeg, además de desarrollar el suyo propio. Resultado: FFmpeg tenía todo lo de Libav y más. La guerra terminó por agotamiento — Debian volvió a FFmpeg en 2015, Ubuntu lo siguió, y Libav se marchitó hasta desaparecer. Ese mismo año, Niedermayer dejó el liderazgo para calmar los ánimos, continuando como committer prolífico hasta hoy.

La infraestructura invisible del vídeo mundial

La lista de quién usa FFmpeg es la lista de quién trabaja con vídeo: YouTube procesa las subidas con él, Chrome y Firefox lo cargan para reproducir contenido multimedia, VLC, OBS, Kodi, HandBrake y Plex son interfaces a su alrededor, y funciona integrado desde smart TVs hasta cámaras de seguridad. Cuando llegaron los códecs modernos — H.264, HEVC, VP9, AV1 —, fue la dupla FFmpeg + proyectos aliados (x264, x265, dav1d) la que los puso al alcance de todo el mundo.

Esta omnipresencia tiene un precio: como FFmpeg abre cualquier archivo, se convirtió en el objetivo preferido del fuzzing y de la investigación de seguridad. Cientos de CVEs después, el proyecto mantiene uno de los ciclos de corrección más rápidos del open source — necesario, porque un bug en libavcodec es un bug en la mitad de internet.

Modernización: FFmpeg 5, 6 y 7

Tras años de versiones conservadoras, el proyecto aceleró: el FFmpeg 5.0 (2022) limpió APIs históricas; el 6.0 (2023) estandarizó el ciclo anual de lanzamientos principales; y el 7.0 (2024) trajo el cambio más visible en décadas — la CLI multihilo, con demuxers, decoders, filtros y encoders ejecutándose por fin en hilos separados. Llegaron junto a esto la decodificación por hardware mediante Vulkan, AV1 en GPU y soporte nativo para VVC. Programar en ensamblador sigue siendo cultura viva en el proyecto: las rutinas críticas disponen de versiones optimizadas a mano para x86, ARM/NEON y ahora RISC-V.

El drama de la financiación

El contraste se hizo célebre: billones de dólares en productos dependen de un proyecto mantenido por pocos voluntarios sin salario. En los últimos años la tensión ha salido a la luz, con mantenedores reclamando abiertamente a las grandes tecnológicas —que reportan errores “críticos para sus productos” sin aportar un céntimo— la vieja máxima: “send patches”. Fondos públicos como el alemán Sovereign Tech Fund han empezado a financiar trabajo de mantenimiento, pero la cuenta aún no cuadra. Es el caso clásico del xkcd de la “dependencia mantenida por una persona al azar en Nebraska” — solo que a escala planetaria.

En la práctica: 3 comandos que resuelven el 90%

# converter qualquer coisa para MP4/H.264 com qualidade sensata
ffmpeg -i entrada.mkv -c:v libx264 -crf 22 -preset medium -c:a aac saida.mp4

# extrair o áudio sem recodificar
ffmpeg -i video.mp4 -vn -c:a copy audio.m4a

# inspecionar um arquivo (codecs, bitrate, streams)
ffprobe -hide_banner video.mp4

Línea de tiempo

  • 2000 — Fabrice Bellard crea FFmpeg (bajo el seudónimo “Gérard Lantau”)
  • 2004 — Michael Niedermayer asume el liderazgo del proyecto
  • ene/2011 — El fork Libav divide a la comunidad; se lleva a una buena parte de los committers
  • 2011–2015 — Debian y Ubuntu adoptan Libav (comando avconv); Niedermayer realiza la fusión diaria de Libav en FFmpeg
  • 2015 — Debian vuelve a FFmpeg; Libav se debilita; Niedermayer deja el liderazgo
  • 2022 — FFmpeg 5.0: limpieza de APIs históricas
  • 2023 — FFmpeg 6.0: ciclo anual de lanzamientos principales
  • 2024 — FFmpeg 7.0: CLI multihilo, decodificación mediante Vulkan, soporte para VVC

La lección de 25 años

FFmpeg ha demostrado que una biblioteca C bien escrita, sin marketing y sin empresa detrás, puede volverse más esencial que cualquier producto comercial de su sector. Sobrevivió a un fork hostil, a guerras de patentes de códecs y a su propio éxito. Si trabajas con Linux y multimedia, dominar ffmpeg en la línea de comandos sigue siendo uno de los mayores retornos por hora de estudio que existen. Y es una prueba más de la tesis que atraviesa los Linux y sus 35 años: la infraestructura que mueve el mundo digital es, casi en su totalidad, software libre mantenido por pocas manos.