Le framework multimédia GStreamer 1.16.0 est disponible

Après plus d'un an de développement a eu lieu libération GStreamer 1.16, un ensemble multiplateforme de composants écrits en C pour créer une large gamme d'applications multimédias, 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.16, gst-plugins-good 1.16, gst-plugins-bad 1.16, gst-plugins-ugly 1.16 sont disponibles, ainsi que la liaison gst-libav 1.16 et le Serveur de streaming gst-rtsp-server 1.16. Au niveau API et ABI, la nouvelle version est rétrocompatible avec la branche 1.0. Les versions binaires seront bientôt disponibles sera préparé pour Android, iOS, macOS et Windows (sous Linux, il est recommandé d'utiliser les packages de la distribution).

Clé améliorations GStreamer 1.16 :

  • La pile WebRTC a ajouté la prise en charge des canaux de données P2P implémentés à l'aide du protocole SCTP, ainsi que la prise en charge du PAQUET pour l'envoi de différents types de données multimédia au sein d'une seule connexion et la possibilité de travailler avec plusieurs serveurs TURN (extension STUN pour contourner les traducteurs d'adresses) ;
  • Ajout de la prise en charge du codec vidéo AV1 dans les conteneurs Matroska (MKV) et QuickTime/MP4. Des paramètres AV1 supplémentaires ont été implémentés et le nombre de formats de données d'entrée pris en charge par l'encodeur a été étendu ;
  • Prise en charge supplémentaire sous-titrage, ainsi que la capacité d'identifier et d'extraire d'autres types de données intégrées à partir de la vidéo ANC (Données auxiliaires, informations supplémentaires, telles que l'audio et les métadonnées, transmises via des interfaces numériques dans les parties non affichées des lignes de balayage) ;
  • Ajout de la prise en charge de l'audio non codé (brut) sans alterner les canaux audio en mémoire (les canaux audio non entrelacés, gauche et droit sont placés dans des blocs séparés, au lieu d'alterner les canaux sous la forme « GAUCHE | DROITE | GAUCHE | DROITE | GAUCHE | DROITE » );
  • Déplacé vers l'ensemble de plugins de base (gst-plugins-base) GstVideoAggregator (cours de mixage de vidéo brute), compositeur (un remplacement amélioré de videomixer) et des éléments de mixage OpenGL (glvideomixer, glmixerbin, glvideomixerelement, glstereomix, glmosaic), qui étaient auparavant placés dans l'ensemble « gst-plugins-bad » ;
  • Ajouté nouveau régime l'alternance de trames, dans laquelle chaque buffer est traité comme une trame distincte en vidéo entrelacée avec séparation des trames supérieure et inférieure au niveau des drapeaux associés au buffer ;
  • La prise en charge du format WebM et du cryptage du contenu a été ajoutée au décompresseur de conteneur multimédia Matroska ;
  • Ajout d'un nouvel élément wpesrc qui fonctionne comme un navigateur basé sur un moteur WebKit WPE (vous permet de traiter la sortie du navigateur comme une source de données) ;
  • Video4Linux prend en charge l'encodage et le décodage HEVC, l'encodage JPEG et l'importation et l'exportation dmabuf améliorées ;
  • La prise en charge du décodage VP8/VP9 a été ajoutée au décodeur vidéo à l'aide du GPU à accélération matérielle NVIDIA, et la prise en charge du codage à accélération matérielle H.265/HEVC a été ajoutée à l'encodeur ;
  • De nombreuses améliorations ont été apportées au plugin msdk, qui permet d'utiliser l'accélération matérielle pour l'encodage et le décodage sur les puces Intel (basées sur le SDK Intel Media). Cela inclut la prise en charge supplémentaire de l'importation/exportation dmabuf, du décodage VP9, ​​de l'encodage HEVC 10 bits, du post-traitement vidéo et du changement de résolution dynamique ;
  • Le système de rendu des sous-titres ASS/SSA a ajouté la prise en charge du traitement de plusieurs sous-titres qui se croisent dans le temps et les affichent simultanément à l'écran ;
  • Une prise en charge complète a été fournie pour le système de build Meson, qui est désormais recommandé pour construire GStreamer sur toutes les plateformes. La suppression de la prise en charge d'Autotools est attendue dans la prochaine branche ;
  • La structure principale de GStreamer comprend des liaisons pour le développement dans le langage Rust et un module avec des plugins dans Rust ;
  • Une optimisation des performances a été effectuée.

Source: opennet.ru

Ajouter un commentaire