GStreamer 1.22 ya fue liberado y estas son sus novedades
Después de un año de desarrollo se dio a conocer el lanzamiento de GStreamer 1.22, el cual es 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.
En la nueva versión de GStreamer 1.22 se destacan las mejoras de soporte para el formato de codificación de video AV1, asi como tambien que se agregó la capacidad de usar codificación y decodificación AV1 acelerada por hardware a través de las API VAAPI/VA, AMF, D3D11, NVCODEC, QSV e Intel MediaSDK.
Otro a de las mejoras que se destaca de la nueva versión es que se agregaron nuevos controladores RTP para AV1. Análisis AV1 mejorado en contenedores MP4, Matroska y WebM, ademas de que tambien se incluyen las compilaciones de los elementos con codificadores y decodificadores AV1 basados en las bibliotecas dav1d y rav1e.
Ademas de ello, tambien se destaca el soporte Qt6 implementado junto con el cual se agregó el elemento qml6glsink que usa Qt6 para renderizar video dentro de una escena QML, asi como tambien que se agregaron elementos gtk4paintablesink y gtkwaylandsink para renderizar con GTK4 y Wayland y tambien nuevos clientes de transmisión adaptativa que admiten los protocolos HLS, DASH y MSS (Microsoft Smooth Streaming).
Por la parte de las mejoras en Rust se destacan los enlaces actualizados para el lenguaje Rust, asi como tambine que 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 ++.
Ademas de ello 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).
En Linux, se mejoró el uso de DMA para compartir el búfer al codificar, decodificar, filtrar y renderizar video usando aceleración de hardware, asi como tambien la integración CUDA mejorada: biblioteca gst-cuda agregada y elemento cudaconvertscale, integración con elementos D3D11 y NVIDIA dGPU NVMM.
Tambien se mejoró la integración con Direct3D11: se agregó una nueva biblioteca gst-d3d11, se ampliaron las capacidades de los complementos d3d11screencapture, d3d11videosink, d3d11convert y d3d11compositor.
De los demás cambios que se destacan de esta nueva versión:
- 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 GPU AMD.
- 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.
- Se ha agregado un elemento de escala de color de video que combina las capacidades para convertir y escalar videos.
- 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.
- 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.
Finalmente si quieres conocer más al respecto sobre esta nueva versión de Gstreamer puedes consultar el registro de cambios en el siguiente enlace.
¿Cómo instalar Gstreamer 1.22 en Ubuntu y derivados?
Si estás interesado en instalar Gstreamer 1.22 en tu distro podrás hacerlo siguiendo los pasos que compartimos a continuación.
El proceso es válido tanto para la nueva versión de Ubuntu asà como para versiones anteriores con soporte.
Para realizar la instalación, solo debemos abrir una terminal (Ctrl+ Alt + T) y en ella tecleamos los siguientes comandos:
sudo apt-get install gstreamer1.0-tools gstreamer1.0-alsa gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav