Il s'agit de la commande gst-launch-1.0 qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
gst-launch - créer et exécuter un pipeline GStreamer
SYNOPSIS
tps-lancement [OPTION...] DESCRIPTION DU PIPELINE
DESCRIPTION
tps-lancement est un outil qui construit et exécute de base GStreamer canalisations.
Sous une forme simple, une PIPELINE-DESCRIPTION est une liste d'éléments séparés par un point d'exclamation
Des marques (!). Des propriétés peuvent être ajoutées aux éléments, sous la forme propriété=valeur.
Pour une description complète des DESCRIPTIONS DE PIPELINE possibles, voir la section pipeline
la description ci-dessous ou consultez la documentation GStreamer.
Gardez à l'esprit que tps-lancement est avant tout un outil de débogage pour les développeurs et les utilisateurs. Tu
ne devrait pas créer d'applications dessus. Pour les applications, utilisez le gst_parse_launch()
fonction de l'API GStreamer comme moyen simple de construire des pipelines à partir d'un pipeline
descriptifs.
OPTIONS
tps-lancement accepte les options suivantes :
--Aidez-moi Imprimer le synopsis de l'aide et les DRAPEAUX disponibles
-dans, --verbeux
Informations sur l'état de sortie et notifications de propriété
-q, --silencieux
N'imprimez aucune information de progression
-m, --messages
Messages de sortie publiés sur le bus du pipeline
-t, --Mots clés
Balises de sortie (également appelées métadonnées)
-e, --eos-on-arrêt
Forcez un événement EOS sur les sources avant d'arrêter le pipeline. Ceci est utile pour
assurez-vous que les multiplexeurs créent des fichiers lisibles lorsqu'un pipeline de multiplexage est arrêté
avec force via Control-C.
-je, --indice
Rassemblez et imprimez les statistiques d'index. Ceci est surtout utile pour la lecture ou l'enregistrement
canalisations.
-F, --sans faute
Ne pas installer de gestionnaire de pannes
-T, --tracer
Imprimer les traces d'allocation de mémoire. La fonctionnalité doit être activée au moment de la compilation pour
.
GStreamer OPTIONS
tps-lancement accepte également les options suivantes qui sont communes à tous les GStreamer
applications:
--version-gst
Imprime la chaîne de version du GStreamer bibliothèque de base.
--gst-fatal-avertissements
Causes GStreamer pour abandonner si un message d'avertissement apparaît. Ceci équivaut à
en définissant la variable d'environnement G_DEBUG sur 'fatal_warnings' (voir la section
sûr, heureux et sain les variables ci-dessous pour plus d'informations).
--gst-debug=CHAINE
Une liste séparée par des virgules de paires category_name:level pour spécifier les niveaux de débogage
pour chaque catégorie. Le niveau est compris entre 0 et 9 où 0 n'affichera aucun message et 9
affichera tous les messages. Le caractère générique * peut être utilisé pour faire correspondre les noms de catégorie. Noter
que l'ordre des catégories et des niveaux est important, les caractères génériques à la fin peuvent
remplacer les niveaux définis plus tôt. Les niveaux de journalisation sont : 1=ERREUR, 2=AVERTISSEMENT, 3=FIXME,
4=INFO, 5=DEBUG, 6=LOG, 7=TRACE, 9=MEMDUMP. Depuis GStreamer 1.2, on peut également utiliser
les noms de niveau de débogage, par exemple --gst-debug=*sink:LOG. Une description complète du
différents niveaux de débogage peuvent être trouvés dans la documentation de l'API de la bibliothèque principale GStreamer,
dans la section « Exécution d'applications GStreamer ».
Utilisez --gst-debug-help pour afficher les noms de catégorie
Exemple : GST_CAT:5,GST_ELEMENT_*:3,oggdemux:5
--gst-debug-level=NIVEAU
Définit le seuil d'impression des messages de débogage. Un niveau supérieur imprimera
plus de messages. La plage utile est de 0 à 9, la valeur par défaut étant 0. Niveau 6 (LOG
level) affichera toutes les informations qui sont généralement requises à des fins de débogage.
Des niveaux plus élevés ne sont utiles que dans des cas très spécifiques. Voir ci-dessus pour la liste complète
des niveaux.
--gst-debug-no-color
GStreamer imprime normalement les messages de débogage afin que les messages soient codés par couleur
lorsqu'il est imprimé sur un terminal qui gère les séquences d'échappement ANSI. Utiliser cette option
les causes GStreamer pour imprimer des messages sans couleur. Réglage de la GST_DEBUG_NO_COLOR
variable d'environnement obtiendra la même chose.
--gst-debug-mode-couleur
GStreamer imprime normalement les messages de débogage afin que les messages soient codés par couleur
lorsqu'il est imprimé sur un terminal qui gère les séquences d'échappement ANSI (sur *nix), ou utilise
API console W32 pour colorer les messages imprimés dans une console (sur W32). En utilisant ce
l'option provoque GStreamer imprimer des messages sans couleur ('off' ou 'disable'),
imprimer les messages avec les couleurs par défaut (« on » ou « auto »), ou imprimer les messages en utilisant ANSI
séquences d'échappement pour la coloration ('unix'). Réglage de la GST_DEBUG_COLOR_MODE
variable d'environnement obtiendra la même chose.
--gst-debug-disable
Désactive le débogage.
--gst-debug-aide
Imprime une liste des catégories de débogage disponibles et leur niveau de débogage par défaut.
--gst-plugin-spew
GStreamer indicateurs d'information à définir Activer l'impression des erreurs lors du chargement GStreamer
plugins
--gst-plugin-path=CHEMIN
Ajouter des répertoires séparés par ':' au chemin de recherche du plugin
--gst-plugin-load=PLUGINS
Précharger les plugins spécifiés dans une liste séparée par des virgules. Une autre façon de préciser
plugins à précharger consiste à utiliser la variable d'environnement GST_PLUGIN_PATH
PIPELINE DESCRIPTION
Un pipeline se compose éléments et Gauche. Éléments peut être mis en bacs de différentes sortes.
Éléments, Gauche et bacs peut être spécifié dans une description de pipeline dans n'importe quel ordre.
Éléments
TYPE D'ÉLÉMENT [PROPRIÉTÉ1 ...]
Crée un élément de type ELEMENTTYPE et définit les PROPERTIES.
Propriétés
PROPRIÉTÉ=VALEUR...
Définit la propriété sur la valeur spécifiée. Vous pouvez utiliser tps-inspecter(1) pour en savoir plus
propriétés et valeurs autorisées des différents éléments.
Les propriétés d'énumération peuvent être définies par nom, pseudo ou valeur.
Bacs
[BINTYPE.] ( [PROPRIÉTÉ1 ...] PIPELINE-DESCRIPTION)
Spécifie qu'un bac de type BINTYPE est créé et que les propriétés données sont définies. Tous
élément entre les accolades est mis dans le bac. Veuillez noter le point qui doit être utilisé
après le BINTYPE. Vous n'aurez presque jamais besoin de cette fonctionnalité, elle n'est vraiment utile que
pour les applications utilisant l'API gst_launch_parse() avec 'bin' comme bintype. Comme ça c'est
possible de créer des pipelines partiels au lieu d'un pipeline de niveau supérieur à part entière.
Liens
[[SRCELEMENT].[PAD1,...]] ! [[ÉLÉMENT SINKE].[PAD1,...]] [[SRCELEMENT].[PAD1,...]] ! CASQUETTES !
[[ÉLÉMENT SINKE].[PAD1,...]]
Lie l'élément portant le nom SRCELEMENT à l'élément portant le nom SINKELEMENT, en utilisant le
majuscules spécifiées dans CAPS comme filtre. Les noms peuvent être définis sur les éléments avec la propriété name.
Si le nom est omis, l'élément qui a été spécifié directement avant ou après le
le lien est utilisé. Cela fonctionne à travers les bacs. Si un padname est donné, le lien se fait avec ces
tampons. Si aucun nom de pad n'est donné, toutes les possibilités sont essayées et un pad correspondant est utilisé.
Si plusieurs padnames sont donnés, les deux côtés doivent avoir le même nombre de pads spécifiés et
plusieurs liens sont effectués dans l'ordre donné.
Le lien le plus simple est donc un simple point d'exclamation, qui relie l'élément à gauche de
à l'élément à droite de celui-ci.
Capots
TYPE DE SUPPORT [, BIENS[, PROPRIÉTÉ ...]]] [; CASQUETTES[; CASQUETTES ...]]
Crée une capacité avec le type de média donné et éventuellement avec des propriétés données. Les
le type de média peut être échappé en utilisant " ou '. Si vous voulez enchaîner les majuscules, vous pouvez ajouter plus de majuscules
dans le même format par la suite.
Propriétés
Name =[(TAPER)]VALEURE
dans les listes et les plages : [(TAPER)]VALEURE
Définit la propriété demandée dans les capacités. Le nom est une valeur alphanumérique et le
type peut avoir les valeurs suivantes insensibles à la casse :
- i or int pour des valeurs entières ou des plages
- f or flotter pour les valeurs flottantes ou les plages
- b, bool or booléen pour les valeurs booléennes
- s, str or un magnifique pour les cordes
- fraction pour les fractions (framerate, pixel-aspect-ratio)
- l or liste pour les listes
Si aucun type n'a été donné, l'ordre suivant est essayé : entier, flottant, booléen, chaîne.
Les valeurs entières doivent être analysables par strtol(), flotte par strtod(). Les valeurs FOURCC peuvent soit
être des entiers ou des chaînes. Les valeurs booléennes sont (insensibles à la casse) oui, aucune, oui or non et
peut comme les chaînes être échappées avec " ou '.
Les plages sont au format suivant : [ VALUE, VALUE ]
Les listes utilisent ce format : { VALUE [, VALEURE ...] }
PIPELINE EXEMPLES
Les exemples ci-dessous supposent que vous disposez des plug-ins appropriés. En général,
"osssink" peut être remplacé par un autre plug-in de sortie audio tel que "esdsink",
"alsasink", "osxaudiosink" ou "artsdsink". De même, "xvimagesink" peut être remplacé
avec "ximagesink", "sdlvideosink", "osxvideosink" ou "aasink". Gardez à l'esprit que
différents récepteurs peuvent accepter différents formats et même le même récepteur peut accepter
différents formats sur différentes machines, vous devrez donc peut-être ajouter des éléments de conversion tels que
audioconvert et audioresample (pour l'audio) ou videoconvert (pour la vidéo) devant le
couler pour faire fonctionner les choses.
Audio lecture
tps-lancement fichiersrc emplacement=musique.mp3 ! fou ! audioconvertir ! rééchantillonnage audio !
osselet
Jouez le fichier de musique mp3 "music.mp3" à l'aide d'un plug-in basé sur libmad et exportez-le vers un OSS
dispositif
tps-lancement fichiersrc emplacement=musique.ogg ! oggdemux ! vorbisdec ! audioconvertir !
rééchantillonnage audio ! osselet
Lire un fichier au format Ogg Vorbis
tps-lancement gnomevfssrc emplacement=musique.mp3 ! fou ! osselet
tps-lancement gnomevfssrc emplacement =http://domain.com/music.mp3 ! fou ! audioconvertir !
rééchantillonnage audio ! osselet
Lire un fichier mp3 ou un flux http en utilisant GNOME-VFS
tps-lancement gnomevfssrc location=smb://ordinateur/musique.mp3 ! fou ! audioconvertir !
rééchantillonnage audio ! osselet
Utilisez GNOME-VFS pour lire un fichier mp3 situé sur un serveur SMB
Format Conversion
tps-lancement fichiersrc emplacement=musique.mp3 ! fou ! audioconvertir ! vorbisenc ! oggmux !
fichiersink emplacement=musique.ogg
Convertir un fichier de musique mp3 en un fichier Ogg Vorbis
tps-lancement fichiersrc emplacement=musique.mp3 ! fou ! audioconvertir ! flacec ! fichiersink
emplacement=test.flac
Convertir au format FLAC
Autres
tps-lancement fichiersrc emplacement=musique.wav ! analyse wav ! audioconvertir ! rééchantillonnage audio !
osselet
Lit un fichier .WAV contenant des données audio brutes (PCM).
tps-lancement fichiersrc emplacement=musique.wav ! analyse wav ! audioconvertir ! vorbisenc !
oggmux ! fichiersink emplacement=musique.ogg
tps-lancement fichiersrc emplacement=musique.wav ! analyse wav ! audioconvertir ! paralytique ! fichiersink
emplacement=musique.mp3
Convertir un fichier .WAV contenant des données audio brutes en un fichier Ogg Vorbis ou mp3
tps-lancement cdparanoiasrc mode=continu ! audioconvertir ! paralytique ! id3v2mux !
fichiersink emplacement=cd.mp3
extrait toutes les pistes du disque compact et les convertit en un seul fichier mp3
tps-lancement cdparanoiasrc piste=5 ! audioconvertir ! paralytique ! id3v2mux ! fichiersink
emplacement=piste5.mp3
extrait la piste 5 du CD et la convertit en un seul fichier mp3
En utilisant tps-inspecter(1), il est possible de découvrir des paramètres comme ci-dessus pour cdparanoiasrc
qui lui dira d'extraire le cd entier ou seulement des pistes de celui-ci. Alternativement, vous pouvez utiliser
un URI et gst-launch-1.0 trouveront un élément (comme cdparanoia) qui prend en charge cela
protocole pour vous, par exemple :
tps-lancement CDDA://5 ! paralytique vbr=nouveau vbr-qualité=6 ! fichiersink emplacement=piste5.mp3
tps-lancement osssrc ! audioconvertir ! vorbisenc ! oggmux ! fichiersink
emplacement=entrée.ogg
enregistre le son de votre entrée audio et l'encode dans un fichier ogg
Vidéo
tps-lancement fichiersrc location=JB_FF9_TheGravityOfLove.mpg ! DVDdemux ! mpeg2déc !
xvimagesink
Afficher uniquement la partie vidéo d'un fichier vidéo MPEG-1, sortie vers une fenêtre d'affichage X
tps-lancement fichiersrc emplacement=/flflfj.vob ! DVDdemux ! mpeg2déc ! sdlvideosink
Afficher la partie vidéo d'un fichier .vob (utilisé sur les DVD), sortie vers une fenêtre SDL
tps-lancement fichiersrc emplacement=film.mpg ! DVDdemux nom=démultiplexeur démultiplexeur. ! file !
mpeg2déc ! sdlvideosink démultiplexeur. ! file ! fou ! audioconvertir ! rééchantillonnage audio ! osselet
Lire les portions vidéo et audio d'un film MPEG
tps-lancement fichiersrc emplacement=film.mpg ! mpegdemux nom=démultiplexeur démultiplexeur. ! file !
mpeg2déc ! conversion vidéo ! sdlvideosink démultiplexeur. ! file ! fou ! audioconvertir !
rééchantillonnage audio ! osselet
Lire un film AVI avec un flux de sous-titres texte externe
Cet exemple montre également comment faire référence à des pads spécifiques par leur nom si un élément (ici :
textoverlay) a plusieurs blocs récepteurs ou sources.
tps-lancement superposition de texte nom=superposition ! conversion vidéo ! échelle vidéo ! autovidéosink
fichiersrc emplacement=film.avi ! décodage ! conversion vidéo ! superposition.video_sink fichiersrc
emplacement=film.srt ! sous-analyser ! superposition.text_sink
Lire un film AVI avec un flux de sous-titres texte externe à l'aide de playbin
tps-lancement bac de lecture uri=file:///chemin/vers/film.avi suburi=file:///chemin/vers/film.srt
Réseau streaming
Diffusez des vidéos en utilisant RTP et des éléments de réseau.
tps-lancement v4l2src ! vidéo/x-raw,largeur=128,hauteur=96,format=UYVY ! conversion vidéo !
ffenc_h263 ! vidéo/x-h263 ! rtph263ppay point=96 ! udpsink hôte = 192.168.1.1 port = 5000
Cette commande serait exécutée sur l'émetteur
tps-lancement udpsrc port = 5000 ! application/x-rtp, fréquence d'horloge=90000, charge utile=96 !
rtph263pdepay délai de file d'attente = 0 ! ffdec_h263 ! xvimagesink
Utilisez cette commande sur le récepteur
Diagnostique
tps-lancement -v fauxsrc nombre-tampons=16 ! faux évier
Générez un flux nul et ignorez-le (et imprimez les détails).
tps-lancement audiotestsrc ! audioconvertir ! rééchantillonnage audio ! osselet
Générer une tonalité sinusoïdale pure pour tester la sortie audio
tps-lancement tests vidéorc ! xvimagesink
tps-lancement tests vidéorc ! ximagesink
Générez un modèle de test familier pour tester la sortie vidéo
Automatique lien
Vous pouvez utiliser l'élément decodebin pour sélectionner automatiquement les bons éléments pour obtenir un
canalisation de travail.
tps-lancement fichiersrc emplacement=fichier musical ! décodage ! audioconvertir ! rééchantillonnage audio !
osselet
Lire n'importe quel format audio pris en charge
tps-lancement fichiersrc emplacement=fichier vidéo ! décodage nom=décodeur décodeur. ! file !
audioconvertir ! rééchantillonnage audio ! osselet décodeur. ! conversion vidéo ! xvimagesink
Lisez n'importe quel format vidéo pris en charge avec sortie vidéo et audio. Les fils sont utilisés
automatiquement. Pour rendre cela encore plus facile, vous pouvez utiliser l'élément playbin :
tps-lancement bac de lecture uri=file:///home/joe/foo.avi
Filtré liens
Ces exemples vous montrent comment utiliser des majuscules filtrées.
tps-lancement tests vidéorc ! 'vidéo/x-raw,format=YUY2;vidéo/x-raw,format=YV12' !
xvimagesink
Affichez une image test et utilisez pour cela le format vidéo YUY2 ou YV12.
tps-lancement osssrc ! 'audio/x-raw,taux=[32000,64000],format={S16LE,S24LE,S32LE}' !
vaguenc ! fichiersink emplacement=enregistrement.wav
enregistrer l'audio et l'écrire dans un fichier .wav. Forcer l'utilisation d'échantillons signés de 16 à 32 bits et d'un
fréquence d'échantillonnage entre 32 kHz et 64 kHz.
ENVIRONNEMENT VARIABLES
GST_DEBUG
Liste séparée par des virgules des catégories et des niveaux de débogage (par exemple
GST_DEBUG=totem:4,typefind:5). '*' est autorisé comme caractère générique dans le cadre du débogage
noms de catégorie (par exemple GST_DEBUG=*sink:6,*audio*:6). Depuis la 1.2.0, il est également possible
pour spécifier le niveau de log par nom (1=ERROR, 2=WARN, 3=FIXME, 4=INFO, 5=DEBUG, 6=LOG,
7=TRACE, 9=MEMDUMP) (par exemple GST_DEBUG=*audio*:LOG)
GST_DEBUG_NO_COLOR
Lorsque cette variable d'environnement est définie, la sortie de débogage colorée est désactivée.
GST_DEBUG_DUMP_DOT_DIR
Lorsqu'il est défini sur un chemin de système de fichiers, stockez-y les fichiers « dot » des graphiques de pipeline. Ces
peut ensuite être converti en image à l'aide de l'utilitaire 'dot' de graphviz
ensemble d'outils, comme ceci : dot foo.dot -Tsvg -o foo.svg (png ou jpg sont également possibles
comme format de sortie). Il existe également un utilitaire appelé 'xdot' qui vous permet de visualiser
le fichier .dot directement sans le convertir au préalable.
GST_REGISTRY
Chemin du fichier de registre du plugin. La valeur par défaut est ~/.cache/gstreamer-1.0/registry-
CPU.bin où CPU est le type de machine/cpu pour lequel GStreamer a été compilé, par exemple 'i486',
'i686', 'x86-64',
GST_REGISTRY_UPDATE
Défini sur "non" pour forcer GStreamer à supposer qu'aucun plugin n'a changé, a été ajouté
ou a été retiré. Cela fera que GStreamer ignore la vérification initiale si une reconstruction
du cache du registre est requis ou non. Cela peut être utile dans l'embarqué
environnements où les plugins installés ne changent jamais. N'utilisez pas cette option dans
toute autre configuration.
GST_PLUGIN_PATH
Spécifie une liste de répertoires pour rechercher des plug-ins supplémentaires. Ceux-ci prennent
priorité sur les plugins système.
GST_PLUGIN_SYSTEM_PATH
Spécifie une liste de plugins qui sont toujours chargés par défaut. S'il n'est pas défini, ce
par défaut le chemin d'installation du système et les plugins installés dans la maison de l'utilisateur
annuaire
GST_DEBUG_FILE
Définissez cette variable sur un chemin de fichier pour rediriger tous les messages de débogage GStreamer vers ce
déposer. S'il n'est pas défini, les messages de débogage seront affichés dans l'erreur standard.
CODE_ORC
Variable d'environnement Orc utile. Définissez ORC_CODE=debug pour activer les débogueurs tels que gdb
pour créer des backtraces utiles à partir du code généré par Orc. Définissez ORC_CODE=sauvegarde ou
ORC_CODE=émuler si vous pensez que le générateur de code SIMD d'Orc produit des erreurs
code. (Beaucoup de plugins GStreamer importants comme videotestsrc, audioconvert ou
l'audioresample utilise Orc).
G_DEBUG
Variable d'environnement GLib utile. Définissez G_DEBUG=fatal_warnings pour créer GStreamer
les programmes avortent lorsqu'un avertissement critique tel qu'un échec d'assertion se produit. C'est
utile si vous voulez savoir quelle partie du code a causé cet avertissement
déclenché et dans quelles circonstances. Définissez simplement G_DEBUG comme mentionné ci-dessus et
exécutez le programme dans gdb (ou laissez le core dump). Ensuite, obtenez une trace de pile de la manière habituelle
façon.
Utilisez gst-launch-1.0 en ligne en utilisant les services onworks.net