mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-06 01:19:38 +00:00
99d26b49c2
Original commit message from CVS: first commit in the branch to test
392 lines
12 KiB
Groff
392 lines
12 KiB
Groff
.TH "GStreamer" "1" "April 2003"
|
|
.SH "NAME"
|
|
gst\-launch \- build and run a GStreamer pipeline
|
|
.SH "SYNOPSIS"
|
|
\fBgst\-launch\fR \fI[OPTION...]\fR PIPELINE\-DESCRIPTION
|
|
.SH "DESCRIPTION"
|
|
.LP
|
|
\fIgst\-launch\fP is a tool that builds and runs basic
|
|
\fIGStreamer\fP pipelines.
|
|
|
|
In simple form, a PIPELINE\-DESCRIPTION is a list of
|
|
elements separated by exclamation marks (!). Properties may be appended to
|
|
elements, in the form \fIproperty=value\fR.
|
|
|
|
For a complete description of possible PIPELINE-DESCRIPTIONS see above under
|
|
\fIpipeline description\fR or the GStreamer documentation.
|
|
|
|
.
|
|
.SH "OPTIONS"
|
|
.l
|
|
\fIgst\-launch\fP accepts the following options:
|
|
.TP 8
|
|
.B \-\-help
|
|
Print help synopsis and available FLAGS
|
|
.TP 8
|
|
.B \-v, \-\-silent
|
|
Output status information
|
|
.TP 8
|
|
.B \-XTYPE, \-\-exclude=TYPE,
|
|
Do not output status information of TYPE
|
|
.TP 8
|
|
.B \-oFILE, \-\-output=FILE
|
|
Save XML representation of pipeline to FILE and exit
|
|
.TP 8
|
|
.B \-f, \-\-no_fault
|
|
Do not install a fault handler
|
|
.TP 8
|
|
.B \-t, \-\-trace
|
|
Print memory allocation traces. The feature must be enabled at compile time to
|
|
work.
|
|
.TP 8
|
|
.B \-i, \-\-iterations=N
|
|
Stop processing after N iterations.
|
|
|
|
.
|
|
.SH "GSTREAMER OPTIONS"
|
|
.l
|
|
\fIgst\-launch\fP also accepts the following options that are common
|
|
to all GStreamer applications:
|
|
.TP 8
|
|
.B \-\-gst\-version
|
|
Prints the version string of the \fIGStreamer\fP core library.
|
|
.TP 8
|
|
.B \-\-gst\-fatal\-warnings
|
|
Causes \fIGStreamer\fP to abort if a warning message occurs.
|
|
.TP 8
|
|
.B \-\-gst\-debug=STRING
|
|
A colon seperated list of category_name=level pairs to specify debugging levels
|
|
for each category. Level is in the range 0-5 where 0 will show no messages, and
|
|
5 will show all messages. The wildcard * can be used to match category names.
|
|
|
|
Use \-\-gst\-debug\-help to show category names
|
|
|
|
Example:
|
|
GST_CAT=5:GST_ELEMENT_*=3
|
|
.TP 8
|
|
.B \-\-gst\-debug\-level=LEVEL
|
|
Sets the threshold for printing debugging messages. A higher level
|
|
will print more messages. The useful range is 0-5, with the default
|
|
being 0.
|
|
.TP 8
|
|
.B \-\-gst\-debug\-no\-color
|
|
\fIGStreamer\fP normally prints debugging messages so that the
|
|
messages are color-coded when printed to a terminal that handles
|
|
ANSI escape sequences. Using this option causes \fIGStreamer\fP
|
|
to print messages without color.
|
|
.TP 8
|
|
.B \-\-gst\-disable\-debug
|
|
Disables debugging.
|
|
.TP 8
|
|
.B \-\-gst\-debug\-help
|
|
Prints a list of available debug categories and their default debugging level.
|
|
.TP 8
|
|
.B \-\-gst\-disable\-cpu\-opt
|
|
\fIGStreamer\fP normally automatically detects the capabilities of the
|
|
current CPU and selects the optimal implementation for some functions.
|
|
Using this flag disables detection, which is useful for debugging.
|
|
.TP 8
|
|
.B \-\-gst\-plugin\-spew
|
|
\fIGStreamer\fP info flags to set
|
|
Enable printout of errors while loading \fIGStreamer\fP plugins
|
|
.TP 8
|
|
.B \-\-gst\-plugin\-path=PATH
|
|
Add directories separated with ':' to the plugin search path
|
|
.TP 8
|
|
.B \-\-gst\-plugin\-load=PLUGINS
|
|
Preload plugins specified in a comma-separated list. Another way to specify
|
|
plugins to preload is to use the environment variable GST_PLUGIN_PATH
|
|
.TP 8
|
|
.B \-\-gst\-scheduler=SCHEDULER
|
|
Use SCHEDULER as the default scheduler
|
|
.TP 8
|
|
.B \-\-gst\-registry=REGISTRY
|
|
Use the file REGISTRY as registry instead of the default
|
|
|
|
.SH "PIPELINE DESCRIPTION"
|
|
|
|
A pipeline consists \fIelements\fR and \fIlinks\fR. \fIElements\fR can be put
|
|
into \fIbins\fR of different sorts. \fIElements\fR, \fIlinks\fR and \fIbins\fR
|
|
can be specified in a pipeline description in any order.
|
|
|
|
.B Elements
|
|
|
|
ELEMENTTYPE \fI[PROPERTY1 ...]\fR
|
|
|
|
Creates an element of type ELEMENTTYPE and sets the PROPERTIES.
|
|
|
|
.B Properties
|
|
|
|
PROPERTY=VALUE ...
|
|
|
|
Sets the property to the specified value. You can use \fBgst\-inspect\fR(1) to
|
|
find out about properties and allowed values of different elements.
|
|
.br
|
|
Enumeration properties can be set by name, nick or value.
|
|
|
|
.B Bins
|
|
|
|
\fI[BINTYPE.]\fR ( \fI[PROPERTY1 ...]\fR PIPELINE-DESCRIPTION )
|
|
.br
|
|
{ \fI[PROPERTY1 ...]\fR PIPELINE-DESCRIPTION }
|
|
|
|
Specifies that a bin of type BINTYPE is created and the given properties are
|
|
set. Every element between the braces is put into the bin. Using curly braces
|
|
(second line) is a short cut for using the first line and "thread" as the
|
|
BINTYPE.
|
|
.br
|
|
Please not the dot that has to be used after the BINTYPE.
|
|
|
|
.B Links
|
|
|
|
\fI[[SRCELEMENT].[PAD1,...]]\fR ! \fI[[SINKELEMENT].[PAD1,...]]\fR
|
|
\fI[[SRCELEMENT].[PAD1,...]]\fR ! CAPS ! \fI[[SINKELEMENT].[PAD1,...]]\fR
|
|
|
|
Links the element with name SRCELEMENT to the element with name SINKELEMENT,
|
|
using the caps specified in CAPS as a filter.
|
|
Names can be set on elements with the name property. If the name is omitted, the
|
|
element that was specified directly in front of or after the link is used. This
|
|
works across bins. If a padname is given, the link is done with these pads. If
|
|
no pad names are given all possibilities are tried and a matching pad is used.
|
|
If multiple padnames are given, both sides must have the same number of pads
|
|
specified and multiple links are done in the given order.
|
|
.br
|
|
So the simplest link is a simple exclamation mark, that links the element to
|
|
the left of it to the element right of it.
|
|
.br
|
|
Note that when specifying either pads or element names you have to include the
|
|
dot or your syntax will be misinterpreted. This is a change to the old syntax
|
|
used up to version 0.6 that allowed omitting the dot when only specifying a
|
|
padname.
|
|
|
|
.B Caps
|
|
|
|
MIMETYPE \fI[, PROPERTY[, PROPERTY ...]]]\fR \fI[; CAPS[; CAPS ...]]\fR
|
|
|
|
Creates a capability with the given mimetype and optionally with given
|
|
properties. The mimetype can be escaped using " or '.
|
|
If you want to chain caps, you can add more caps in the same format afterwards.
|
|
|
|
.B Properties
|
|
|
|
NAME\fI[:TYPE]\fR=VALUE
|
|
.br
|
|
in lists and ranges: [TYPE=]VALUE
|
|
|
|
Sets the requested property in capabilites. The name is an alphanumeric value
|
|
and the type can have the following case-insensitive values:
|
|
.br
|
|
- \fBi\fR or \fBint\fR for integer values or ranges
|
|
.br
|
|
- \fBf\fR or \fBfloat\fR for float values or ranges
|
|
.br
|
|
- \fB4\fR or \fBfourcc\fR for FOURCC values
|
|
.br
|
|
- \fBb\fR, \fBbool\fR or \fBboolean\fR for boolean values
|
|
.br
|
|
- \fBs\fR, \fBstr\fR or \fBstring\fR for strings
|
|
.br
|
|
- \fBl\fR or \fBlist\fR for lists
|
|
.br
|
|
If no type was given, the following order is tried: integer, float, boolean,
|
|
string.
|
|
.br
|
|
Integer values must be parsable by \fBstrtol()\fP, floats by \fBstrtod()\fP. FOURCC values may
|
|
either be integers or strings. Boolean values are (case insensitive) \fIyes\fR,
|
|
\fIno\fR, \fItrue\fR or \fIfalse\fR and may like strings be escaped with " or '.
|
|
.br
|
|
Ranges are in this format: [ PROPERTY, PROPERTY ]
|
|
.br
|
|
Lists use this format: ( PROPERTY \fI[, PROPERTY ...]\fR )
|
|
|
|
.SH "PIPELINE CONTROL"
|
|
|
|
A pipeline can be controlled by signals. SIGUSR2 will stop the pipeline
|
|
(GST_STATE_NULL); SIGUSR1 will put it back to play (GST_STATE_PLAYING).
|
|
By default, the pipeline will start in the playing state.
|
|
.br
|
|
There are currently no signals defined to go into the ready or pause
|
|
(GST_STATE_READY and GST_STATE_PAUSED) state explicitely.
|
|
|
|
.SH "PIPELINE EXAMPLES"
|
|
|
|
The examples below assume that you have the correct plug-ins available.
|
|
In general, "osssink" can be substituted with another audio output
|
|
plug-in such as "esdsink", "alsasink", or "artsdsink". Likewise,
|
|
"xvideosink" can be substituted with "sdlvideosink" or "aasink".
|
|
|
|
.B Audio playback
|
|
|
|
.B
|
|
gst\-launch filesrc location=music.mp3 ! mad ! osssink
|
|
.br
|
|
Play the mp3 music file "music.mp3" using a libmad-based plug-in and
|
|
output to an OSS device
|
|
|
|
.B
|
|
gst\-launch filesrc location=music.ogg ! oggdemux ! vorbisdec ! audioconvert ! osssink
|
|
.br
|
|
Play an Ogg Vorbis format file
|
|
|
|
.B
|
|
gst\-launch gnomevfssrc location=music.mp3 ! mad ! osssink
|
|
.br
|
|
.B
|
|
gst\-launch gnomevfssrc location=http://domain.com/music.mp3 ! mad ! osssink
|
|
.br
|
|
Play an mp3 file or an http stream using GNOME\-VFS
|
|
|
|
.B
|
|
gst\-launch gnomevfssrc location=smb://computer/music.mp3 ! mad ! osssink
|
|
.br
|
|
Use GNOME\-VFS to play an mp3 file located on an SMB server
|
|
|
|
.B Format conversion
|
|
|
|
.B
|
|
gst\-launch filesrc location=music.mp3 ! mad ! vorbisenc ! filesink location=music.ogg
|
|
.br
|
|
Convert an mp3 music file to an Ogg Vorbis file
|
|
|
|
.B
|
|
gst\-launch filesrc location=music.mp3 ! mad ! flacenc ! filesink location=test.flac
|
|
.br
|
|
Convert to the FLAC format
|
|
|
|
.B Other
|
|
|
|
.B
|
|
gst\-launch filesrc location=music.wav ! wavparse ! osssink
|
|
.br
|
|
Plays a .WAV file
|
|
|
|
.B
|
|
gst\-launch filesrc location=music.wav ! wavparse ! vorbisenc ! filesink location=music.ogg
|
|
.br
|
|
.B
|
|
gst\-launch filesrc location=music.wav ! wavparse ! mpegaudio ! filesink location=music.mp3
|
|
.br
|
|
Convert a .WAV file into Ogg Vorbis (or mp3) file
|
|
|
|
Alternatively, if you have lame installed (and have the lame plug-in),
|
|
you can substitute lame for mpegaudio in the previous example. It gives
|
|
better results than mpegaudio.
|
|
|
|
.B
|
|
gst\-launch cdparanoia ! mpegaudio ! filesink location=cd.mp3
|
|
.br
|
|
Rip all tracks from compact disc and convert them into a single mp3 file
|
|
|
|
Using \fBgst\-inspect\fR(1), it is possible to discover settings for cdparanoia
|
|
that will tell it to rip individual tracks.
|
|
|
|
.B
|
|
gst\-launch osssrc ! vorbisenc ! filesink location=input.ogg
|
|
.br
|
|
Record sound from your audio input and encode it into an ogg file
|
|
|
|
.B Video
|
|
|
|
.B
|
|
gst\-launch filesrc location=JB_FF9_TheGravityOfLove.mpg ! mpegdemux ! mpeg2dec ! xvideosink
|
|
.br
|
|
Display only the video portion of an MPEG-1 video file, outputting to
|
|
an X display window
|
|
|
|
.B
|
|
gst\-launch filesrc location=/flflfj.vob ! mpegdemux ! mpeg2dec ! sdlvideosink
|
|
.br
|
|
Display the video portion of a .vob file (used on DVDs), outputting to
|
|
an SDL window
|
|
|
|
.B
|
|
gst\-launch filesrc location=movie.mpg ! mpegdemux name=demuxer ! mpeg2dec ! sdlvideosink demuxer. ! mad ! osssink
|
|
.br
|
|
Play both video and audio portions of an MPEG movie
|
|
|
|
.B
|
|
gst\-launch filesrc location=movie.mpg ! mpegdemux name=demuxer ! { queue ! mpeg2dec ! sdlvideosink } { demuxer. ! queue ! mad ! osssink }
|
|
.br
|
|
Use threaded output to improve synchronization and smoothness. Threads require
|
|
queues for buffering on thread boundaries
|
|
|
|
.B
|
|
gst\-launch filesrc location=movie.avi ! avidemux name=demuxer ! { queue ! ffdecall ! sdlvideosink } { demuxer. ! queue ! mad ! osssink }
|
|
.br
|
|
Play an AVI movie
|
|
|
|
.B Network streaming
|
|
|
|
An MPEG\-1 system stream can be streamed via RTP from one machine to
|
|
another.
|
|
|
|
.B
|
|
gst\-launch rtprecv media_type=mpeg1_sys ! mpegdemux name=demuxer ! { queue ! mpeg2dec ! xvideosink } { demuxer. ! queue ! mad ! osssink }
|
|
.br
|
|
Use this command on the receiver
|
|
|
|
.B
|
|
gst\-launch filesrc location=mpeg1system.mpeg ! mpegparse ! rtpsend ip=IPorHostname
|
|
.br
|
|
This command would be run on the transmitter
|
|
|
|
.B Diagnostic
|
|
|
|
.B
|
|
gst\-launch fakesrc ! fakesink
|
|
.br
|
|
Generate a null stream and ignore it
|
|
|
|
.B
|
|
gst\-launch sinesrc ! osssink
|
|
.br
|
|
Generate a pure tone to test the audio output
|
|
|
|
.B
|
|
gst\-launch videotestsrc ! xvideosink
|
|
.br
|
|
Generate a familiar test pattern to test the video output
|
|
|
|
.B Automatic linking
|
|
|
|
You can use the spider element to automatically select the right elements to get
|
|
a working pipeline.
|
|
|
|
.B
|
|
gst\-launch filesrc location=musicfile ! spider ! osssink
|
|
.br
|
|
Play any supported audio format
|
|
|
|
.B
|
|
gst\-launch filesrc location=videofile ! spider name=spider ! osssink spider. ! xvideosink
|
|
.br
|
|
.B
|
|
gst\-launch filesrc location=videofile ! spider name=spider ! { queue ! osssink } { spider. ! queue ! xvideosink }
|
|
.br
|
|
Play any supported video format with video and audio output. The second pipeline
|
|
uses threaded output.
|
|
|
|
.B Filtered connections
|
|
|
|
These examples show you how to use filtered caps.
|
|
|
|
.B
|
|
gst\-launch videotestsrc ! video/raw, format:fourcc=YUY2; video/raw, format:fourcc=YV12 ! xvideosink
|
|
.br
|
|
Show a test image and use the YUY2 or YV12 video format for this.
|
|
|
|
.B
|
|
gst\-launch osssrc ! "audio/raw", format=int, width=[16, 32], depth=(16, 24, 32), signed=TRUE ! osssink
|
|
.br
|
|
Playback currently recorded audio. Force usage of signed 16 to 32 bit samples.
|
|
|
|
|
|
|
|
|
|
.
|
|
.SH "SEE ALSO"
|
|
.BR gst\-complete (1),
|
|
.BR gst\-register (1),
|
|
.BR gst\-inspect (1)
|
|
.SH "AUTHOR"
|
|
The GStreamer team at http://gstreamer.net/
|