Después de diez meses de desarrollo se dio a conocer el lanzamiento de la nueva versión de FFmpeg 5.0, que incluye un conjunto de aplicaciones y una colección de bibliotecas para operaciones en varios formatos multimedia (grabación, conversión y decodificación de formatos de audio y video).
El cambio significativo en el número de versión se debe a cambios significativos en la API y la transición a un nuevo esquema de generación de lanzamientos, de acuerdo con el cual se formarán nuevos lanzamientos principales una vez al año y lanzamientos con tiempo de soporte extendido, una vez cada dos años. FFmpeg 5.0 será la primera versión LTS del proyecto.
Principales novedades de FFmpeg 5.0
En esta nueva versión se ha realizado una limpieza significativa de las API antiguas para la codificación y decodificación, ademas de que se ha realizado una transición a la nueva API N:M, que ofrece una única interfaz de programación para audio y video, así como códecs separados para flujos de entrada y salida.
Tambien se menciona que se eliminaron todas las API antiguas previamente marcadas como obsoletas y se agregó una nueva API para filtros de flujo de bits.
Ademas de ello, se añadieron formatos y códecs separados: los desempaquetadores de contenedores de medios ya no integran todo el contexto del decodificador. API eliminadas para registrar códecs y formatos: todos los formatos ahora están siempre registrados.
Se agregó soporte para la arquitectura LoongArch utilizada en los procesadores Loongson, así como soporte para las extensiones LSX y LASX SIMD provistas en LoongArch. Se han implementado optimizaciones específicas de LoongArch para los códecs H.264, VP8 y VP9.
Se agregó soporte para el protocolo Concatf, que define el formato para transferir una lista de recursos («ffplay concatf:split.txt»), tambien se añadieron nuevos decodificadores: Speex, MSN Siren, ADPCM IMA Acorn Replay, GEM (mapas de bits), nuevos codificadores: empaquetado en bits, Apple Graphics (SMC), ADPCM IMA Westwood, VideoToolbox ProRes. La configuración del codificador AAC se ha cambiado para lograr una mayor calidad.
Por otra parte, tambien se destaca que se agregaron empaquetadores de contenedores de medios (muxer): Westwood AUD, Argonaut Games CVG, AV1 (flujo de bits de baja sobrecarga), se agregaron desempaquetadores de contenedores de medios (demuxer): IMF, Argonaut Games CVG.
Se agregó un nuevo analizador para el códec de audio AMR (Adaptive Multi-Rate) y se ha agregado un empaquetador de datos de carga útil (empaquetador) para transferir video sin comprimir usando el protocolo RTP (RFC 4175).
En cuanto a los nuevos filtros de vídeo :
- segment y asegment: división de un flujo con video o sonido en varios flujos divididos por tiempo o fotogramas.
- hsvkey y hsvhold: reemplace parte de la gama de colores HSV en el video con valores de escala de grises.
- grayworld: usando un algoritmo basado en la hipótesis del mundo gris.
- scharr: aplicación del operador Orb (una variante del operador Sobel con diferentes coeficientes) al video de entrada.
- morpho: le permite aplicar varias transformaciones morfológicas al video.
- latency: mide el retraso de filtrado mínimo y máximo para el filtro aplicado anteriormente.
- limitdiff: define la diferencia entre dos o tres transmisiones de video.
- xcorrelate: calcula la correlación cruzada entre transmisiones de video.
- varblur: desenfoque de video variable con definición de radio de desenfoque del segundo video.
- huesaturation: aplique ajustes de tonalidad, saturación o intensidad al video.
- colorspectrum: generar un flujo de video con un espectro de color determinado.
- libplacebo: aplicación para procesar sombreadores HDR de la biblioteca libplacebo.
- vflip_vulkan, hflip_vulkan y flip_vulkan: son variantes de filtros de volteo de video verticales u horizontales (vflip, hflip y flip) implementados usando la API de gráficos Vulkan.
- yadif_videotoolbox: una variante del filtro de desentrelazado yadif basado en el marco VideoToolbox.
Finalmente para quienes estén interesados en conocer más al respecto sobre este nuevo lanzamiento, pueden consultar el registro completo de cambios en este enlace.
Mientras que para quienes quieran realizar la instalación o actualización de FFmpeg deben saber que este paquete se encuentra en la mayoría de las distribuciones de Linux o si lo prefieren pueden descargar su código fuente para su compilación desde el siguiente enlace.