From: Benjamin O. <co...@us...> - 2003-04-25 20:16:10
|
CVS Root: /cvsroot/gstreamer Module: gstreamer Changes by: company Date: Fri Apr 25 2003 13:16:09 PDT Log message: update man page to new pipeline parsing and make it more informational Modified files: tools : gst-launch.1 Links: http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/tools/gst-launch.1.diff?r1=1.12&r2=1.13 ====Begin Diffs==== Index: gst-launch.1 =================================================================== RCS file: /cvsroot/gstreamer/gstreamer/tools/gst-launch.1,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- gst-launch.1 1 Feb 2003 22:38:08 -0000 1.12 +++ gst-launch.1 25 Apr 2003 20:15:54 -0000 1.13 @@ -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,169 +9,275 @@ \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". +For a complete description of possible PIPELINE-DESCRIPTIONS see above under +\fIpipeline description\fR or the GStreamer documentation. -See the GStreamer documentation for a complete description of a -a PIPELINE\-DESCRIPTION. +. +.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 \-\-gst\-info\-mask=FLAGS +\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 \-\-gst\-mask\-help) +.TP 8 +.B \-\-gst\-mask=FLAGS +\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 +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 "EXAMPLES" +.SH "PIPELINE DESCRIPTION" -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". +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 Audio playback +.B Elements -Play the mp3 music file "music.mp3" using a libmad-based plug-in and -output to an OSS device: +ELEMENTTYPE \fI[PROPERTY1 ...]\fR - gst\-launch filesrc location=music.mp3 ! mad ! osssink +Creates an element of type ELEMENTTYPE and sets the PROPERTIES. -Play an Ogg Vorbis format file: +.B Properties - gst\-launch filesrc location=music.ogg ! vorbisfile ! osssink +PROPERTY=VALUE ... -Play an mp3 file or stream retrieved via http: +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. - gst\-launch httpsrc location=http://domain.com/music.mp3 ! mad ! osssink +.B Bins -Play an mp3 file or stream using GNOME\-VFS: +\fI[BINTYPE.]\fR ( \fI[PROPERTY1 ...]\fR PIPELINE-DESCRIPTION ) +.br +{ \fI[PROPERTY1 ...]\fR PIPELINE-DESCRIPTION } - gst\-launch gnomevfssrc location=music.mp3 ! mad ! osssink +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. - gst\-launch gnomevfssrc location=http://domain.com/music.mp3 ! mad ! osssink +.B Links -Use GNOME\-VFS to play an mp3 file located on an SMB server: +\fI[[SRCELEMENT].[PAD1,...]]\fR ! \fI[[SINKELEMENT].[PAD1,...]]\fR - gst\-launch gnomevfssrc location=smb://computer/music.mp3 ! mad ! osssink +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. -.B Format conversion +.SH "PIPELINE EXAMPLES" -Convert an mp3 music file to an Ogg Vorbis file: +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". - gst\-launch filesrc location=music.mp3 ! mad ! vorbisenc ! filesink location=music.ogg +.B Audio playback -Alternatively, to convert to the FLAC format, use the command line: +.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 - gst\-launch filesrc location=claptrap.mp3 ! mad ! flacenc ! filesink location=test.flac +.B + gst\-launch filesrc location=music.ogg ! vorbisfile ! osssink +.br +Play an Ogg Vorbis format file -.B Other +.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 -Plays a .WAV file: +.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 - gst\-launch filesrc location=music.wav ! wavparse ! osssink +.B Format conversion -Convert a .WAV file into Ogg Vorbis (or mp3) file: +.B + gst\-launch filesrc location=music.mp3 ! mad ! vorbisenc ! filesink location=music.ogg +.br +Convert an mp3 music file to an Ogg Vorbis file - gst\-launch filesrc location=music.wav ! wavparse ! vorbisenc ! filesink location=music.ogg +.B + gst\-launch filesrc location=music.mp3 ! mad ! flacenc ! filesink location=test.flac +.br +Convert to the FLAC format - gst\-launch filesrc location=music.wav ! wavparse ! mpegaudio ! filesink location=music.mp3 +.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. -Rip all tracks from compact disc and convert them into a single mp3 file: - - gst\-launch cdparanoia ! mpegaudio ! filesink location=cd.mp3 +.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 gst\-inspect, it is possible to discover settings for cdparanoia +Using \fBgst\-inspect\fR(1), 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 + 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 (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 } +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: - - gst\-launch filesrc location=/flflfj.vob ! mpegdemux video_%02d!src { queue ! mpeg2dec ! sdlvideosink } - -Play both video and audio portions of an MPEG movie: +an SDL window - gst\-launch filesrc location=movie.mpg ! mpegdemux video_%02d!src { queue ! mpeg2dec ! sdlvideosink } mpegdemux0.audio_%02d!src { queue ! mad ! osssink } +.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 -Play an AVI 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 - gst\-launch filesrc location=movie.avi ! avidemux video_%02d!src { queue ! windec ! sdlvideosink } +.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. 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 } +another. -On the transmitter, execute: +.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 - gst\-launch filesrc location=mpeg1system.mpeg ! mpegparse ! rtpsend ip=IPorHostname +.B + gst\-launch filesrc location=mpeg1system.mpeg ! mpegparse ! rtpsend ip=IPorHostname +.br +This command would be run on the transmitter .B Diagnostic -Generate a null stream and ignore it: +.B + gst\-launch fakesrc ! fakesink +.br +Generate a null stream and ignore it - gst\-launch fakesrc ! fakesink +.B + gst\-launch sinesrc ! osssink +.br +Generate a pure tone to test the audio output -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 - gst\-launch sinesrc ! osssink +.B Automatic linking -Generate a familiar test pattern to test the video output: +You can use the spider element to automatically select the right elements to get +a working pipeline. - gst\-launch videotestsrc ! xvideosink +.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 "OPTIONS" -.l -\fIgst\-launch\fP accepts the following options: -.TP 8 -.B \-\-help -Print help synopsis and available FLAGS -.TP 8 -.B \-\-silent -Do not output status information -.TP 8 -.B \-\-exclude=TYPE, \-XTYPE -Do not output status information of TYPE -.TP 8 -.B \-\-output=FILE, \-oFILE -Save XML representation of pipeline to FILE and exit -.TP 8 -.B \-\-gst\-info\-mask=FLAGS -\fIGStreamer\fP info flags to set (list with \-\-help) -.TP 8 -.B \-\-gst\-debug\-mask=FLAGS -\fIGStreamer\fP debugging flags to set (list with \-\-help) -.TP 8 -.B \-\-gst\-mask=FLAGS -\fIGStreamer\fP info and debugging flags to set (list with \-\-help) -.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 .SH "SEE ALSO" .BR gst\-complete (1), .BR gst\-register (1), |