FFmpeg 9.0 ya está disponible como la última versión de características de esta biblioteca multimedia de código abierto ampliamente utilizada, según informó Phoronix. Se trata de la pieza de software que, sin aparecer nunca en pantalla, mueve buena parte del video que se reproduce, transcodifica y transmite en internet.

La versión trae un conjunto amplio de mejoras, con el trabajo sobre la API Vulkan como eje central: decodificación de video APV por Vulkan, aceleración Vulkan para Apple ProRes RAW y el filtro de video v360 sobre Vulkan. A eso se suman la decodificación HE-AAC 960, un filtro transpose acelerado por CUDA de NVIDIA, decodificación y demultiplexado de WebP animado, mejoras continuas en AMD AMF y nuevas optimizaciones AVX-512.

¿Qué cambia exactamente en la versión 9.0?

El registro oficial de cambios del proyecto resume así los puntos destacados de la versión:

  • Capacidades HDR ampliadas en el conversor de color AMF, el filtro vf_vpp_amf.
  • Soporte de multiplexado de pistas LCEVC en el multiplexor MP4.
  • Codificador y multiplexor de video para Playdate.
  • Nuevo filtro v360_vulkan.
  • Decodificación HE-AAC 960, la variante usada por la radio digital DAB+.
  • Filtro transpose_cuda.
  • Nuevo filtro conversor de tasa de cuadros AMF, vf_frc_amf.
  • Soporte y paso directo de metadatos SMPTE 2094-50.
  • Aceleración por hardware de ProRes RAW mediante VideoToolbox.
  • Aceleración por hardware de APV mediante Vulkan.
  • Decodificador de WebP animado.
  • Demultiplexor de WebP animado.
  • Eliminación del soporte de decodificación CELT, sin afectar a CELT dentro de Opus.
  • Eliminación del análisis de ogg/celt.
  • Filtro de flujo de bits para separar HEVC multicapa de Dolby Vision.
  • Soporte de mapeo de memoria de hardware AMF.
  • Backend DNN con ONNX Runtime, con soporte de proveedor de ejecución en GPU.
  • Eliminación de opciones NVENC obsoletas y del soporte para versiones del SDK anteriores a la 11.1.
  • Nuevo filtro potenciador de calidad de video AMF, vf_vqe_amf.

¿Por qué importa el empuje hacia Vulkan?

La apuesta por Vulkan es la decisión estructural de esta versión. Históricamente, la aceleración por hardware en FFmpeg dependía de rutas específicas de cada fabricante: NVDEC y NVENC para NVIDIA, AMF y VAAPI para AMD, Quick Sync para Intel, VideoToolbox en macOS. Cada una exige mantener código separado y deja fuera al hardware que no está en la lista.

Vulkan cambia esa ecuación porque es una API abierta y multiplataforma: una ruta de decodificación escrita sobre Vulkan puede correr, en principio, sobre GPU de distintos fabricantes y sobre sistemas operativos distintos sin reescribirse. Que en esta versión entren por esa vía formatos tan diferentes como APV, un códec profesional relativamente nuevo, y Apple ProRes RAW, tradicionalmente atado al ecosistema de Apple, muestra hacia dónde apunta el proyecto.

Vale la pena notar que el trabajo sobre AMD AMF avanza en paralelo y con fuerza: de los diecinueve puntos del registro de cambios, cuatro corresponden a filtros o capacidades AMF. La versión no reemplaza las rutas propietarias, las amplía mientras construye la alternativa abierta.

¿Qué se elimina en esta versión?

Tres retiros conviene tener presentes antes de actualizar. Se elimina el soporte de decodificación CELT independiente, aunque esto no afecta al CELT que opera dentro de Opus, que es el uso masivo del códec. También desaparece el análisis de ogg/celt. Y en el frente de NVIDIA se retiran las opciones obsoletas de NVENC junto con el soporte para versiones del SDK anteriores a la 11.1, un detalle relevante para quien mantenga cadenas de transcodificación antiguas sobre servidores que no se actualizan hace años.

¿Cómo se obtiene?

Quienes compilan desde el código fuente pueden trabajar directamente con la etiqueta de FFmpeg 9.0 en el repositorio oficial del proyecto. El camino habitual para la mayoría de los usuarios es distinto y más lento: esperar a que la versión baje empaquetada en las distribuciones, algo que en las de ciclo estable puede demorar meses. Para un servidor de transcodificación en producción, esa espera suele ser preferible a compilar a mano una biblioteca de la que dependen decenas de aplicaciones.