Después de siete meses de desarrollo, se publica el paquete multimedia FFmpeg 8.1, que incluye un conjunto de aplicaciones y una colección de bibliotecas para operaciones con diferentes formatos multimedia (grabación, conversión y decodificación de formatos de audio y video). El paquete está escrito en lenguaje C y se distribuye bajo las licencias LGPL y GPL.
Entre los cambios en FFmpeg 8.1:
- Se añaden un analizador, un codificador y un decodificador, así como un empaquetador y un desempaquetador de contenedores multimedia (muxer/demuxer) para el formato de imagen JPEG XS, que se posiciona como un sistema de codificación de imágenes liviano que asegura una mínima latencia durante la codificación y decodificación, y está orientado a optimizar la transmisión de secuencias de imágenes de muy alta calidad (hasta 8K). JPEG XS permite reducir significativamente el ancho de banda requerido sin pérdidas de calidad perceptibles al ojo humano. La implementación se basa en la biblioteca libsvtjpegxs.
- Se ha añadido un decodificador experimental para el formato de codificación de audio xHE-AAC (Codificación de Audio Avanzada de Alta Eficiencia) con una configuración de sonido envolvente Mps212 (MPEG Surround con disposición de canales 212). El xHE-AAC se utiliza en la transmisión de Netflix y se aplica en tecnologías de radiodifusión digital Digital Radio Mondiale. Este códec es notable por su soporte de un amplio rango de bitrate (de 12 a 300 kbit/s), su alta tasa de compresión, su capacidad de reproducción con volumen constante, asegurando alta claridad en cualquier nivel de volumen, perfiles adicionales para el control del rango dinámico al escuchar en entornos ruidosos y la adición de metadatos que permiten la recuperación de pérdidas en el lado receptor.
- Basado en la biblioteca libmpeghdec, se ha implementado un decodificador para sonido interactivo y envolvente en el formato NGA (Audio de Nueva Generación), definido en el estándar de codificación de audio y video MPEG-H.
- Se añadió soporte para empaquetar y desempaquetar sonido espacial en el formato IAMF (Modelo y Formatos de Audio Inmersivo) con sonido envolvente en modo Ambisonics, teniendo en cuenta la propagación del sonido no solo en el plano horizontal, sino también en el vertical (para identificar la fuente del sonido desde arriba o abajo).
- Se añadió soporte para el análisis y redirección de metadatos en formato LCEVC (Low Complexity Enhancement Video Coding), que implementa una capa adicional de metadatos sobre los códecs estándar para mejorar la calidad del video. Se añadió soporte para la exportación de capas de mejora de calidad LCEVC a contenedores multimedia MPEG-TS (MPEG Transport Stream).
- Sobre la base de la API gráfica Vulkan, se implementaron un codificador y un decodificador para el códec Apple ProRes, así como un decodificador para el formato de transmisión de imágenes dividido DPX (Digital Picture Exchange) utilizado en la producción cinematográfica. Las implementaciones basadas en la API Vulkan son notables por un aumento significativo en el rendimiento gracias a la aceleración por hardware, la paralelización de operaciones y el uso de shaders computacionales. Se llevó a cabo una optimización de las implementaciones de códecs basadas en AI Vulkan. Para acelerar la inicialización de los códecs, se implementó la posibilidad de utilizar shaders GLSL ya compilados, sin necesidad de compilarlos durante la ejecución.
- En la biblioteca swscale (Software Scaler), utilizada en FFmpeg para escalado y conversión de colores, se implementó un backend que utiliza la API gráfica Vulkan para acelerar la ejecución de operaciones.
- Se añadieron variantes de codificadores para los formatos H.264 y AV1, que utilizan la API D3D12 (Direct3D 12) para la aceleración por hardware de la codificación.
- Se añadió una variante del codificador para el formato H.264/HEVC, que utiliza las capacidades de codificación de video disponibles en los chips Rockchip.
- Se añadieron descompresores (demuxer) de contenedores multimedia en formatos HXVS y HXVT, utilizados en cámaras IP.
- Se implementó un analizador para metadatos en formato EXIF y una API asociada para el análisis de metadatos.
- Se añadió la opción «-codec» («-c») a la utilidad ffprobe para seleccionar una implementación específica del decodificador.
- Se añadió soporte para el modo de almacenamiento en mosaico (tiled) de imágenes en formato HEIF en la utilidad ffmpeg (cuando una imagen muy grande se guarda en forma de un conjunto de imágenes más pequeñas).
- Se eliminó el antiguo manejador del protocolo HLS.
- Nuevos filtros:
- drawvg para la salida de gráficos vectoriales sobre fotogramas de video, utilizando la biblioteca libcairo.
- vpp_amf para cambiar el tamaño del video y convertir el espacio de color, utilizando AMD Advanced Media Framework para la aceleración por hardware.
- vf_scale_d3d12, vf_deinterlace_d3d12, vf_mestimate_d3d12 para escalado, desentrelazado y análisis de movimiento en video, utilizando la API gráfica Direct3D 12 para aceleración por hardware.
- gfxcapture para capturar contenido de ventanas y pantalla en la plataforma Windows utilizando la API Windows.Graphics.Capture.
- Se añadió un filtro de bitstream para metadatos LCEVC.
Fuente: opennet.ru
