AprÚs un an de développement, la version GStreamer 1.26 est maintenant disponible. Il s'agit d'un ensemble de composants multiplateformes destiné à créer une large gamme 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 de GStreamer est distribué sous la licence LGPLv2.1. Des mises à jour séparées sont en cours pour les plugins gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, ainsi que pour l'interface gst-libav et le serveur de streaming gst-rtsp-server. Au niveau de l'API et de l'ABI, cette nouvelle version est rétrocompatible avec la branche 1.0. Des build binaires seront bientÎt préparés pour Android, iOS, macOS et Windows (pour Linux, il est recommandé d'utiliser les paquets du distributeur).
Améliorations clés de GStreamer 1.26 :
- Ajout d'un encodeur et d'un décodeur pour le format vidéo VVC (Versatile Video Coding), également connu sous le nom de norme de compression vidéo H.266, développé en collaboration par les groupes de travail MPEG (ISO/IEC JTC 1) et VCEG (ITU-T), avec la participation d'entreprises telles qu'Apple, Ericsson, Intel, Huawei, Microsoft, Qualcomm et Sony. H.266 remplace H.265 (HEVC) et offre une efficacité élevée pour la transmission et le stockage de toutes les résolutions d'écran (de SD et HD jusqu'à 4K et 8K), prenant en charge la vidéo à plage dynamique étendue (HDR, High Dynamic Range) et la vidéo panoramique en mode 360 degrés.
- Ajout d'un encodeur et d'un décodeur pour la norme de codage vidéo LCEVC (Low Complexity Enhancement Video Coding), qui implémente une couche supplémentaire de métadonnées pour améliorer la qualité des codecs existants H.26x et MP4/ISOBMFF.
- Ajout d'un encodeur et d'un dĂ©codeur pour le format d'image JPEG XS, qui est prĂ©sentĂ© comme un systĂšme lĂ©ger de codage d'images offrant des latences minimales lors de l'encodage et du dĂ©codage, et orientĂ© vers l'optimisation de la transmission de sĂ©quences d'images de trĂšs haute qualitĂ© (jusqu'Ă 8K). JPEG XS permet de rĂ©duire considĂ©rablement la bande passante requise sans pertes de qualitĂ© perceptibles pour l'Ćil humain.
- Ajout de la possibilité de substituer et d'extraire des sous-titres cachés pour les formats H.264 et H.265.
- Amélioration du support du streaming adaptatif basé sur les protocoles HLS (HTTP Live Streaming) et DASH (Dynamic Adaptive Streaming over HTTP). Nouveaux récepteurs de données multimédias (sink) hlscmafsink et hlssink3 ajoutés pour la sortie de fragments CMAF (fMP4) et MPEG-TS, ainsi que hlsmultivariantsink pour une sortie variable.
- Le packer et le dépackeur de conteneurs multimédias MPEG-TS ont ajouté le support des codecs H.266, JPEG XS, AV1 et VP9, ainsi que des métadonnées SMPTE ST-2038 et ID3.
- Des packers et dépackeurs pour le codec H.266/VVC ont été ajoutés aux formats Matroska et ISO MP4. Des dépackeurs pour les vidéos aux formats Hap et Lagarith ont été ajoutés dans MP4.
- Le support de SMPTE 2038 a été ajouté, permettant de lier des données supplémentaires et des métadonnées aux conteneurs multimédias.
- L'intégration avec l'API graphique Vulkan a été améliorée. Les possibilités de gestion de la mémoire, de choix de l'espace colorimétrique, de gestion des périphériques et de travail en plein écran ont été étendues. Le support des extensions Vulkan pour accélérer le décodage vidéo H264 et H265 a été ajouté. La performance de l'encodeur utilisant Vulkan a été augmentée.
- L'intégration avec OpenGL a été améliorée. Le support de formats supplémentaires de conversion des couleurs et de formats de pixels a été ajouté. Le support de l'importation de flux utilisant DMABufs a été ajouté.
- L'intégration avec la bibliothÚque Qt6 et QML a été améliorée.
- Les composants pour l'intégration avec CUDA et NVIDIA Video Codec SDK ont été étendus. Un encodeur de format AV1 basé sur l'API NVCODEC a été ajouté.
- La bibliothÚque gst-d3d12 avec des encodeurs et décodeurs basés sur l'API Direct3D 12 a été réalisée.
- Le stack RTSP a ajouté le support de la gestion des clés MIKEY cÎté client.
- Dans audioconvert, le support de la réorganisation des canaux audio a été ajouté.
- Dans le plugin basé sur la bibliothÚque GTK3, le support d'OpenGL/WGL sur la plateforme Windows a été ajouté.
- Dans l'élément imagefreeze, le support des formats JPEG et PNG a été ajouté.
- Dans l'Ă©lĂ©ment pitch, la possibilitĂ© de lecture Ă l'envers a Ă©tĂ© mise en Ćuvre.
- Dans l'élément rtmp2, les mécanismes d'authentification sur les serveurs RTP ont été améliorés. Le support de l'authentification dans le CDN Limelight a été ajouté.
- Dans le plugin pour l'intégration avec VA-API, des éléments pour accélérer le décodage H.266 (VVC) ainsi que l'encodage VP8 et JPEG ont été ajoutés.
- Des éléments pour travailler avec des flux basés sur le protocole QUIC (raw QUIC, RTP-over-QUIC et WebTransport) ont été ajoutés.
- Dans le jeu de gst-plugins-rs, 23 nouveaux Ă©lĂ©ments ou plugins Ă©crits en Rust ont Ă©tĂ© ajoutĂ©s. 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 C et C++.
Source : opennet.ru
