GStreamer

Logiciel capture d'écran:
GStreamer
Détails logiciels:
Version: 1.14.2 Mise à jour
Date de transfert: 17 Aug 18
Développeur: Wim Taymans
Licence: Gratuit
Popularité: 117

Rating: 1.0/5 (Total Votes: 3)

GStreamer est une bibliothèque open source, un logiciel complexe qui sert de cadre multimédia à de nombreux systèmes d’exploitation GNU / Linux, ainsi qu’Android, OpenBSD, Mac OS X, Microsoft Windows, etc. et Symbian OS.


Caractéristiques en un coup d'oeil

Les fonctionnalités clés incluent une bibliothèque de base complète, une architecture de plug-in intelligente, une couverture étendue des technologies multimédia, ainsi que des outils de développement étendus, pour que vous puissiez facilement ajouter la prise en charge de GStreamer dans vos applications.

C’est le principal outil multimédia pour un large éventail de projets open source, qui font appel à des applications de lecture audio et vidéo, telles que Totem (vidéos) à partir de l’environnement de bureau GNOME et d’éditeurs vidéo et audio complexes.

En outre, le logiciel offre de très hautes performances et une faible latence, grâce à sa technologie de transmission de données extrêmement légère, ainsi qu’à la synchronisation globale des flux (audio / vidéo) par synchronisation.

Comprend plusieurs packs de codecs

Le projet est composé de plusieurs packages différents, également appelés packs de code, qui peuvent être facilement installés sur toute distribution GNU / Linux à partir de leurs référentiels de logiciels par défaut en une seule fois ou séparément. Les voici: Base de plugins GStreamer, Plugins GStreamer, Plugins GStreamer Bad et Plugins GStreamer Ugly.

GStreamer est une bibliothèque de base compacte qui permet des constructions de lignes de flottaison aléatoires grâce à sa structure basée sur des graphes, basée sur la bibliothèque de modèles d'objet GLib 2.0, qui peut être utilisée pour la conception orientée objet et l'héritage.


Utilise la technologie QoS (Quality of Service)

Afin de garantir la meilleure qualité audio et vidéo possible avec une charge CPU élevée, le projet utilise la technologie QoS (Quality of Service). En outre, il fournit une construction transparente et triviale de pipelines multithread.

Grâce à son API (Application Programming Interface) simple, stable et propre, les développeurs peuvent facilement l’intégrer dans leurs applications, ainsi que créer des plug-ins qui étendront ses fonctionnalités par défaut. Il leur fournit également un système de débogage complet.

Bottom line

En conclusion, GStreamer est un framework multimédia très puissant et très apprécié pour l’écosystème open source, offrant aux utilisateurs GNU / Linux une large gamme de codecs audio et vidéo pour la lecture et le traitement des médias.

< strong> Nouveautés dans cette version:

  • Version du correctif.

Nouveautés dans la version 1.14.1:

  • Version du correctif.

Nouveautés dans la version:

  • Cette version ne contient que des corrections de bogues et il est conseillé de les mettre à jour à partir de 1.8.0.

Nouveautés dans la version 1.8.2:

  • Cette version ne contient que des corrections de bogues et devrait être sûre pour mettre à jour depuis 1.8.0.

Nouveautés dans la version 1.8.0:

  • Décodage vidéo sans copie avec accélération matérielle sur Android
  • Nouvelle source de capture vidéo pour Android à l'aide de l'API android.hardware.Camera
  • Prise en charge de la lecture inversée Windows Media (ASF / WMV / WMA)
  • Un nouveau système de suivi prend en charge des outils de débogage plus sophistiqués
  • Nouvelle API de haut niveau pour la lecture GstPlayer
  • Prise en charge initiale de la nouvelle API Vulkan, voir l'article de Matthew Waters pour plus de détails
  • Amélioration de la prise en charge du codec audio Opus: prise en charge de plus de deux canaux; MPEG-TS demuxer / muxer peut maintenant gérer Opus; encodage / décodage / transmuxage précis avec Ogg, Matroska, ISOBMFF (Quicktime / MP4) et MPEG-TS en tant que conteneur; nouvelles fonctions d'utilitaire de codec pour la gestion des en-têtes et des majuscules Opus dans la bibliothèque pbutils. Les éléments encodeurs / décodeurs Opus ont également été déplacés vers gst-plugins-base (à partir de -bad) et opus RTP depayloader / payloader vers -good.
  • Module VAAPI de GStreamer maintenant disponible et maintenu dans le cadre du projet GStreamer
  • Prise en charge du proxy d’actif dans les services d’édition GStreamer

Nouveautés dans la version 1.6.3:

  • Correction de la régression dans la bibliothèque GL qui rendait glimagesink impossible sur Android
  • Dépassement arithmétique d'entier dans l'élément queue2 qui pourrait interrompre la mise en mémoire tampon ou provoquer des pannes en raison du déréférencement du pointeur NULL
  • Correction d'un crash dans le composant AAC / ADTS causé par la lecture de davantage de mémoire que celle disponible
  • Arrêtez d’ignorer les erreurs de codeur dans les encodeurs VP8 / VP9
  • Exclure GstVideoEncoder GST_VIDEO_ENCODER_FLOW_DROPPED. C'est redondant et n'a jamais été réellement mis en œuvre
  • Assurez-vous de stocker les informations vidéo correctes dans GstVideoBufferPool
  • Correction des majuscules dans rtspsrc lors de l'exécution de SRTP sur TCP entrelacé
  • Correction d'un crash dans l'analyseur pcap sur des paquets de taille 0
  • Effacer l’indicateur EOS dans appsrc pour permettre la réutilisation après EOS et le vidage
  • Ignorer les flux de vidage dans StreamSynchronizer pendant les commutateurs de flux pour résoudre les problèmes causés par cela dans gst-editing-services
  • Ignorer les balises et autres métadonnées dans les fichiers WAV après les "données" bloc en mode PUSH pour les empêcher d'être interprétés comme audio
  • Utiliser correctement la colorimétrie dans v4l2 uniquement pour les formats de couleurs YUV
  • Définit les bits réservés dans le multiplexeur MPEG TS à 1s
  • Correction du calcul des longueurs de trames SBC
  • Correction de la sortie du depayloader RTP JPEG2000 pour qu’il y ait une image par mémoire tampon et que l’utilisateur plante le décodeur OpenJPEG sur des images incomplètes
  • Mettre à jour l’instantané ffmpeg dans gst-libav à 2.8.5
  • Correction de fuites de mémoire dans scaletempo, le depayloader vidéo RTP brut et dans playsink lié aux filtres audio / vidéo
  • Corrections pour la gestion des erreurs dans le plug-in audio OSX
  • Divers correctifs et ajouts d'annotation gobject-introspection
  • Correctifs d’avertissement du compilateur pour le dernier compilateur clang

Nouveautés dans la version 1.6.1:

  • Les crashs dans les encodeurs gst-libav ont été corrigés
  • Plus de flux de test DASH-IF fonctionnent maintenant
  • Les flux Live DASH, HLS et MS SmoothStreaming sont plus fiables et d’autres correctifs pour les protocoles de streaming adaptatifs
  • La lecture inversée fonctionne avec scaletempo pour conserver la hauteur audio
  • Le temps de diffusion correct est signalé pour le paramètre apply_rate négatif
  • La validation des paquets SRTP lors du décodage ne rejette plus les paquets valides
  • Corrections de l’agrégateur audio et de l’agrégateur pour commencer à produire une sortie au bon moment, par ex. ne produisant pas beaucoup de silence au début
  • L'instantané ffmpeg interne de gst-libav a été mis à jour en 2.8.1
  • cerbero prend en charge Mac OS X 10.11 (El Capitan)
  • Diverses fuites de mémoire ont été corrigées, notamment des fuites majeures dans playbin, playsink et decodebin
  • Divers correctifs d'annotation GObject-Introspection pour les liaisons
  • et beaucoup, beaucoup plus

Nouveautés dans la version 1.6.0:

  • Prise en charge de la 3D stéréoscopique et de la vidéo multi-vues
  • API en mode Astuce pour la lecture rapide uniquement / avance rapide / retour rapide, etc.
  • Gestion améliorée de DTS (horodatage de décodage) par rapport à PTS (horodatage de présentation) pour tenir compte des DTS négatifs
  • Nouvelle API GstVideoConverter pour une conversion plus optimisée et plus correcte des images vidéo brutes entre tous les formats pris en charge, avec redimensionnement
  • v4l2src prend désormais en charge la renégociation
  • v4l2transform peut maintenant effectuer la mise à l'échelle
  • L'élément V4L2 signale maintenant correctement la colorimétrie
  • Enregistrement simplifié des fichiers MP4, Matroska, Ogg, MPEG-TS: nouvelles améliorations splitmuxsink et multifilesink
  • API de signalisation de protection du contenu et prise en charge de CENC (Common Encryption) pour DASH / MP4
  • De nombreuses améliorations du streaming adaptatif (DASH, HLS et MSS)
  • Nouvelles horloges client réseau PTP et NTP et meilleure stabilité du suivi de l’horloge distante
  • Superposition de sous-titres de texte de haute qualité aux résolutions d’affichage avec glimagesink ou gtkglsink
  • Prise en charge de RECORD pour le serveur RTSP de GStreamer
  • Prise en charge des retransmissions (RTX) sur le serveur et le client RTSP
  • Le RTSP cherchant une assistance sur le client et le serveur a été corrigé
  • Améliorations de la planification RTCP et prise en charge RTCP de taille réduite
  • MP4 / MOV muxer a acquis un nouveau "robuste" mode de fonctionnement qui tente de garder le fichier de sortie dans un état valide à tout moment
  • La prise en charge du mixage en direct dans l'agrégateur, l'audiomixer et le compositeur a été considérablement améliorée
  • le compositeur prend désormais également en charge le redimensionnement des flux d’entrée à la volée
  • Nouvel élément audiointerleave avec une synchronisation correcte des entrées et une prise en charge des entrées en direct
  • Blackmagic Design Le support de la carte de capture et de lecture DeckLink a été réécrit à partir de zéro; Support 2k / 4k; détection de mode
  • Prise en charge des métadonnées KLV dans RTP et MPEG-TS
  • Encodeur vidéo H.265 (x265), décodeurs (libav, libde265) et payloader et depayloaders RTP
  • Nouveau plug-in DTLS et prise en charge de SRTP / DTLS
  • Support OpenGL3, propagation de contextes multiples et de contextes, vidéo 3D, séparation transfert / conversion, mélange de sous-titres
  • Nouveau lavabo vidéo QML basé sur OpenGL, récepteur vidéo Gtk GL, récepteur vidéo CoreAnimation CAOpenGLLayerSink
  • gst-libav est passé en favmpeg en tant que fournisseur libav, prend en charge la vidéo 3D / multivue, les modes astucieux et le codec CAVS
  • API GstHarness pour les tests unitaires
  • gst-editing-services a obtenu une toute nouvelle interface ges-launch-1.0, un meilleur support du mixage et une intégration dans gst-validate
  • gnonlin est devenu obsolète en faveur de nle (moteur non linéaire) dans gst-editing-services
  • gst-validate a un nouveau système de plugin, une suite de tests étendue par défaut, la prise en charge des tests simultanés et le support de valgrind
  • L'outil de génération cerbero pour les packages binaires SDK bénéficie d'une nouvelle commande 'bundle-source'
  • Diverses améliorations apportées à la prise en charge des plates-formes Android, iOS, OS X et Windows

Nouveautés dans la version 1.5.2:

  • 740502: Ajouter une propriété absolue à GstDirectControlBinding
  • 740575: Correction de DTS dans GStreamer
  • 745366: concat: Transférer les événements FLUSH_START / FLUSH_STOP
  • 746949: concat: Ajouter la propriété active-pad
  • 750027: concat: réinitialiser le décalage de démarrage interne à 0 après le vidage de la recherche
  • 750033: basetransform - permet le classement / la séparation des tampons
  • 750039: Maintien en vie des tampons avec mémoire partagée
  • 750319: mémoire: les sous-classes ne connaissent pas les indicateurs de carte dans unmap
  • 750530: ptp: FreeBSD, DragonFly et les autres BSD n'ont pas ifreq.ifw_hwaddr
  • 750574: netclientclock: Faites de l'horloge une horloge enveloppante autour d'une horloge interne
  • 750761: inputselector: gère la sélection de pistes de durée différente
  • 750782: pipeline: Ajouter les propriétés gst_pipeline_set_latency (), getter et GObject
  • 751026: baseink: gère correctement les listes de tampons pour la propriété du dernier exemple
  • 751047: concat: Ajouter la propriété ajust-base
  • 751107: concat: lors du relâchement du pad, envoyez EOS de manière appropriée.
  • 751235: utils: get_compatible_pad ne respecte pas complètement les limitations de filtre
  • 751420: baseink: besoin de copier en profondeur la dernière liste de tampons dans drain

Nouveautés dans la version 1.4.5:

  • Noyau GStreamer:
  • 736969: queue2: verrou mort lors de la mise en mémoire tampon
  • 738092: baseink: verrouille la position signalée en fonction de la direction
  • 740001: tâche: condition de course lors de la pause et de l'arrêt
  • Base de plugins GStreamer:
  • 741420: pools de vidéos: devrait mettre à jour la taille dans la configuration après l’application de l’alignement
  • 715050: ajouter une police de caractère pour l'audio / x-audible
  • 739544: tcp: Ajoute le test et corrige la fuite de mémoire dans les éléments tcp
  • 739840: la police de caractères devrait reconnaître le format Apple Core Audio Format (CAF)
  • 740556: videoodecoder: ne vous plaignez pas lorsque DTS! = PTS sur les images clés
  • 740675: playsink: continue la lecture, réinitialise la propriété mute
  • 740730: rtspconnection: ne supprimez pas la source enfant si la source parent est déjà détruite
  • 740853: audiodecoder: appuyez sur les événements en attente avant d'envoyer EOS.
  • 740952: alsa: corrections de NetBSD
  • 741045: audiorate can peut perdre la précision de l'horodatage dans certains cas
  • 741198: playbin: fuite GstPads
  • Plugins GStreamer Bon:
  • 711437: apev2mux: ne devrait pas placer de balises APEv2 au début des fichiers WavPack
  • 726194: v4l2src ne se débrouille pas bien quand une carte de capture est parfois entrelacée, parfois progressive à la même résolution
  • 736397: flvdemux: le comportement de resynchronisation par flux provoque des désynchronisations A / V
  • 737603: v4l2bufferpool: définit les indicateurs entrelacés du tampon lorsque le champ est V4L2_FIELD_INTERLACED
  • 739476: vpx: échec de la compilation sur libvpx à partir de git
  • 739722: matroskamux: Registre sécurisé des threads GstMatroskamuxPad
  • 739789: v4l2allocator: corrige le message d'erreur si l'allocateur est déjà actif
  • 739791: v4l2bufferpool: unrefre pool lorsque v4l2_allocator_new () échoue
  • 739792: v4l2allocator: corrige le prototype gst_v4l2_allocator_stop
  • 739996: vidéomixer: supprime beaucoup d'images, si l'une des sources est active
  • 740040: v4l2src: échec en présence de V4L2_BUF_FLAG_ERROR
  • 740392: rtspsrc: fuite clé-mgmt décodée mikey base64
  • 740407: qtmux limite la capture à 4096x4096
  • 740633: v4l2src: le mode io RW est rompu
  • 740636: v4l2src: le framerate n’est pas toujours défini sur le pilote
  • 740671: aspectratiocrop: le recadrage doit être réinitialisé lorsque la taille de la vidéo change
  • 740905: v4l2: a toujours 1 inclusion à linux / videodev.h
  • 741271: rtph264pay: Fuite de tampon dans le payloader H.264 lors de l’utilisation de SPS / PPS
  • 741381: rtph264pay: Les conditions de course peuvent provoquer un crash lors de la reprise de PAUSED- & gt; PRÊT
  • 741407: désentrelacement: dans query_caps, renvoyez uniquement les formats pris en charge si le filtre est entrelacé
  • 737579: v4l2object: définit l'espace de couleurs pour les périphériques de sortie
  • 739754: v4l2bufferpool: Valider que toutes les mémoires sont inscriptibles avant de faire la queue
  • Plugins GStreamer Bad:
  • 722764: rawparse: correction de la gestion des requêtes SEEKING
  • 729768: mpegtsbase: augmenter la limite pour lire plus d'octets initialement pour rechercher la PCR
  • 739152: gl / cocoa: la construction avec GNUStep échoue
  • 740191: dvbbasesink: segfaults sur 32 bits (rpi)
  • 740201: gl / cacao: ne compile pas sous OSX & lt; 10.7 plus
  • 740451: srtpdec: fuit les événements de puits rtp / rtcp
  • 740953: configure.ac: test de comparaison (1) opérateur de comparaison
  • 741321: opusparse: correction de l'en-tête esp. de sortie codée de libopus
  • Serveur RTSP de GStreamer:
  • 739481: rtsp-stream: fuit le décodeur srtp en laissant rtpbin

Nouveautés dans la version 1.4.4:

  • Bogues corrigés dans la version 1.4.5:
  • 737498: multiqueue: ne prend pas en compte l’événement GAP lors du calcul du niveau actuel
  • 737794: multiqueue: blocage en cas de dépassement de la file d'attente avec des événements sérialisés
  • 737999: systemclock: problème de statut d'entrée multi-thread
  • 738198: multiqueue: ne réveille pas les flux non liés sur EOS

Nouveautés dans la version 1.4.1:

  • La version 1.4 ajoute de nouvelles fonctionnalités de la série 1.2 et fait partie de la série d'API et d'ABI-stable 1.x du framework multimédia GStreamer qui contient de nouvelles fonctionnalités. Les versions 1.4.x des corrections de bogues ne contiennent que des corrections de bogues importantes par rapport à la version 1.4.0.

Nouveautés dans la version 1.4 RC2:

  • L'équipe de GStreamer est heureuse d'annoncer la deuxième version candidate de la série stable 1.4. La série de versions 1.4 ajoute de nouvelles fonctionnalités aux séries 1.0 et 1.2 et fait partie de la série d'API et d'ABI-stable 1.x du framework multimédia GStreamer.
  • Il est à espérer que cette version candidate sera bientôt suivie de la version 1.4.0 stable si aucune régression plus importante ou de plus gros problèmes ne sont détectés, et que suffisamment de tests ont été effectués sur la version candidate. La nouvelle API ajoutée lors de la version 1.3 ne devrait plus changer à ce stade.

Nouveautés dans la version 1.4 RC1:

  • Nouvelle API:
  • GstMessageType a GST_MESSAGE_EXTENDED ajouté. Tous les types précédents qui peuvent être utilisés ensemble comme un type d'indicateur, mais à partir de ce message, les types sont simplement comptés de manière incrémentielle. Cela était nécessaire pour pouvoir ajouter d'autres types de messages. En 2.0, GstMessageType deviendra simplement un enum et non un type de drapeaux.
  • GstDeviceMonitor pour le test de périphérique, par ex. pour répertorier tous les périphériques de capture audio ou vidéo disponibles. C'est le remplacement de GstPropertyProbe à partir de 0.10.
  • Les événements accumulent maintenant le décalage d’exécution lorsqu’ils se déplacent sur des pads, comme défini par la fonction gst_pad_set_offset (). Cela permet de compenser cela dans l'événement QOS par exemple.
  • GstBuffer a un nouvel indicateur "tag-memory" qui est défini automatiquement lorsque la mémoire est ajoutée ou supprimée dans un tampon. Cela permet aux pools de mémoire tampon de détecter s'ils peuvent recycler un tampon ou s'il faut d'abord le réinitialiser.
  • GstToc a une nouvelle API pour marquer GstTocEntries comme des boucles.
  • Une erreur de ressource non autorisée a été définie pour avertir les applications que l'accès à la ressource a échoué en raison d'une autorisation manquante et pour distinguer ce cas des autres. Ce changement est déjà en 1.2.4.
  • GstPad a un nouvel indicateur "accept-intersect", qui permettra au gestionnaire de requêtes ACCEPT_CAPS par défaut de faire une intersection au lieu de vérifier le sous-ensemble. Ceci est intéressant pour les éléments d’analyseur capables de gérer des bouchons incomplets.
  • GstCollectPads prend en charge le vidage et un gestionnaire par défaut pour les événements SEEK maintenant.
  • Nouvel objet d'assistance GstFlowAggregator qui simplifie la gestion des retours de flux dans les éléments comportant plusieurs sources. De plus, GstPad stocke toujours le dernier retour de flux et fournit une API pour le récupérer.
  • GstSegment a une nouvelle API pour compenser le temps d'exécution par une valeur spécifique. Celle-ci est utilisée dans GstPad pour autoriser les décalages positifs et négatifs dans gst_pad_set_offset () dans toutes les situations.
  • La prise en charge de h265 / HEVC et de VP8 a été ajoutée à la bibliothèque des utilitaires de codec et des analyseurs de codec, et a été intégrée à différents éléments.
  • L'API d'ajustement de la validation TLS de la connexion RTSP a été ajoutée.
  • La bibliothèque RTSP et SDP est maintenant prise en charge par MIKEY (RFC 3830) et il existe une API pour distinguer les différents profils RTSP.
  • API pour accéder aux informations et statistiques sur le temps RTP.
  • La prise en charge des flux auxiliaires a été ajoutée à rtpbin.
  • La prise en charge des formats vidéo en mosaïque et bruts a été ajoutée.
  • GstVideoDecoder et GstAudioDecoder ont une API pour regrouper les événements de balise et fusionner les balises personnalisées en conséquence.
  • GstBufferPool prend en charge le vidage maintenant.
  • playbin / playsink prend en charge les filtres audio et vidéo fournis par l’application.
  • GstDiscoverer dispose d'une nouvelle API simplifiée pour obtenir des informations sur les plug-ins manquants et les informations à transmettre au programme d'installation du plug-in.
  • La bibliothèque GL a été fusionnée de gst-plugins-gl à gst-plugins-bad, fournissant une infrastructure générique pour gérer GL au sein des pipelines GStreamer et un plugin avec certains éléments les utilisant, en particulier un récepteur vidéo. Les plates-formes prises en charge sont actuellement Android, Cocoa (OS X), DispManX (Raspberry Pi), EAGL (iOS), WGL (Windows) et les plates-formes génériques X11, Wayland et EGL. Cela remplace eglglessink et est également censé remplacer osxvideosink.
  • Nouvelle classe de base GstAggregator dans gst-plugins-bad. Ceci est censé remplacer GstCollectPads dans le futur et corriger les défauts connus de son API. Avec la classe de base, certains éléments sont déjà fournis, comme un vidéomixeur (compositeur).
  • Modifications majeures:
  • Nouveaux plugins et éléments:
  • L'élément
  • v4l2videodec pour accéder aux codecs matériels sur les plates-formes qui les rendent accessibles via V4L2, par ex. Samsung Exynos. Cela s'accompagne d'une refonte majeure des éléments V4L2 existants et de l'infrastructure correspondante. L'élément v4l2videodec remplace l'élément mfcdec.
  • Nouvel élément de downloadbuffer qui remplace la fonctionnalité de mise en mémoire tampon de téléchargement de queue2. Comparé au code de queue2, il est beaucoup plus simple et uniquement pour ce cas d'utilisation unique. Une nouveauté notable est le téléchargement des lacunes dans les parties de flux déjà téléchargées lorsque rien d'autre ne doit être téléchargé. Ceci est maintenant utilisé par Playbin lorsque la mise en mémoire tampon des téléchargements est activée.

  • Éléments
  • rtpstreampay et rtpstreamdepay pour transmettre les paquets RTP sur une API de flux (par exemple, TCP) conformément à la RFC 4571.
  • Éléments rtprtx pour une implémentation standard des retransmissions, intégrés dans le plugin rtpmanager.
  • élément audiomixer qui mélange plusieurs flux audio en un seul tout en conservant la synchronisation. Ceci est prévu pour devenir le remplacement de l'élément additionneur.
  • Plug-in OpenNI2 pour les caméras 3D comme la caméra Kinect.
  • Plug-in OpenEXR pour le décodage d'images EXR à plage dynamique élevée.
  • curlsshsink et curlsftpsink pour écrire des fichiers via SSH / SFTP.
  • plug-ins videoignal, ivfparse et sndfile portés à partir de 0.10.
  • avfvideosrc, vtdec et d'autres éléments ont été portés à partir de 0.10 et sont disponibles sur OS X et iOS maintenant.
  • Autres modifications:
  • gst-libav utilise maintenant libav 10.1 et prend en charge H265 / HEVC.
  • La prise en charge des codecs matériels et des types de mémoire spéciaux a été améliorée avec des corrections de bogues et des ajouts de fonctionnalités dans divers plugins et classes de base.
  • Diverses corrections de bogues et améliorations de la mise en mémoire tampon dans les éléments queue2 et multiqueue.
  • dvbsrc prend en charge davantage de mécanismes de diffusion et d’autres fonctionnalités, y compris la prise en charge de DVB S2 et T2.
  • La bibliothèque MPEGTS prend en charge de nombreux autres descripteurs.
  • Améliorations majeures apportées à tsdemux et à tsparse, en particulier en ce qui concerne le temps et la recherche.
  • souphttpsrc prend désormais en charge les connexions persistantes, la compression, le nombre configurable de tentatives et la configuration pour la validation du certificat SSL.
  • hlsdemux a fait l’objet d’un refactoring majeur et fonctionne de manière plus fiable maintenant et supporte plus de fonctionnalités HLS, comme les modes astuces. De plus, les fragments sont poussés en aval pendant qu'ils sont téléchargés au lieu d'attendre la fin de chaque fragment.
  • dashdemux et mssdemux poussent également des fragments en aval pendant qu'ils sont téléchargés au lieu d'attendre la fin de chaque fragment.
  • videoflip peut automatiquement basculer en fonction de l’étiquette d’orientation.
  • openjpeg supporte l’API OpenJPEG2.
  • waylandsink a été refait et devrait être plus utile maintenant. Il comprend également une petite bibliothèque qui sera probablement supprimée dans le futur et donnera lieu à l’extension de l’interface GstVideoOverlay.
  • gst-rtsp-server supporte maintenant SRTP et MIKEY.

  • Les encodeurs
  • gst-libav négocient maintenant tous les paramètres de profil / niveau avec les bouchons via aval.
  • Beaucoup de corrections pour les avertissements de couverture partout.
  • Améliorations des performances liées à la négociation.
  • Plus de 800 rapports de bogues corrigés, ainsi que de nombreuses autres corrections de bogues et d’autres améliorations partout sans rapport de bogue.
  • Choses à surveiller:
  • L'élément eglglessink a été supprimé et remplacé par l'élément glimagesink.
  • L'élément mfcdec a été supprimé et remplacé par v4l2videodec.
  • osxvideosink est uniquement disponible sous OS X 10.6 ou plus récent.
  • Sous Android, l’espace de noms de la classe Java générée automatiquement pour l’initialisation de GStreamer est passé de com.gstreamer à org.freedesktop.gstreamer pour empêcher la pollution des espaces de noms.
  • Sur iOS, vous devez mettre à jour vos gst_ios_init.h et gst_ios_init.m dans vos projets à partir de celui inclus dans les binaires si vous avez déjà utilisé le module GnuTLS GIO. Le mécanisme de chargement a légèrement changé.

Nouveautés dans la version 1.2.4:

  • Noyau GStreamer:
  • 724373: Queue2 tronque son fichier temporaire lorsque le pipeline est suspendu
  • 725517: docs: corrige les fautes de frappe et supprime les annotations inconnues
  • 725809: ghostpad: plantage rare en raison du nombre de références manquant sur son pad cible
  • 727253: analyse: le fichier généré par Bison inclus dans les archives de la version provoque des erreurs de compilation
  • 727883: baseparse: fuite de mémoire des trames de file d'attente
  • Base de plugins GStreamer:
  • 693263: police de caractère: ES vidéo MPEG-2 détectée comme H.263
  • 683504: play-play: interblocage lors de la désactivation des sous-titres et désactivation sous-optimale des sous-titres
  • 700770: typefinding: fichier mp3 mal détecté sous forme de vidéo h263
  • 723597: tagdemux: L'événement Seek dans GST_FORMAT_TIME est converti en BYTES au début
  • 724633: oggdemux: ignore la dernière page en mode push
  • 724720: rtspconnection: impossible de déconnecter / reconnecter la connexion en lecture en mode tunnel
  • 725313: rtspconnection: le rappel closed () n'est jamais appelé en mode tunnel
  • 725644: typefinding: le fichier mp3 est mal détecté sous le nom H.263
  • 726642: rtspconnection: fuite de mémoire mineure dans la gestion des erreurs
  • 727025: additionneur: retravaillez la logique pour vérifier si eos doit être envoyé.
  • Plugins GStreamer Bon:
  • 725104: qtdemux: échec de la lecture inverse et du changement de flux vidéo
  • 722185: souphttpsrc: racy & quot; le serveur ne prend pas en charge la recherche de & quot; erreur
  • 724619: blocage lors de la lecture de la propriété du nom de périphérique de pulsesink
  • 725124: rtspsrc: correction du blocage lorsque la création de la tâche échoue
  • 725712: rtpsession: panne lors de la réception de RTCP FIR avec un SSRC inconnu
  • 725860: v4l2src: correction à l'aide de v4l2src avec le périphérique de capture vidéo Hauppauge HDPVR
  • 726777: rtpjpegpay: la taille de la charge utile n’est pas correctement calculée
  • 728017: L'événement eos de [régression] n'a pas pu être envoyé depuis gstrtpjitterbuffer.
  • 728041: rtph264depay: marque tous les tampons de sortie comme des unités delta lors de la sortie du format avc
  • 724638: aacparse: absence de résilience en l'absence de trame audio
  • 727329: check: souphttpsrc: nom de type inconnu ‘SoupStatus '
  • Plugins GStreamer Bad:
  • 724013: Ne pas coder en dur le fichier / usr / share / sounds / sf2 dans fluiddec
  • 725137: hlsdemux: échec de calcul de l'URL de la liste de diffusion multimédia s'il existe un paramètre de requête
  • 725140: hlsdemux: échoue à analyser correctement CODECS et RESOLUTION
  • Plugins GStreamer libav:
  • 727779: avdec_h264, matroskademux: crash lors de la recherche (régression 1.2)

Nouveautés dans la version 1.2.2:

  • La version 1.2 ajoute de nouvelles fonctionnalités Les fonctionnalités de la série 1.0 font partie de la série API 1. et API-stable de la structure multimédia GStreamer qui contient de nouvelles fonctionnalités.

Nouveautés dans la version 1.2.0:

  • Nouvelle API:
  • Négociation / partage / annonce de GstContext pour le partage d’un contexte générique entre des éléments, par ex. une poignée d'affichage
  • Méta de conversion de téléchargement de texture GL pour permettre la conversion de différents types de tampons en une texture OpenGL
  • GstCapsFeatures en tant qu'extension de GstCaps pour permettre la négociation de besoins spécifiques en mémoire ou en méta entre les éléments
  • Drapeaux GstMemory pour la mémoire contiguë et non mappable
  • L’événement stream-start a maintenant des indicateurs facultatifs, par ex. pour signaler des flux clairsemés
  • Le stream-start a même un champ optionnel group-id pour signaler tous les flux devant être lus ensemble
  • Bibliothèque Allocators dans gst-plugins-base, avec uniquement le support générique de dmabuf
  • Bibliothèque insertbin pour un traitement plus facile des pipelines liés dynamiquement (dans -bad pour le moment)
  • Bibliothèque d'assistance EGL (à -bad pour l'instant)
  • Bibliothèque de structure de données MPEG-TS (dans -bad pour le moment)
  • Nouveau GstVideoRegionOfInterestMeta pour décrire une région d'intérêt sur les images vidéo.
  • GstVideoDecoder / Encoder a new :: flush () vfunc pour remplacer la vfunc :: reset () mal définie.
  • La requête URI permet d'interroger l'URI redirigé maintenant.
  • Modifications majeures:
  • Nouvel outil: gst-play-1.0 dans gst-plugins-base pour des tests de lecture de base sur la ligne de commande.
  • Nouveaux plugins:
  • mssdemux pour Microsoft Smooth Streaming
  • Protocole de diffusion adaptative Dashdemux pour DASH
  • bluez pour l'interaction avec les périphériques Bluetooth
  • openjpeg pour le décodage et l’encodage JPEG2000
  • daala pour le décodage et l'encodage Daala expérimentaux
  • Le plugin vpx a un support expérimental de décodage et d’encodage VP9
  • plugin webp pour le décodage WebP (encodage à ajouter ultérieurement)
  • Divers autres: yadif, srtp, sbc, fluidsynth, midiparse, mfc, ivtv, exactaterip et audiofxbad
  • Plugins déplacés:
  • Les plugins dtmf, vp8rtp, scaletempo et rtpmux sont maintenant dans gst-plugins-good
  • Vidéo:
  • Correction de la gestion de la vidéo entrelacée dans les convertisseurs tels que vidéoscale et vidéoconférence (par exemple, mise à l'échelle des deux champs indépendamment)
  • videoconvert s'efforcera de minimiser les pertes de qualité lorsque la conversion est nécessaire
  • Les API expérimentales GstSurfaceConverter, GstSurfaceMeta et GstVideoContext de la bibliothèque libgstbasevideo-1.0 (nommée confusément) dans gst-plugins-bad ont été supprimées et remplacées par de nouvelles API dans GStreamer Core et gst-plugins-base (voir ci-dessus). ). Comme c'était tout ce qui restait dans cette bibliothèque, toute la bibliothèque expérimentale libgstbasevideo-1.0 a été supprimée de gst-plugins-bad
  • Le sous-échantillonnage du chroma et la conversion des paramètres de chrominance sont mieux gérés en vidéoconférence et la prise en charge de la vidéo entrelacée a été améliorée.
  • Nouveaux motifs de roue et de rayon dans videotestsrc
  • le vidéomixer peut maintenant accepter différents formats vidéo sur ses cendres et les convertir en un format commun lors du mixage
  • Audio:
  • audioconvert essaie de réduire les pertes de qualité lorsque la conversion est nécessaire
  • l'adder permet maintenant de désactiver / activer le son de ses flux d'entrée, ainsi que le volume de flux par entrée

  • Les éléments
  • pulseaudio peuvent basculer entre les appareils pendant la lecture maintenant
  • aacparse peut convertir entre ADTS ← -> RAW
  • Modifications spécifiques à la plate-forme:
  • Les majuscules, les événements, etc. sont maintenant imprimés dans les journaux de débogage de GStreamer avec leur contenu au lieu de simplement l'adresse du pointeur, même sur les plates-formes non glibc (Windows, OSX, Android).
  • Les éléments de réseau (UDP / TCP) fonctionnent désormais mieux avec les plates-formes, où les sockets IPv6 ne peuvent pas gérer IPv4 (par exemple, Windows)
  • Linux / BSD: v4l2 avait de nombreuses améliorations et nettoyages
  • Autres modifications:
  • gst-libav utilise maintenant libav 9
  • La liaison statique des plug-ins est désormais prise en charge (également dans la version 1.0.7)
  • rtspsrc: ajout du support pour NetClientClock: lorsque le serveur suggère un GstNetTimeProvider dans le SDP, configurez un GstNetClientClock esclave de l'horloge distante et suggérez cette horloge dans provide_clock. Simplifie la lecture synchronisée d'une ressource depuis un serveur RTSP. gst-rtsp-server prend désormais en charge l'ajout de cette fonctionnalité au SDP et peut fournir une horloge réseau
  • Prise en charge des retransmissions RTP / NACK et améliorations importantes du jitterbuffer RTP
  • Support SRTP et DTLS
  • Modifie de nombreux éléments et composants principaux pour utiliser l’ordre des événements persistants et ne perd pas d’importants événements de blocage pendant le vidage
  • & gt; 1000 rapports de bogues corrigés, et de nombreuses autres corrections de bogues et autres améliorations partout sans rapport de bogue
  • Choses à surveiller:
  • Un seul en-tête inclut toutes les bibliothèques, par ex. #include - c'était nécessaire pour certaines liaisons.
  • Stricter (correct) limite la vérification des sous-ensembles dans certains cas où cela n'était pas correct auparavant. Les majuscules ne seront plus toujours un sous-ensemble compatible d'un autre ensemble de majuscules si les limites du sous-ensemble ne contiennent pas certains champs des majuscules. Cela pourrait entraîner des erreurs non négociées si les plafonds sont incomplets maintenant. Toutefois, cela empêche également la corruption éventuelle des données provoquée par la canalisation de données formatées de manière incompatible / inattendue dans certains éléments. Vérifiez vos bouchons h264 pour les champs de format de flux et d'alignement et les bouchons AAC pour le champ de format de flux. Cette modification sera également incluse dans la prochaine version 1.0.8 stable.
  • Vérification plus stricte des événements manquants et correction de l'ordre des événements persistants (début du flux, majuscules, segment) à certains endroits; ceci n'est pas activé dans les versions stables par défaut, mais vous pouvez recevoir des avertissements lors de l'utilisation de builds git, de versions de développement ou lors de la compilation avec -UG_DISABLE_ASSERT dans CFLAGS
  • x264enc affiche désormais les données dans le flux d'octets par défaut si en aval il y a des majuscules (par exemple, appsink sans majuscule, fichier, udpsink, tcpserversink, etc.)
  • Les messages du démultiplexeur MPEG TS contiennent maintenant le format PMT, PAT, etc. dans un autre format. Ce nouveau format utilise les structures de données de la nouvelle bibliothèque MPEGTS
  • L’API GstContext a changé entre 1.1.4 et 1.1.90

Nouveautés dans la version 1.1.4:

  • Nouvelle API:
  • Négociation / partage / annonce de GstContext pour le partage d’un contexte générique entre des éléments, par ex. une poignée d'affichage
  • Méta de conversion de téléchargement de texture GL pour permettre la conversion de différents types de tampons en une texture OpenGL
  • GstCapsFeatures en tant qu'extension de GstCaps pour permettre la négociation de besoins spécifiques en mémoire ou en méta entre les éléments
  • Drapeaux GstMemory pour la mémoire contiguë et non mappable
  • L’événement stream-start a maintenant des indicateurs facultatifs, par ex. pour signaler des flux clairsemés
  • Le stream-start a même un champ optionnel group-id pour signaler tous les flux devant être lus ensemble
  • Bibliothèque Allocators dans gst-plugins-base, avec uniquement le support générique de dmabuf
  • Bibliothèque insertbin pour un traitement plus facile des pipelines liés dynamiquement (dans -bad pour le moment)
  • Bibliothèque d'assistance EGL (à -bad pour l'instant)
  • Bibliothèque de structure de données MPEG-TS (dans -bad pour le moment)
  • Nouveau GstVideoRegionOfInterestMeta pour décrire une région d'intérêt sur les images vidéo.
  • GstVideoDecoder / Encoder a new :: flush () vfunc pour remplacer la vfunc :: reset () mal définie.
  • La requête URI permet d'interroger l'URI redirigé maintenant.
  • Modifications majeures:
  • Nouvel outil: gst-play-1.0 dans gst-plugins-base pour des tests de lecture de base sur la ligne de commande.
  • Nouveaux plugins:
  • mssdemux pour Microsoft Smooth Streaming
  • Protocole de diffusion adaptative Dashdemux pour DASH
  • bluez pour l'interaction avec les périphériques Bluetooth
  • openjpeg pour le décodage et l’encodage JPEG2000
  • daala pour le décodage et l'encodage Daala expérimentaux
  • Le plug-in vpx a un support de décodage et d'encodage V9 expérimental
  • plugin webp pour le décodage WebP (encodage à ajouter ultérieurement)
  • Divers autres: yadif, srtp, sbc, fluidsynth, midiparse, mfc, ivtv, exactaterip et audiofxbad
  • Plugins déplacés:
  • Les plugins dtmf, vp8rtp, scaletempo et rtpmux sont maintenant dans gst-plugins-good
  • Vidéo:
  • Correction de la gestion de la vidéo entrelacée dans les convertisseurs tels que vidéoscale et vidéoconférence (par exemple, mise à l'échelle des deux champs indépendamment)
  • videoconvert s'efforcera de minimiser les pertes de qualité lorsque la conversion est nécessaire
  • Les API expérimentales GstSurfaceConverter, GstSurfaceMeta et GstVideoContext de la bibliothèque libgstbasevideo-1.0 (nommée confusément) dans gst-plugins-bad ont été supprimées et remplacées par de nouvelles API dans GStreamer Core et gst-plugins-base (voir ci-dessus). ). Comme c'était tout ce qui restait dans cette bibliothèque, toute la bibliothèque expérimentale libgstbasevideo-1.0 a été supprimée de gst-plugins-bad.
  • Le sous-échantillonnage du chroma et la conversion de l'emplacement sont mieux gérés en vidéoconférence
  • Nouveaux motifs de roue et de rayon dans videotestsrc
  • Audio:
  • l'adder permet maintenant de désactiver / activer le son de ses flux d'entrée, ainsi que le volume de flux par entrée

  • Les éléments
  • pulseaudio peuvent basculer entre les appareils pendant la lecture maintenant
  • aacparse peut convertir entre ADTS ← -> RAW
  • Modifications spécifiques à la plate-forme:
  • Les majuscules, les événements, etc. sont maintenant imprimés dans les journaux de débogage de GStreamer avec leur contenu au lieu de simplement l'adresse du pointeur, même sur les plates-formes non glibc (Windows, OSX, Android).
  • Les éléments de réseau (UDP / TCP) fonctionnent désormais mieux avec les plates-formes, où les sockets IPv6 ne peuvent pas gérer IPv4 (par exemple, Windows)
  • Windows: d3dvideosink fournit un pool de mémoire tampon aux éléments en amont
  • Linux / BSD: v4l2 avait de nombreuses améliorations et nettoyages
  • Autres modifications:
  • gst-libav utilise maintenant libav 9
  • La liaison statique des plug-ins est désormais prise en charge (également dans la version 1.0.7)
  • rtspsrc: ajout du support pour NetClientClock: lorsque le serveur suggère un GstNetTimeProvider dans le SDP, configurez un GstNetClientClock esclave de l'horloge distante et suggérez cette horloge dans provide_clock. Simplifie la lecture synchronisée d'une ressource depuis un serveur RTSP. gst-rtsp-server prend désormais en charge l'ajout de cette fonctionnalité au SDP et peut fournir une horloge réseau
  • Prise en charge des retransmissions RTP / NACK et améliorations importantes du jitterbuffer RTP
  • Support SRTP et DTLS
  • Modifie de nombreux éléments et composants principaux pour utiliser l’ordre des événements persistants et ne perd pas d’importants événements de blocage pendant le vidage
  • & gt; 1000 rapports de bogues corrigés, et de nombreuses autres corrections de bogues et autres améliorations partout sans rapport de bogue
  • Choses à surveiller:
  • Un seul en-tête inclut toutes les bibliothèques, par ex. #include - c'était nécessaire pour certaines liaisons.
  • Stricter (correct) limite la vérification des sous-ensembles dans certains cas où cela n'était pas correct auparavant. Les majuscules ne seront plus toujours un sous-ensemble compatible d'un autre ensemble de majuscules si les limites du sous-ensemble ne contiennent pas certains champs des majuscules. Cela pourrait entraîner des erreurs non négociées si les plafonds sont incomplets maintenant. Toutefois, cela empêche également la corruption éventuelle des données provoquée par la canalisation de données formatées de manière incompatible / inattendue dans certains éléments. Vérifiez vos bouchons h264 pour les champs de format de flux et d'alignement et les bouchons AAC pour le champ de format de flux. Cette modification sera également incluse dans la prochaine version 1.0.8 stable.
  • Vérification plus stricte des événements manquants et correction de l'ordre des événements persistants (début du flux, majuscules, segment) à certains endroits; ceci n'est pas activé dans les versions stables par défaut, mais vous pouvez recevoir des avertissements lors de l'utilisation de builds git, de versions de développement ou lors de la compilation avec -UG_DISABLE_ASSERT dans CFLAGS
  • x264enc affiche désormais les données dans le flux d'octets par défaut si en aval il y a des majuscules (par exemple, appsink sans majuscule, fichier, udpsink, tcpserversink, etc.)

Logiciel similaire

Ampache
Ampache

17 Jul 15

pyradio
pyradio

20 Feb 15

Pogo
Pogo

20 Feb 15

stations2playlist
stations2playlist

15 Apr 15

D'autres logiciels de développeur Wim Taymans

Commentaires à GStreamer

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!