Después de diez meses de desarrollo, está disponible el paquete multimedia FFmpeg 5.0, que incluye un conjunto de aplicaciones y una colección de bibliotecas para realizar operaciones sobre diversos formatos multimedia (grabación, conversión y decodificación de formatos de audio y video). El paquete se distribuye bajo las licencias LGPL y GPL, y el desarrollo de FFmpeg se lleva a cabo en paralelo con el proyecto MPlayer. El cambio significativo en el número de versión se debe a las sustanciales modificaciones en la API y la transición a un nuevo esquema de lanzamiento, según el cual se formarán nuevos lanzamientos importantes una vez al año, y los lanzamientos con tiempo de soporte extendido cada dos años. FFmpeg 5.0 será la primera versión LTS del proyecto.
Entre los cambios añadidos en FFmpeg 5.0, se destacan:
- Se ha llevado a cabo una limpieza significativa de las antiguas API de codificación y decodificación y se ha realizado la transición a una nueva API N:M, que ofrece una interfaz de programación unificada para audio y video, así como para los códecs de flujos de entrada y salida. Se han eliminado todas las API antiguas que anteriormente estaban marcadas como obsoletas. Se ha añadido una nueva API para filtros de flujo de bits. Se han separado los formatos y códecs: los descompresores de contenedores multimedia ya no incorporan todo el contexto de los decodificadores. Se han eliminado las API para el registro de códecs y formatos: ahora todos los formatos están siempre registrados.
- Se ha eliminado la biblioteca libavresample.
- Se ha añadido una API más sencilla en la biblioteca libswscale basada en AVFrame.
- Se ha mejorado significativamente la compatibilidad con la API gráfica Vulkan.
- Se ha añadido soporte para la aceleración de hardware en la decodificación y codificación de formatos VP9 y ProRes utilizando la API VideoToolbox.
- Se ha añadido soporte para la arquitectura LoongArch, utilizada en los procesadores Loongson, así como para las extensiones SIMD LSX y LASX que se ofrecen en LoongArch. Se han implementado optimizaciones específicas para LoongArch en los códecs H.264, VP8 y VP9.
- Se ha añadido soporte para el protocolo Concatf, que define el formato para la transmisión de la lista de recursos (‘ffplay concatf:split.txt’).
- Se han añadido nuevos decodificadores: Speex, MSN Siren, ADPCM IMA Acorn Replay, GEM (imágenes de mapa de bits).
- Se han añadido nuevos codificadores: bitpacked, Apple Graphics (SMC), ADPCM IMA Westwood, VideoToolbox ProRes. Se han modificado los parámetros del codificador AAC para lograr una calidad superior.
- Se han añadido empaquetadores de contenedores multimedia (muxer): Westwood AUD, Argonaut Games CVG, AV1 (bitstream de bajo sobrecosto).
- Se han añadido descompresores de contenedores multimedia (demuxer): IMF, Argonaut Games CVG.
- Se ha añadido un nuevo analizador para el códec de audio AMR (Adaptive Multi-Rate).
- Se ha añadido un empaquetador de datos payload (packetizer) para la transmisión de video sin comprimir utilizando el protocolo RTP (RFC 4175).
- N nuevos filtros para video:
- segment y asegment — división de un flujo de video o audio en múltiples flujos separados por tiempo o cuadros.
- hsvkey y hsvhold — reemplazan en el video parte del rango de color HSV por valores en tonos de gris.
- grayworld — corrección de color en video utilizando un algoritmo basado en la hipótesis del mundo gris.
- scharr — aplicación del operador Scharr (una variante del operador Sobel con diferentes coeficientes) al video de entrada.
- morpho — permite aplicar varias transformaciones morfológicas al video.
- latency y alatency — mide la latencia mínima y máxima de filtrado para un filtro aplicado previamente.
- limitdiff — determina la diferencia entre dos o tres flujos de video.
- xcorrelate — calcula la correlación cruzada entre flujos de video.
- varblur — desenfoque variable del video determinado por el radio de desenfoque de un segundo video.
- huesaturation — aplicación de ajustes de matiz, saturación o intensidad al video.
- colorspectrum — generación de un flujo de video con un espectro de color especificado.
- libplacebo — aplicación de sombreadores HDR de la biblioteca libplacebo para el procesamiento.
- vflip_vulkan, hflip_vulkan y flip_vulkan — variantes de filtros de inversión vertical u horizontal del video (vflip, hflip y flip), implementados utilizando la API gráfica Vulkan.
- yadif_videotoolbox — variante del filtro de desentrelazado yadif basado en el marco VideoToolbox.
- N nuevos filtros para sonido:
- apsyclip — aplicación de un limitador psicoacústico al flujo de audio.
- afwtdn — suprime el ruido de banda ancha.
- adecorrelate — aplicación de un algoritmo de decorrelación al flujo de entrada.
- atilt — aplicación de un desplazamiento espectral para un rango de frecuencias dado.
- asdr — determinación de la distorsión de la señal entre dos flujos de audio.
- aspectralstats — salida de estadísticas con características espectrales de cada canal de audio.
- adynamicsmooth — suavizado dinámico del flujo de audio.
- adynamicequalizer — ecualización dinámica del flujo de audio.
- anlmf — aplicación del algoritmo de mínimos cuadrados al flujo de audio.
Fuente: opennet.ru
