AprĂšs un an de dĂ©veloppement, la version de GStreamer 1.22 a Ă©tĂ© publiĂ©e, un ensemble de composants multiplateformes pour crĂ©er un large Ă©ventail dâapplications multimĂ©dias, allant des lecteurs multimĂ©dias et des convertisseurs de fichiers audio/vidĂ©o aux applications VoIP et aux systĂšmes de streaming. Le code GStreamer est distribuĂ© sous la licence LGPLv2.1. Des mises Ă jour pour les plugins gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, ainsi que le wrapper gst-libav et le serveur de streaming gst-rtsp-server sont dĂ©veloppĂ©es sĂ©parĂ©ment. Au niveau de l'API et de l'ABI, cette nouvelle version est rĂ©trocompatible avec la branche 1.0. Les builds binaires seront bientĂŽt prĂ©parĂ©es pour Android, iOS, macOS et Windows (sous Linux, il est recommandĂ© d'utiliser des paquets de la distribution).
Améliorations clés de GStreamer 1.22 :
- AmĂ©lioration de la prise en charge du format de codage vidĂ©o AV1. Ajout de la possibilitĂ© dâutiliser lâaccĂ©lĂ©ration matĂ©rielle pour lâencodage et le dĂ©codage AV1 via les API VAAPI/VA, AMF, D3D11, NVCODEC, QSV et Intel MediaSDK. Nouveaux gestionnaires RTP pour AV1 ajoutĂ©s. AmĂ©lioration de lâanalyse AV1 dans les conteneurs MP4, Matroska et WebM. Les builds incluent des Ă©lĂ©ments avec des encodeurs et dĂ©codeurs AV1 basĂ©s sur les bibliothĂšques dav1d et rav1e.
- Prise en charge de Qt6 mise en Ćuvre. ĂlĂ©ment qml6glsink ajoutĂ©, utilisant Qt6 pour le rendu vidĂ©o Ă lâintĂ©rieur de la scĂšne QML.
- Ajout dâĂ©lĂ©ments gtk4paintablesink et gtkwaylandsink pour le rendu utilisant GTK4 et Wayland.
- De nouveaux clients pour le streaming adaptatif ont été ajoutés, prenant en charge les protocoles HLS, DASH et MSS (Microsoft Smooth Streaming).
- Possibilité de créer des builds réduits, optimisés pour réduire la taille.
- Prise en charge de WebRTC simulcast et du contrÎle de congestion Google ajoutée.
- Fourniture d'un plugin simple et autonome pour l'envoi via WebRTC.
- Ajout d'un nouvel emballage de conteneur multimédia MP4 prenant en charge les données fragmentées et non fragmentées.
- Ajout de nouveaux plugins pour le stockage Amazon AWS et les services de transcription audio.
- Mises Ă jour des liaisons pour le langage Rust. Ajout de 19 nouveaux plugins, effets et Ă©lĂ©ments Ă©crits en Rust (gst-plugins-rs). Il est notĂ© que 33 % des changements dans le nouveau GStreamer ont Ă©tĂ© rĂ©alisĂ©s en Rust (les modifications concernent les liaisons et les plugins), et l'ensemble des plugins gst-plugins-rs est l'un des modules les plus activement dĂ©veloppĂ©s de GStreamer. Les plugins Ă©crits en Rust peuvent ĂȘtre utilisĂ©s dans des programmes dans n'importe quel langage, et leur utilisation est similaire Ă celle des plugins en C et C++.
- La livraison des plugins pour Rust est assurée dans le cadre des paquets binaires officiels pour les plateformes Windows et macOS (la construction et la livraison sont prises en charge pour Linux, Windows et macOS).
- Un serveur multimédia écrit en Rust basé sur WebRTC a été réalisé, prenant en charge WHIP (WebRTC HTTP ingest) et WHEP (WebRTC HTTP egress).
- Un élément videocolorscale a été ajouté, combinant des fonctionnalités pour la conversion et le redimensionnement de la vidéo.
- Le support des vidéos à grande profondeur de couleur a été amélioré.
- L'API Navigation a été améliorée avec la prise en charge des événements des écrans tactiles.
- Des éléments de correction des horodatages H.264/H.265 ont été ajoutés pour la reconstruction des PTS/DTS avant l'emballage des conteneurs multimédias.
- Sur la plateforme Linux, l'application du DMA a été améliorée pour travailler avec des tampons lors du codage, du décodage, du filtrage et du rendu de la vidéo en utilisant l'accélération matérielle.
- L'intégration avec CUDA a été améliorée : la bibliothÚque gst-cuda et l'élément cudaconvertscale ont été ajoutés, assurant l'intégration avec les éléments D3D11 et NVIDIA dGPU NVMM.
- L'intégration avec Direct3D11 a été améliorée : une nouvelle bibliothÚque gst-d3d11 a été ajoutée, élargissant les capacités des plugins d3d11screencapture, d3d11videosink, d3d11convert et d3d11compositor.
- De nouveaux encodeurs vidéo accélérés par matériel pour les formats H.264/AVC, H.265/HEVC et AV1, construits avec le SDK AMF (Advanced Media Framework), ont été réalisés pour les GPU AMD.
- Le plugin applemedia a été amélioré avec la prise en charge de l'encodage et du décodage vidéo H.265/HEVC.
- Le plugin androidmedia a été amélioré avec la prise en charge de l'encodage vidéo H.265/HEVC.
- Les plugins audiomixer, compositor, glvideomixer et d3d11compositor ont ajouté la propriété force-live pour forcer l'activation du mode live.
Source : opennet.ru
