Questo è il comando gst-launch-1.0 che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
gst-launch: crea ed esegui una pipeline GStreamer
SINOSSI
gst-lancio [OPZIONE...] DESCRIZIONE DELLA PIPELINE
DESCRIZIONE
gst-lancio è uno strumento che costruisce ed esegue di base GStreamer condutture.
In forma semplice, una PIPELINE-DESCRIPTION è un elenco di elementi separati da un punto esclamativo
segni (!). Le proprietà possono essere aggiunte agli elementi, nella forma proprietà=valore.
Per una descrizione completa delle possibili DESCRIZIONI DELLA PIPELINE vedere la sezione conduttura
descrizione di seguito o consultare la documentazione di GStreamer.
Tieni presente che gst-lancio è principalmente uno strumento di debug per sviluppatori e utenti. Voi
non dovrebbe creare applicazioni su di esso. Per le applicazioni, usa gst_parse_launch()
funzione dell'API GStreamer come un modo semplice per costruire pipeline da pipeline
descrizioni.
VERSIONI
gst-lancio accetta le seguenti opzioni:
--Aiuto Stampa sinossi della guida e FLAGS disponibili
-in, --verboso
Informazioni sullo stato dell'output e notifiche di proprietà
-Q, --silenzioso
Non stampare alcuna informazione sullo stato di avanzamento
-M, --messaggi
Messaggi di output pubblicati sul bus della pipeline
-T, --tag
Tag di output (noti anche come metadati)
-e, --eos-in-spegnimento
Forza un evento EOS sulle origini prima di chiudere la pipeline. Questo è utile per
assicurati che i muxer creino file leggibili quando una pipeline di muxing viene chiusa
forzatamente tramite Control-C.
-io, --indice
Raccogliere e stampare le statistiche dell'indice. Questo è principalmente utile per la riproduzione o la registrazione
condutture.
-F, --senza colpa
Non installare un gestore degli errori
-T, --traccia
Stampa tracce di allocazione della memoria. La funzione deve essere abilitata in fase di compilazione per
lavoro.
GSTREAMER VERSIONI
gst-lancio accetta anche le seguenti opzioni comuni a tutti i GStreamer
applicazioni:
--versione-gst
Stampa la stringa della versione del GStreamer libreria centrale.
--gst-fatale-avvisi
Cause GStreamer per interrompere se si verifica un messaggio di avviso. Questo è equivalente a
impostando la variabile d'ambiente G_DEBUG su 'fatal_warnings' (vedi la sezione
Industria XNUMX variabili sotto per ulteriori informazioni).
--gst-debug=STRINGA
Un elenco separato da virgole di nome_categoria: coppie di livelli per specificare i livelli di debug
per ogni categoria. Il livello è nell'intervallo 0-9 dove 0 non mostrerà alcun messaggio e 9
mostrerà tutti i messaggi. Il carattere jolly * può essere utilizzato per abbinare i nomi delle categorie. Nota
che l'ordine delle categorie e dei livelli è importante, i caratteri jolly alla fine possono
sovrascrivere i livelli impostati in precedenza. I livelli di log sono: 1=ERRORE, 2=AVVISO, 3=FIXME,
4=INFO, 5=DEBUG, 6=LOG, 7=TRACE, 9=MEMDUMP. Dal momento che GStreamer 1.2 si può anche usare
i nomi dei livelli di debug, ad esempio --gst-debug=*sink:LOG. Una descrizione completa del
vari livelli di debug possono essere trovati nella documentazione dell'API della libreria principale di GStreamer,
nella sezione "Esecuzione di applicazioni GStreamer".
Usa --gst-debug-help per mostrare i nomi delle categorie
Esempio: GST_CAT:5,GST_ELEMENT_*:3,oggdemux:5
--gst-debug-level=LIVELLO
Imposta la soglia per la stampa dei messaggi di debug. Verrà stampato un livello più alto
più messaggi. L'intervallo utile è 0-9, con il valore predefinito 0. Livello 6 (LOG
level) mostrerà tutte le informazioni normalmente richieste per il debug.
Livelli più alti sono utili solo in casi molto specifici. Vedi sopra per l'elenco completo
di livelli.
--gst-debug-no-colore
GStreamer normalmente stampa i messaggi di debug in modo che i messaggi siano codificati a colori
quando stampato su un terminale che gestisce le sequenze di escape ANSI. Usando questa opzione
cause GStreamer per stampare messaggi senza colore. Impostazione del GST_DEBUG_NO_COLOR
variabile d'ambiente otterrà la stessa cosa.
--gst-debug-modalità colore
GStreamer normalmente stampa i messaggi di debug in modo che i messaggi siano codificati a colori
quando stampato su un terminale che gestisce le sequenze di escape ANSI (su *nix), o usa
API della console W32 per colorare i messaggi stampati in una console (su W32). Usando questo
cause di opzione GStreamer per stampare messaggi senza colore ('off' o 'disable'),
stampa i messaggi con i colori predefiniti ('on' o 'auto'), o stampa i messaggi usando ANSI
sequenze di escape per la colorazione ("unix"). Impostazione del GST_DEBUG_COLOR_MODE
variabile d'ambiente otterrà la stessa cosa.
--gst-debug-disable
Disabilita il debug.
--gst-debug-aiuto
Stampa un elenco delle categorie di debug disponibili e il relativo livello di debug predefinito.
--gst-plugin-spew
GStreamer flag info da impostare Abilita la stampa degli errori durante il caricamento GStreamer
i plugin
--gst-plugin-path=PERCORSO
Aggiungi le directory separate da ':' al percorso di ricerca del plugin
--gst-plugin-load=PLUGIN
Precarica i plug-in specificati in un elenco separato da virgole. Un altro modo per specificare
plugin da precaricare consiste nell'utilizzare la variabile d'ambiente GST_PLUGIN_PATH
TUBATURA DESCRIZIONE
Una pipeline consiste elementi e Collegamento. Elementi può essere messo in bidoni di diverso genere.
Elementi, Collegamento e bidoni può essere specificato in una descrizione della pipeline in qualsiasi ordine.
Elementi
TIPO DI ELEMENTO [PROPRIETÀ1 ...]
Crea un elemento di tipo ELEMENTTYPE e imposta le PROPRIETÀ.
Properties
PROPRIETA'=VALORE...
Imposta la proprietà sul valore specificato. Puoi usare gst-ispezionare(1) per informarsi su
proprietà e valori consentiti dei diversi elementi.
Le proprietà di enumerazione possono essere impostate per nome, nick o valore.
Bins
[TIPO BIN.] ( [PROPRIETÀ1 ...] DESCRIZIONE DELLA PIPELINE )
Specifica che viene creato un bin di tipo BINTYPE e che vengono impostate le proprietà fornite. Ogni
l'elemento tra le parentesi graffe viene inserito nel cestino. Si prega di notare il punto che deve essere utilizzato
dopo BINTYPE. Non avrai quasi mai bisogno di questa funzionalità, è solo molto utile
per le applicazioni che utilizzano l'API gst_launch_parse() con 'bin' come bintype. In questo modo è
possibile costruire gasdotti parziali invece di un vero e proprio gasdotto di primo livello.
Link e Collegamenti
[[SRCELEMENTO].[PAD1,...]] ! [[ELEMENTO LAVELLO].[PAD1,...]] [[SRCELEMENTO].[PAD1,...]] ! CAPSULE!
[[ELEMENTO LAVELLO].[PAD1,...]]
Collega l'elemento con nome SRCELEMENT all'elemento con nome SINKELEMENT, usando il
caps specificati in CAPS come filtro. I nomi possono essere impostati sugli elementi con la proprietà name.
Se il nome viene omesso, l'elemento che è stato specificato direttamente prima o dopo il
viene utilizzato il collegamento. Funziona su tutti i contenitori. Se viene fornito un nome di pad, il collegamento viene eseguito con questi
pastiglie. Se non vengono dati nomi di pad, vengono provate tutte le possibilità e viene utilizzato un pad corrispondente.
Se vengono forniti più nomi di pad, entrambi i lati devono avere lo stesso numero di pad specificato e
più collegamenti vengono eseguiti nell'ordine indicato.
Quindi il collegamento più semplice è un semplice punto esclamativo, che collega l'elemento a sinistra di
esso all'elemento a destra di esso.
Tappi
TIPO DI SUPPORTO [, PROPRIETÀ[, PROPRIETÀ ...]]] [; MAIUSC[; TAPPI ...]]
Crea una funzionalità con il tipo di supporto specificato e, facoltativamente, con determinate proprietà. Il
il tipo di media può essere sfuggito usando " o '. Se vuoi concatenare maiuscole, puoi aggiungere più maiuscole
nello stesso formato in seguito.
Properties
Name =[(GENERE)]VALORE
in elenchi e intervalli: [(GENERE)]VALORE
Imposta la proprietà richiesta nelle capacità. Il nome è un valore alfanumerico e il
type può avere i seguenti valori senza distinzione tra maiuscole e minuscole:
- i or int per valori interi o intervalli
- f or galleggiante per valori float o intervalli
- b, bool or booleano per valori booleani
- s, str or stringa per archi
- frazione per frazioni (framerate, pixel-aspect-ratio)
- l or stratagemma per le liste
Se non è stato fornito alcun tipo, viene provato il seguente ordine: intero, float, booleano, stringa.
I valori interi devono essere analizzabili da strtolo(), galleggia da strd(). I valori FOURCC possono sia
essere numeri interi o stringhe. I valori booleani sono (senza distinzione tra maiuscole e minuscole) sì, no, vero or falso e
le stringhe potrebbero essere sfuggite con " o '.
Gli intervalli sono in questo formato: [ VALUE, VALUE ]
Gli elenchi utilizzano questo formato: { VALORE [, VALORE ...] }
TUBATURA ESEMPI
Gli esempi seguenti presuppongono che tu abbia a disposizione i plug-in corretti. Generalmente,
"osssink" può essere sostituito con un altro plug-in di uscita audio come "esdsink",
"alsasink", "osxaudiosink" o "artsdsink". Allo stesso modo, "xvimagesink" può essere sostituito
con "ximagesink", "sdlvideosink", "osxvideosink" o "aasink". Tieni presente però che
lavandini diversi potrebbero accettare formati diversi e anche lo stesso lavandino potrebbe accettare
formati diversi su macchine diverse, quindi potrebbe essere necessario aggiungere elementi di conversione come
audioconvert e audioresample (per audio) o videoconvert (per video) davanti al
affondare per far funzionare le cose.
audio riproduzione
gst-lancio filerc posizione=musica.mp3 ! pazzo ! conversione audio ! campione audio !
ossink
Riproduci il file musicale mp3 "music.mp3" utilizzando un plug-in basato su libmad e invialo a un OSS
dispositivo
gst-lancio filerc location=musica.ogg ! oggdemux ! vorbisdec ! conversione audio !
campione audio ! ossink
Riproduci un file in formato Ogg Vorbis
gst-lancio gnomevfssrc posizione=musica.mp3 ! pazzo ! ossink
gst-lancio gnomevfssrc posizione=http://domain.com/music.mp3 ! pazzo ! conversione audio !
campione audio ! ossink
Riproduci un file mp3 o un flusso http usando GNOME-VFS
gst-lancio gnomevfssrc location=smb://computer/musica.mp3 ! pazzo ! conversione audio !
campione audio ! ossink
Usa GNOME-VFS per riprodurre un file mp3 che si trova su un server SMB
Formato conversione
gst-lancio filerc posizione=musica.mp3 ! pazzo ! conversione audio ! vorbisec ! oggmux !
fileink location=musica.ogg
Converti un file musicale mp3 in un file Ogg Vorbis
gst-lancio filerc posizione=musica.mp3 ! pazzo ! conversione audio ! flacenza ! fileink
posizione=test.flac
Converti nel formato FLAC
Altro (Eolico)
gst-lancio filerc posizione=musica.wav ! wavparse ! conversione audio ! campione audio !
ossink
Riproduce un file .WAV che contiene dati audio grezzi (PCM).
gst-lancio filerc posizione=musica.wav ! wavparse ! conversione audio ! vorbisec !
oggmux ! fileink location=musica.ogg
gst-lancio filerc posizione=musica.wav ! wavparse ! conversione audio ! paralitico ! fileink
posizione=musica.mp3
Converti un file .WAV contenente dati audio non elaborati in un file Ogg Vorbis o mp3
gst-lancio cdparanoiasrc modalità=continuo ! conversione audio ! paralitico ! id3v2mux !
fileink posizione=cd.mp3
strappa tutte le tracce dal compact disc e le converte in un unico file mp3
gst-lancio cdparanoiasrc traccia=5 ! conversione audio ! paralitico ! id3v2mux ! fileink
posizione=track5.mp3
strappa la traccia 5 dal CD e la converte in un singolo file mp3
utilizzando gst-ispezionare(1), è possibile scoprire impostazioni come quelle sopra per cdparanoiasrc
che gli dirà di rippare l'intero cd o solo le sue tracce. In alternativa, puoi usare
un URI e gst-launch-1.0 troveranno un elemento (come cdparanoia) che lo supporta
protocollo per te, ad esempio:
gst-lancio cda://5 ! paralitico vbr=nuovo vbr-qualità=6 ! fileink posizione=track5.mp3
gst-lancio ossrc ! conversione audio ! vorbisec ! oggmux ! fileink
posizione=input.ogg
registra il suono dal tuo ingresso audio e lo codifica in un file ogg
Video
gst-lancio filerc posizione=JB_FF9_TheGravityOfLove.mpg ! dvddemux ! mpeg2dec !
xvimagesink
Visualizza solo la parte video di un file video MPEG-1, con output in una finestra di visualizzazione X
gst-lancio filerc posizione=/flflfj.vob ! dvddemux ! mpeg2dec ! sdlvideosink
Visualizza la parte video di un file .vob (usato sui DVD), con output in una finestra SDL
gst-lancio filerc location=film.mpg ! dvddemux nome=demuxer disintossicante. ! fare la coda !
mpeg2dec ! sdlvideosink disintossicante. ! fare la coda ! pazzo ! conversione audio ! campione audio ! ossink
Riproduci porzioni sia video che audio di un film MPEG
gst-lancio filerc location=film.mpg ! mpegdemux nome=demuxer disintossicante. ! fare la coda !
mpeg2dec ! videoconvertire ! sdlvideosink disintossicante. ! fare la coda ! pazzo ! conversione audio !
campione audio ! ossink
Riproduci un film AVI con un flusso di sottotitoli di testo esterno
Questo esempio mostra anche come fare riferimento a pad specifici per nome se un elemento (qui:
textoverlay) ha più pad sink o source.
gst-lancio sovrapposizione di testo nome=sovrapposizione ! videoconvertire ! scala video ! autovideosink
filerc location=film.avi ! decodificare ! videoconvertire ! overlay.video_sink filerc
location=film.srt ! sottrarre ! overlay.text_sink
Riproduci un film AVI con un flusso di sottotitoli di testo esterno utilizzando playbin
gst-lancio cestino uri=file:///percorso/di/film.avi suburi=file:///percorso/al/film.srt
Network NetPoulSafe Streaming
Streaming video utilizzando RTP ed elementi di rete.
gst-lancio v4l2src ! video/x-raw,larghezza=128,altezza=96,formato=UYVY ! videoconvertire !
ffen_h263 ! video/x-h263 ! rtph263ppay punto=96 ! lavandino host=192.168.1.1 port = 5000
Questo comando verrebbe eseguito sul trasmettitore
gst-lancio udpsrc port = 5000 ! applicazione/x-rtp, frequenza=90000, carico utile=96 !
rtph263pdepay ritardo-coda=0 ! ffdec_h263 ! xvimagesink
Usa questo comando sul ricevitore
Diagnosi
gst-lancio -v fakesrc num-buffer=16 ! lavandino finto
Genera un flusso nullo e ignoralo (e stampa i dettagli).
gst-lancio audiotestrc ! conversione audio ! campione audio ! ossink
Genera un tono sinusoidale puro per testare l'uscita audio
gst-lancio videotestrc ! xvimagesink
gst-lancio videotestrc ! ximagesink
Genera un modello di test familiare per testare l'uscita video
Automatico collegamento
Puoi usare l'elemento decodebin per selezionare automaticamente gli elementi giusti per ottenere un
conduttura funzionante.
gst-lancio filerc location=filemusicale ! decodificare ! conversione audio ! campione audio !
ossink
Riproduci qualsiasi formato audio supportato
gst-lancio filerc posizione=file video ! decodificare nome=decodificatore decodificatore. ! fare la coda !
conversione audio ! campione audio ! ossink decodificatore. ! videoconvertire ! xvimagesink
Riproduci qualsiasi formato video supportato con uscita video e audio. I fili sono usati
automaticamente. Per renderlo ancora più semplice, puoi usare l'elemento playbin:
gst-lancio cestino uri=file:///home/joe/foo.avi
Filtrato connessioni
Questi esempi mostrano come utilizzare i cappucci filtrati.
gst-lancio videotestrc ! 'video/x-raw, formato=YUY2; video/x-raw, formato=YV12' !
xvimagesink
Mostra un'immagine di prova e usa il formato video YUY2 o YV12 per questo.
gst-lancio ossrc ! 'audio/x-raw,frequenza=[32000,64000],formato={S16LE,S24LE,S32LE}' !
wavenc ! fileink posizione=registrazione.wav
registra l'audio e scrivilo in un file .wav. Forza l'utilizzo di campioni firmati da 16 a 32 bit e a
frequenza di campionamento tra 32kHz e 64KHz.
AMBIENTE VARIABILI
GST_DEBUG
Elenco separato da virgole di categorie e livelli di debug (es
GST_DEBUG=totem:4,typefind:5). '*' è consentito come carattere jolly come parte del debug
nomi di categoria (es. GST_DEBUG=*sink:6,*audio*:6). Dal 1.2.0 è anche possibile
per specificare il livello di log per nome (1=ERROR, 2=WARN, 3=FIXME, 4=INFO, 5=DEBUG, 6=LOG,
7=TRACE, 9=MEMDUMP) (es. GST_DEBUG=*audio*:LOG)
GST_DEBUG_NO_COLOR
Quando questa variabile di ambiente è impostata, l'output di debug colorato è disabilitato.
GST_DEBUG_DUMP_DOT_DIR
Quando è impostato su un percorso di filesystem, memorizza lì i file "punto" dei grafici della pipeline. Queste
può poi essere convertito in un'immagine usando l'utilità 'punto' dal graphviz
set di strumenti, come questo: dot foo.dot -Tsvg -o foo.svg (sono possibili anche png o jpg
come formato di output). C'è anche un'utilità chiamata 'xdot' che ti permette di vedere
il file .dot direttamente senza convertirlo prima.
REGISTRO_GST
Percorso del file di registro del plugin. L'impostazione predefinita è ~/.cache/gstreamer-1.0/registry-
CPU.bin dove CPU è il tipo di macchina/cpu per cui GStreamer è stato compilato, ad esempio 'i486',
'i686', 'x86-64',
GST_REGISTRY_UPDATE
Impostato su "no" per forzare GStreamer a presumere che nessun plug-in sia stato modificato, è stato aggiunto
o è stato rimosso. Questo farà sì che GStreamer salti il controllo iniziale se una ricostruzione
della cache del registro è richiesta o meno. Questo può essere utile in embedded
ambienti in cui i plugin installati non cambiano mai. Non utilizzare questa opzione in
qualsiasi altra configurazione.
GST_PLUGIN_PATH
Specifica un elenco di directory per la ricerca di plug-in aggiuntivi. questi prendono
precedenza sui plugin di sistema.
GST_PLUGIN_SYSTEM_PATH
Specifica un elenco di plug-in che vengono sempre caricati per impostazione predefinita. Se non è impostato, questo
l'impostazione predefinita è il percorso di installazione del sistema e i plug-in installati nella casa dell'utente
elenco
GST_DEBUG_FILE
Imposta questa variabile su un percorso di file per reindirizzare tutti i messaggi di debug di GStreamer a questo
file. Se lasciato non impostato, i messaggi di debug verranno emessi nell'errore standard.
CODICE_ORC
Utile variabile d'ambiente Orc. Imposta ORC_CODE=debug per abilitare i debugger come gdb
per creare utili backtrace dal codice generato da Orc. Imposta ORC_CODE=backup o
ORC_CODE = emula se sospetti che il generatore di codice SIMD di Orc stia producendo in modo errato
codice. (Alcuni plugin GStreamer importanti come videotestsrc, audioconvert o
audioresample usa Orc).
G_DEBUG
Utile variabile di ambiente GLib. Imposta G_DEBUG=fatal_warnings per creare GStreamer
i programmi si interrompono quando si verifica un avviso critico come un errore di asserzione. Questo è
utile se vuoi scoprire quale parte del codice ha causato quell'avviso
attivato e in quali circostanze. Basta impostare G_DEBUG come menzionato sopra e
esegui il programma in gdb (o lascia che venga eseguito il core dump). Quindi ottieni una traccia dello stack nel solito
modo.
Usa gst-launch-1.0 online utilizzando i servizi onworks.net