Le framework multimédia GStreamer 1.22.0 est disponible

Après un an de développement, GStreamer 1.22 est sorti, un ensemble multiplateforme de composants permettant de créer une large gamme d'applications multimédia, depuis les lecteurs multimédias et convertisseurs de fichiers audio/vidéo jusqu'aux applications VoIP et systèmes de streaming. Le code GStreamer est sous licence LGPLv2.1. Séparément, des mises à jour des plugins gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly sont en cours de développement, ainsi que la liaison gst-libav et le serveur de streaming gst-rtsp-server. . Au niveau API et ABI, la nouvelle version est rétrocompatible avec la branche 1.0. Des assemblys binaires seront bientôt préparés pour Android, iOS, macOS et Windows (sous Linux, il est recommandé d'utiliser les packages de la distribution).

Principales améliorations de GStreamer 1.22 :

  • Prise en charge améliorée du format d'encodage 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. Ajout de nouveaux gestionnaires RTP pour AV1. Analyse améliorée d'AV1 dans les conteneurs MP4, Matroska et WebM. Les assemblages comprennent des éléments avec des encodeurs et décodeurs AV1 basés sur les bibliothèques dav1d et rav1e.
  • Implémentation du support pour Qt6. Ajout de l'élément qml6glsink, qui utilise Qt6 pour restituer la vidéo dans une scène QML.
  • Ajout des éléments gtk4paintablesink et gtkwaylandsink pour le rendu à l'aide de GTK4 et Wayland.
  • De nouveaux clients pour le streaming adaptatif ont été ajoutés et prennent en charge les protocoles HLS, DASH et MSS (Microsoft Smooth Streaming).
  • Offre la possibilité de créer des assemblages simplifiés optimisés pour la réduction de taille.
  • Ajout de la prise en charge de la diffusion simultanée WebRTC et de Google Congestion Control.
  • Un plugin simple et autonome pour l'envoi via WebRTC est fourni.
  • Ajout d'un nouveau packer de conteneur multimédia MP4 avec prise en charge des données fragmentées et non fragmentées.
  • Ajout de nouveaux plugins pour les services de stockage et de transcription audio Amazon AWS.
  • Liaisons mises à jour pour le langage Rust. Ajout de 19 nouveaux plugins, effets et éléments écrits en Rust (gst-plugins-rs). Il est à noter que 33 % des modifications apportées au nouveau GStreamer sont implémentées dans Rust (les modifications concernent les liaisons et les plugins), et l'ensemble de plugins gst-plugins-rs est l'un des modules GStreamer les plus activement développés. Les plugins écrits en Rust peuvent être utilisés dans des programmes dans n'importe quel langage et travailler avec eux est similaire à l'utilisation de plugins en C et C++.
  • Les plugins Rust sont fournis dans le cadre des packages binaires officiels pour les plates-formes Windows et macOS (l'assemblage et la livraison sont pris en charge pour Linux, Windows et macOS).
  • Un serveur multimédia basé sur WebRTC écrit en Rust a été implémenté, prenant en charge WHIP (Ingestion HTTP WebRTC) et WHEP (sortie HTTP WebRTC).
  • Ajout de l'élément videocolorscale, qui combine des capacités de conversion et de mise à l'échelle vidéo.
  • Prise en charge améliorée des vidéos avec une profondeur de couleur élevée.
  • Ajout de la prise en charge des événements sur écran tactile à l'API de navigation.
  • Ajout d'éléments de correction d'horodatage H.264/H.265 pour la reconstruction PTS/DTS avant d'emballer les conteneurs de supports.
  • Sur la plate-forme Linux, l'utilisation de DMA a été améliorée pour fonctionner avec des tampons lors de l'encodage, du décodage, du filtrage et du rendu vidéo à l'aide de 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, l'intégration avec les éléments D3D11 et NVIDIA dGPU NVMM a été fournie.
  • L'intégration avec Direct3D11 a été améliorée : une nouvelle bibliothèque gst-d3d11 a été ajoutée, les capacités des plugins d3d11screencapture, d3d11videosink, d3d11convert et d3d11compositor ont été étendues.
  • Pour les GPU AMD, de nouveaux encodeurs vidéo à accélération matérielle aux formats H.264/AVC, H.265/HEVC et AV1 sont implémentés, construits à l'aide du SDK AMF (Advanced Media Framework).
  • Le plugin applemedia a ajouté la prise en charge de l'encodage et du décodage vidéo H.265/HEVC.
  • Ajout de la prise en charge de l'encodage vidéo H.265/HEVC au plugin Androidmedia.
  • La propriété force-live a été ajoutée aux plugins audiomixer, compositor, glvideomixer et d3d11compositor pour forcer l'activation du mode live.

Source: opennet.ru

Ajouter un commentaire