Le framework multimédia GStreamer 1.20.0 est disponible

Après un an et demi de développement, GStreamer 1.20 est sorti, un ensemble multiplateforme de composants écrits en C pour 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. Parallèlement, des mises à jour des plugins gst-plugins-base 1.20, gst-plugins-good 1.20, gst-plugins-bad 1.20, gst-plugins-ugly 1.20 sont disponibles, ainsi que la liaison gst-libav 1.20 et le Serveur de streaming gst-rtsp-server 20. 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.20 :

  • Le développement sur GitLab est passé à l'utilisation d'un référentiel unique commun à tous les modules.
  • Une nouvelle bibliothèque GstPlay de haut niveau a été ajoutée, qui remplace l'API GstPlayer et offre des fonctionnalités similaires pour la lecture de contenu, se différenciant par l'utilisation d'un bus de messages pour notifier les applications au lieu des signaux GObject.
  • Ajout de la prise en charge du décodage des informations de transparence WebM, permettant la lecture de vidéos VP8/VP9 avec des zones transparentes.
  • Les profils de codage prennent désormais en charge la définition de propriétés supplémentaires spécifiques à l'application.
  • Compositor prend en charge la conversion et le mixage vidéo multithread.
  • Les classes depayloader et payloader ont une prise en charge unifiée pour travailler avec des en-têtes RTP supplémentaires (RTP Header Extensions).
  • Ajout de la prise en charge du mécanisme SMPTE 2022-1 2-D (Forward Error Correction).
  • Encodebin et transcodebin pour les codecs VP8, VP9 et H.265 implémentent un mode de codage intelligent, dans lequel le transcodage est effectué uniquement lorsque cela est nécessaire, et le reste du temps, le flux existant est transmis.
  • Le plugin soupehttpsrc est désormais compatible avec libsoup2 et libsoup3.
  • Ajout de la possibilité de décoder les données d'entrée au niveau des trames intermédiaires (sous-trame), ce qui permet de démarrer le décodage sans attendre la réception de la trame complète. La prise en charge de cette optimisation est incluse dans les décodeurs OpenJPEG JPEG 2000, FFmpeg H.264 et OpenMAX H.264/H.265.
  • Lors du décodage vidéo pour les protocoles RTP, WebRTC et RTSP, une gestion automatique de la perte de paquets, de la corruption des données et des demandes d'images clés est fournie.
  • La prise en charge de la modification des données du codec à la volée a été ajoutée aux packers de conteneurs multimédia mp4 et Matroska, ce qui vous permet de modifier le profil, le niveau et la résolution des flux d'entrée H.264/H.265.
  • Ajout d'un mode de création de conteneurs multimédias mp4 fragmentés.
  • La prise en charge audio a été ajoutée au port basé sur WPE (WebKit Port for Embedded).
  • Ajout de la possibilité d'utiliser CUDA pour la conversion de l'espace colorimétrique, la mise à l'échelle des éléments et le chargement des éléments.
  • Ajout de la prise en charge de la mémoire NVMM (NVIDIA Memory Module) pour les éléments OpenGL glupload et gldownload.
  • Prise en charge WebRTC améliorée.
  • Un nouveau plugin pour VA-API (Video Acceleration API) a été proposé, prenant en charge davantage de décodeurs et d'éléments de post-traitement.
  • L'API AppSink a ajouté la prise en charge des événements en plus des tampons et des listes de tampons.
  • Des paramètres supplémentaires pour les files d'attente internes ont été ajoutés à AppSrc.
  • Mise à jour des liaisons du langage Rust et ajout de 26 nouveaux plugins écrits en Rust (gst-plugins-rs).
  • Ajout d'éléments aesdec et aesenc pour le cryptage et le déchiffrement à l'aide de l'algorithme AES.
  • Ajout des éléments fakeaudiosink et videocodectestsink pour les tests et le débogage.
  • Outils améliorés pour créer des versions GStreamer minimalistes.
  • Ajout de la possibilité de construire avec FFmpeg 5.0.
  • Pour Linux, des versions des codecs MPEG-2 et VP9 ont été implémentées, fonctionnant sans sauvegarde d'état (Stateless).
  • Pour Windows, la prise en charge AV3 et MPEG-11 a été ajoutée au décodeur basé sur Direct1D2/DXVA.

Source: opennet.ru

Ajouter un commentaire