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 multimedia y convertidores de archivos de audio/video, hasta aplicaciones VoIP y sistemas de transmisión. El código GStreamer se distribuye bajo la licencia LGPLv2.1. Por separado, se están desarrollando 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. . A nivel de API y ABI, la nueva versión es retrocompatible con la rama 1.0. Pronto se prepararán compilaciones binarias para Android, iOS, macOS y Windows (en Linux se recomienda usar paquetes de la distribución).
Mejoras clave en GStreamer 1.22:
- Soporte mejorado para el formato de codificación de video AV1. Se agregó la capacidad de usar la codificación y decodificación AV1 acelerada por hardware a través de las API VAAPI/VA, AMF, D3D11, NVCODEC, QSV e Intel MediaSDK. Se agregaron nuevos controladores RTP para AV1. Análisis AV1 mejorado en contenedores MP4, Matroska y WebM. Los ensamblajes incluyen elementos con codificadores y decodificadores AV1 basados en las bibliotecas dav1d y rav1e.
- Soporte Qt6 implementado. Se agregó el elemento qml6glsink que usa Qt6 para renderizar video dentro de una escena QML.
- Se agregaron elementos gtk4paintablesink y gtkwaylandsink para renderizar con GTK4 y Wayland.
- Se agregaron nuevos clientes de transmisión adaptativa que admiten los protocolos HLS, DASH y MSS (Microsoft Smooth Streaming).
- Brinda la capacidad de crear ensamblajes simplificados optimizados para la reducción de tamaño.
- Se agregó soporte para transmisión simultánea WebRTC y control de congestión de Google.
- Se ha proporcionado un complemento simple y autónomo para enviar a través de WebRTC.
- Se ha agregado un nuevo empaquetador de contenedores de medios MP4 con soporte para datos fragmentados y no fragmentados.
- Se agregaron nuevos complementos para los servicios de transcripción de audio y almacenamiento de Amazon AWS.
- Enlaces actualizados para el lenguaje Rust. Se agregaron 19 nuevos complementos, efectos y elementos escritos en Rust (gst-plugins-rs). Se observa que el 33% de los cambios en el nuevo GStreamer se implementan en Rust (los cambios se relacionan con enlaces y complementos), y el conjunto de complementos gst-plugins-rs es uno de los módulos GStreamer desarrollados más activamente. Los complementos escritos en Rust se pueden usar en programas en cualquier idioma y trabajar con ellos es similar al uso de complementos en C y C ++.
- Los complementos de Rust se envían como parte de los paquetes binarios oficiales para las plataformas Windows y macOS (la compilación y la distribución son compatibles con Linux, Windows y macOS).
- Se ha implementado un servidor de medios basado en WebRTC escrito en Rust compatible con WHIP (ingesta de WebRTC HTTP) y WHEP (salida de WebRTC HTTP).
- Se ha añadido el elemento videocolorscale, que combina las posibilidades de convertir y escalar vídeo.
- Soporte mejorado para videos con alta profundidad de color.
- Se ha agregado soporte para eventos de pantalla táctil a la API de navegación.
- Se agregaron elementos de corrección de marca de tiempo H.264/H.265 para la reconstrucción de PTS/DTS antes de empaquetar contenedores de medios.
- En la plataforma Linux, se mejoró el uso de DMA para trabajar con búferes al codificar, decodificar, filtrar y renderizar video usando aceleración de hardware.
- Integración CUDA mejorada: biblioteca gst-cuda agregada y elemento cudaconvertscale, integración con elementos D3D11 y NVIDIA dGPU NVMM.
- Integración mejorada con Direct3D11: agregó una nueva biblioteca gst-d3d11, expandió las capacidades de los complementos d3d11screencapture, d3d11videosink, d3d11convert y d3d11compositor.
- Se implementaron nuevos codificadores de video H.264/AVC, H.265/HEVC y AV1 acelerados por hardware creados con el SDK AMF (Advanced Media Framework) para las GPU de AMD.
- Se agregó soporte para la codificación y decodificación de video H.265 / HEVC al complemento applemedia.
- Se agregó soporte para la codificación de video H.265/HEVC al complemento androidmedia.
- La propiedad force-live se ha agregado a los complementos audiomixer, compositor, glvideomixer y d3d11compositor para forzar el modo en vivo.
Fuente: opennet.ru