update man page to new pipeline parsing and make it more informational

Original commit message from CVS:
update man page to new pipeline parsing and make it more informational
This commit is contained in:
Benjamin Otte 2003-04-25 20:15:54 +00:00
parent 8cebfd7528
commit 1f5fa9cf82

View file

@ -1,4 +1,4 @@
.TH "GStreamer" "1" "March 2001"
.TH "GStreamer" "1" "April 2003"
.SH "NAME"
gst\-launch \- build and run a GStreamer pipeline
.SH "SYNOPSIS"
@ -9,136 +9,11 @@ gst\-launch \- build and run a GStreamer pipeline
\fIGStreamer\fP pipelines.
In simple form, a PIPELINE\-DESCRIPTION is a list of
elements separated by exclamation marks (!). Options may be appended to
elements, in the form "option=value". A group of elements
surrounded by curly braces {, } will be executed in a separate thread.
elements separated by exclamation marks (!). Properties may be appended to
elements, in the form \fIproperty=value\fR.
Connections between non-consecutive elements are created by specifying
a element names and pad names immediately before and after the
exclamation mark, in the form "element0.sinkpad!element1.srcpad".
The default name given to an element is the name of its class followed by
an index. If the element names are omitted, the previous and next
elements in the PIPELINE-DESCRIPTION will be used. If the pad names
are omitted, a default pad of the correct type (source or sink) is
found on the given element, typically named "src" or "sink".
See the GStreamer documentation for a complete description of a
a PIPELINE\-DESCRIPTION.
.SH "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
Play the mp3 music file "music.mp3" using a libmad-based plug-in and
output to an OSS device:
gst\-launch filesrc location=music.mp3 ! mad ! osssink
Play an Ogg Vorbis format file:
gst\-launch filesrc location=music.ogg ! vorbisfile ! osssink
Play an mp3 file or stream retrieved via http:
gst\-launch httpsrc location=http://domain.com/music.mp3 ! mad ! osssink
Play an mp3 file or stream using GNOME\-VFS:
gst\-launch gnomevfssrc location=music.mp3 ! mad ! osssink
gst\-launch gnomevfssrc location=http://domain.com/music.mp3 ! mad ! osssink
Use GNOME\-VFS to play an mp3 file located on an SMB server:
gst\-launch gnomevfssrc location=smb://computer/music.mp3 ! mad ! osssink
.B Format conversion
Convert an mp3 music file to an Ogg Vorbis file:
gst\-launch filesrc location=music.mp3 ! mad ! vorbisenc ! filesink location=music.ogg
Alternatively, to convert to the FLAC format, use the command line:
gst\-launch filesrc location=claptrap.mp3 ! mad ! flacenc ! filesink location=test.flac
.B Other
Plays a .WAV file:
gst\-launch filesrc location=music.wav ! wavparse ! osssink
Convert a .WAV file into Ogg Vorbis (or mp3) file:
gst\-launch filesrc location=music.wav ! wavparse ! vorbisenc ! filesink location=music.ogg
gst\-launch filesrc location=music.wav ! wavparse ! mpegaudio ! filesink location=music.mp3
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.
Rip all tracks from compact disc and convert them into a single mp3 file:
gst\-launch cdparanoia ! mpegaudio ! filesink location=cd.mp3
Using gst\-inspect, it is possible to discover settings for cdparanoia
that will tell it to rip individual tracks.
Record sound from your audio input and encode it into an ogg file:
gst\-launch osssrc ! vorbisenc ! filesink location=input.ogg
.B Video
Display only the video portion of an MPEG-1 video file, outputting to
an X display window (The "queue" element is necessary to buffer data
between the threads):
gst\-launch filesrc location=JB_FF9_TheGravityOfLove.mpg ! mpegdemux video_%02d!src { queue ! mpeg2dec ! xvideosink }
Display the video portion of a .vob file (used on DVDs), outputting to
an SDL window:
gst\-launch filesrc location=/flflfj.vob ! mpegdemux video_%02d!src { queue ! mpeg2dec ! sdlvideosink }
Play both video and audio portions of an MPEG movie:
gst\-launch filesrc location=movie.mpg ! mpegdemux video_%02d!src { queue ! mpeg2dec ! sdlvideosink } mpegdemux0.audio_%02d!src { queue ! mad ! osssink }
Play an AVI movie:
gst\-launch filesrc location=movie.avi ! avidemux video_%02d!src { queue ! windec ! sdlvideosink }
.B Network streaming
An MPEG\-1 system stream can be streamed via RTP from one machine to
another. On the receiver, execute:
gst\-launch rtprecv media_type=mpeg1_sys ! mpegdemux video_%02d!src { queue ! mpeg2dec ! xvideosink } mpegdemux0.audio_%02d!src { queue ! mad ! osssink }
On the transmitter, execute:
gst\-launch filesrc location=mpeg1system.mpeg ! mpegparse ! rtpsend ip=IPorHostname
.B Diagnostic
Generate a null stream and ignore it:
gst\-launch fakesrc ! fakesink
Generate a pure tone to test the audio output:
gst\-launch sinesrc ! osssink
Generate a familiar test pattern to test the video output:
gst\-launch videotestsrc ! xvideosink
For a complete description of possible PIPELINE-DESCRIPTIONS see above under
\fIpipeline description\fR or the GStreamer documentation.
.
.SH "OPTIONS"
@ -148,23 +23,30 @@ Generate a familiar test pattern to test the video output:
.B \-\-help
Print help synopsis and available FLAGS
.TP 8
.B \-\-silent
Do not output status information
.B \-v, \-\-silent
Output status information
.TP 8
.B \-\-exclude=TYPE, \-XTYPE
.B \-XTYPE, \-\-exclude=TYPE,
Do not output status information of TYPE
.TP 8
.B \-\-output=FILE, \-oFILE
.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 \-\-gst\-info\-mask=FLAGS
\fIGStreamer\fP info flags to set (list with \-\-help)
\fIGStreamer\fP info flags to set (list with \-\-gst\-mask\-help)
.TP 8
.B \-\-gst\-debug\-mask=FLAGS
\fIGStreamer\fP debugging flags to set (list with \-\-help)
\fIGStreamer\fP debugging flags to set (list with \-\-gst\-mask\-help)
.TP 8
.B \-\-gst\-mask=FLAGS
\fIGStreamer\fP info and debugging flags to set (list with \-\-help)
\fIGStreamer\fP info and debugging flags to set (list with \-\-gst\-mask\-help)
.TP 8
.B \-\-gst\-plugin\-spew
\fIGStreamer\fP info flags to set
@ -172,6 +54,230 @@ 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
Links the element with name SRCELEMENT to the element with name SINKELEMENT.
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.
.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 ! vorbisfile ! 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.
.
.SH "SEE ALSO"
.BR gst\-complete (1),
.BR gst\-register (1),