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 operaciones en varios formatos multimedia (grabación, conversión y decodificación de formatos de audio y video). El paquete se distribuye bajo licencias LGPL y GPL, el desarrollo de FFmpeg se lleva a cabo junto al proyecto MPlayer. El cambio significativo en el número de versión se explica por cambios significativos en la API y la transición a un nuevo esquema de generación de versiones, según el cual se generarán nuevas versiones significativas una vez al año y las versiones con tiempo de soporte extendido, una vez cada dos años. FFmpeg 5.0 será la primera versión LTS del proyecto.
Entre los cambios agregados a FFmpeg 5.0 se encuentran:
- Se ha llevado a cabo una limpieza significativa de las antiguas API para codificación y decodificación y se ha realizado una transición a la nueva API N:M, que ofrece una única interfaz de software para audio y vídeo, además de separar códecs para flujos de entrada y salida. . Se eliminaron todas las API antiguas previamente marcadas como obsoletas. Se agregó una nueva API para filtros de flujo de bits. Formatos y códecs separados: los descompresores de contenedores de medios ya no incorporan todo el contexto de los decodificadores. Se han eliminado las API para registrar códecs y formatos; ahora todos los formatos están siempre registrados.
- La biblioteca libavresample ha sido eliminada.
- Se ha agregado una API basada en AVFrame más simple a la biblioteca libswscale.
- Soporte significativamente mejorado para la API de gráficos Vulkan.
- Se agregó soporte para la aceleración de hardware de decodificación y codificación de formatos VP9 y ProRes utilizando la API VideoToolbox.
- Se agregó soporte para la arquitectura LoongArch utilizada en los procesadores Loongson, así como soporte para las extensiones SIMD LSX y LASX proporcionadas 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 un formato para transferir una lista de recursos (“ffplay concatf:split.txt”).
- Se agregaron nuevos decodificadores: Speex, MSN Siren, ADPCM IMA Acorn Replay, GEM (imágenes rasterizadas).
- Se han agregado nuevos codificadores: bitpacked, Apple Graphics (SMC), ADPCM IMA Westwood, VideoToolbox ProRes. La configuración del codificador AAC se ha cambiado para lograr una mayor calidad.
- Se agregaron empaquetadores de contenedores de medios (muxer): Westwood AUD, Argonaut Games CVG, AV1 (flujo de bits de bajo costo).
- 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).
- Se agregó un empaquetador de datos de carga útil (paquetizador) para transmitir video sin comprimir usando el protocolo RTP (RFC 4175).
- Nuevos filtros de vídeo:
- segmento y segmento: división de una transmisión con video o audio en varias transmisiones, separadas por tiempo o fotogramas.
- hsvkey y hsvhold: reemplazan parte de la gama de colores HSV en el vídeo con valores en escala de grises.
- grayworld: corrección de color de vídeo mediante un algoritmo basado en la hipótesis del mundo gris.
- scharr: aplicación del operador Schar (una variante del operador Sobel con diferentes coeficientes) al vídeo de entrada.
- Morpho: te permite aplicar varias transformaciones morfológicas al vídeo.
- Latencia y alatencia: mide el retraso de filtrado mínimo y máximo para un filtro aplicado previamente.
- limitdiff: determina la diferencia entre dos o tres transmisiones de vídeo.
- xcorrelate: calcula la correlación cruzada entre transmisiones de vídeo.
- varblur: desenfoque de vídeo variable con definición del radio de desenfoque del segundo vídeo.
- saturación de tono: aplique ajustes de tono, saturación o intensidad al video.
- colorspectrum: generación de una secuencia de vídeo 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 inversión de video verticales u horizontales (vflip, hflip y flip), implementados mediante la API de gráficos Vulkan.
- yadif_videotoolbox es una variante del filtro de desentrelazado de yadif basado en el marco VideoToolbox.
- Nuevos filtros de sonido:
- apsyclip: aplicación de un cortapelos psicoacústico a una transmisión de audio.
- afwtdn: suprime el ruido de banda ancha.
- adecorrelate: aplicar el algoritmo de descorrelación al flujo de entrada.
- atilt: aplica un desplazamiento espectral para un rango de frecuencia determinado.
- asdr: determinación de la distorsión de la señal entre dos transmisiones de audio.
- spectralstats: estadísticas de salida con las características espectrales de cada canal de audio.
- adynamicsmooth: suavizado dinámico del flujo de sonido.
- adynamicequalizer: ecualización dinámica del flujo de sonido.
- anlmf: aplica el algoritmo de mínimos cuadrados medios a una transmisión de audio.
Fuente: opennet.ru