Después de un año de desarrollo, se lanzó GStreamer 1.22, un conjunto de componentes multiplataforma para crear una amplia gama de aplicaciones multimedia, desde reproductores de medios y convertidores de archivos de audio/video, hasta aplicaciones VoIP y sistemas de transmisión en vivo. El código de GStreamer se distribuye bajo la licencia LGPLv2.1. Las actualizaciones de los complementos gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, así como el enlace gst-libav y el servidor de transmisión gst-rtsp-server se desarrollan por separado. A nivel de API y ABI, la nueva versión es retrocompatible con la rama 1.0. Pronto estarán disponibles las compilaciones binarias para Android, iOS, macOS y Windows (en Linux se recomienda utilizar paquetes de la distribución).
Principales mejoras de GStreamer 1.22:
- Se ha mejorado el soporte para el formato de codificación de video AV1. Se ha añadido la posibilidad de utilizar la aceleración de hardware para la codificación y decodificación de AV1 a través de las API VAAPI/VA, AMF, D3D11, NVCODEC, QSV e Intel MediaSDK. Se han incorporado nuevos manejadores RTP para AV1. Se ha mejorado el análisis de AV1 en contenedores MP4, Matroska y WebM. Las compilaciones incluyen elementos con codificadores y decodificadores AV1 basados en las bibliotecas dav1d y rav1e.
- Se ha implementado el soporte para Qt6. Se ha añadido el elemento qml6glsink, que utiliza Qt6 para renderizar video dentro de la escena QML.
- Se han añadido los elementos gtk4paintablesink y gtkwaylandsink para renderizar utilizando GTK4 y Wayland.
- Se han añadido nuevos clientes para transmisión adaptativa, que soportan los protocolos HLS, DASH y MSS (Microsoft Smooth Streaming).
- Se ha proporcionado la posibilidad de crear compilaciones reducidas, optimizadas para reducir el tamaño.
- Se ha añadido soporte para WebRTC simulcast y Google Congestion Control.
- Se ha proporcionado un complemento simple y autónomo para enviar a través de WebRTC.
- Se ha añadido un nuevo empaquetador de contenedores multimedia MP4 con soporte para datos fragmentados y no fragmentados.
- Se han añadido nuevos complementos para el almacenamiento de Amazon AWS y servicios de transcripción de audio.
- Se han actualizado los enlaces para el lenguaje Rust. Se han añadido 19 nuevos complementos, efectos y elementos escritos en Rust (gst-plugins-rs). Se destaca que el 33% de los cambios en el nuevo GStreamer se han implementado en Rust (los cambios se refieren a enlaces y complementos), y el conjunto de complementos gst-plugins-rs es uno de los módulos más activamente desarrollados de GStreamer. Los complementos escritos en Rust pueden utilizarse en programas en cualquier lenguaje, y su manejo es similar al uso de complementos en C y C++.
- Se garantiza el suministro de complementos para Rust como parte de los paquetes binarios oficiales para las plataformas Windows y macOS (la compilación y el suministro se admiten para Linux, Windows y macOS).
- Se ha implementado un servidor multimedia basado en WebRTC escrito en Rust, que admite WHIP (WebRTC HTTP ingest) y WHEP (WebRTC HTTP egress).
- Se ha añadido el elemento videocolorscale, que combina capacidades de conversión y escalado de video.
- Se ha mejorado el soporte de video con gran profundidad de color.
- Se ha añadido soporte para eventos de pantallas táctiles en la API de Navegación.
- Se han añadido elementos de corrección de marcas de tiempo H.264/H.265 para reconstruir PTS/DTS antes del empaquetado de contenedores multimedia.
- En la plataforma Linux se ha mejorado la aplicación de DMA para trabajar con búferes durante la codificación, decodificación, filtrado y renderizado de video utilizando aceleración de hardware.
- Se ha mejorado la integración con CUDA: se ha añadido la biblioteca gst-cuda y el elemento cudaconvertscale, y se ha garantizado la integración con los elementos D3D11 y NVIDIA dGPU NVMM.
- Se ha mejorado la integración con Direct3D11: se ha añadido la nueva biblioteca gst-d3d11, ampliando las capacidades de los complementos d3d11screencapture, d3d11videosink, d3d11convert y d3d11compositor.
- Para GPU AMD, se han implementado nuevos codificadores de video acelerados por hardware en formatos H.264 / AVC, H.265 / HEVC y AV1, construidos utilizando el SDK AMF (Advanced Media Framework).
- En el complemento applemedia se ha añadido soporte para la codificación y decodificación de video H.265 / HEVC.
- En el complemento androidmedia se ha añadido soporte para la codificación de video H.265 / HEVC.
- Se ha añadido la propiedad force-live a los complementos audiomixer, compositor, glvideomixer y d3d11compositor para forzar el modo 'live'.
Fuente: opennet.ru
