1 | .TH "GStreamer" "1" "April 2003" |
---|
2 | .SH "NAME" |
---|
3 | gst\-launch \- build and run a GStreamer pipeline |
---|
4 | .SH "SYNOPSIS" |
---|
5 | \fBgst\-launch\fR \fI[OPTION...]\fR PIPELINE\-DESCRIPTION |
---|
6 | .SH "DESCRIPTION" |
---|
7 | .LP |
---|
8 | \fIgst\-launch\fP is a tool that builds and runs basic |
---|
9 | \fIGStreamer\fP pipelines. |
---|
10 | |
---|
11 | In simple form, a PIPELINE\-DESCRIPTION is a list of |
---|
12 | elements separated by exclamation marks (!). Properties may be appended to |
---|
13 | elements, in the form \fIproperty=value\fR. |
---|
14 | |
---|
15 | For a complete description of possible PIPELINE-DESCRIPTIONS see above under |
---|
16 | \fIpipeline description\fR or the GStreamer documentation. |
---|
17 | |
---|
18 | . |
---|
19 | .SH "OPTIONS" |
---|
20 | .l |
---|
21 | \fIgst\-launch\fP accepts the following options: |
---|
22 | .TP 8 |
---|
23 | .B \-\-help |
---|
24 | Print help synopsis and available FLAGS |
---|
25 | .TP 8 |
---|
26 | .B \-v, \-\-silent |
---|
27 | Output status information |
---|
28 | .TP 8 |
---|
29 | .B \-XTYPE, \-\-exclude=TYPE, |
---|
30 | Do not output status information of TYPE |
---|
31 | .TP 8 |
---|
32 | .B \-oFILE, \-\-output=FILE |
---|
33 | Save XML representation of pipeline to FILE and exit |
---|
34 | .TP 8 |
---|
35 | .B \-f, \-\-no_fault |
---|
36 | Do not install a fault handler |
---|
37 | .TP 8 |
---|
38 | .B \-t, \-\-trace |
---|
39 | Print memory allocation traces. The feature must be enabled at compile time to |
---|
40 | work. |
---|
41 | .TP 8 |
---|
42 | .B \-i, \-\-iterations=N |
---|
43 | Stop processing after N iterations. |
---|
44 | |
---|
45 | . |
---|
46 | .SH "GSTREAMER OPTIONS" |
---|
47 | .l |
---|
48 | \fIgst\-launch\fP also accepts the following options that are common |
---|
49 | to all GStreamer applications: |
---|
50 | .TP 8 |
---|
51 | .B \-\-gst\-version |
---|
52 | Prints the version string of the \fIGStreamer\fP core library. |
---|
53 | .TP 8 |
---|
54 | .B \-\-gst\-fatal\-warnings |
---|
55 | Causes \fIGStreamer\fP to abort if a warning message occurs. |
---|
56 | .TP 8 |
---|
57 | .B \-\-gst\-debug=STRING |
---|
58 | A colon seperated list of category_name=level pairs to specify debugging levels |
---|
59 | for each category. Level is in the range 0-5 where 0 will show no messages, and |
---|
60 | 5 will show all messages. The wildcard * can be used to match category names. |
---|
61 | |
---|
62 | Use \-\-gst\-debug\-help to show category names |
---|
63 | |
---|
64 | Example: |
---|
65 | GST_CAT=5:GST_ELEMENT_*=3 |
---|
66 | .TP 8 |
---|
67 | .B \-\-gst\-debug\-level=LEVEL |
---|
68 | Sets the threshold for printing debugging messages. A higher level |
---|
69 | will print more messages. The useful range is 0-5, with the default |
---|
70 | being 0. |
---|
71 | .TP 8 |
---|
72 | .B \-\-gst\-debug\-no\-color |
---|
73 | \fIGStreamer\fP normally prints debugging messages so that the |
---|
74 | messages are color-coded when printed to a terminal that handles |
---|
75 | ANSI escape sequences. Using this option causes \fIGStreamer\fP |
---|
76 | to print messages without color. |
---|
77 | .TP 8 |
---|
78 | .B \-\-gst\-disable\-debug |
---|
79 | Disables debugging. |
---|
80 | .TP 8 |
---|
81 | .B \-\-gst\-debug\-help |
---|
82 | Prints a list of available debug categories and their default debugging level. |
---|
83 | .TP 8 |
---|
84 | .B \-\-gst\-disable\-cpu\-opt |
---|
85 | \fIGStreamer\fP normally automatically detects the capabilities of the |
---|
86 | current CPU and selects the optimal implementation for some functions. |
---|
87 | Using this flag disables detection, which is useful for debugging. |
---|
88 | .TP 8 |
---|
89 | .B \-\-gst\-plugin\-spew |
---|
90 | \fIGStreamer\fP info flags to set |
---|
91 | Enable printout of errors while loading \fIGStreamer\fP plugins |
---|
92 | .TP 8 |
---|
93 | .B \-\-gst\-plugin\-path=PATH |
---|
94 | Add directories separated with ':' to the plugin search path |
---|
95 | .TP 8 |
---|
96 | .B \-\-gst\-plugin\-load=PLUGINS |
---|
97 | Preload plugins specified in a comma-separated list. Another way to specify |
---|
98 | plugins to preload is to use the environment variable GST_PLUGIN_PATH |
---|
99 | .TP 8 |
---|
100 | .B \-\-gst\-scheduler=SCHEDULER |
---|
101 | Use SCHEDULER as the default scheduler |
---|
102 | .TP 8 |
---|
103 | .B \-\-gst\-registry=REGISTRY |
---|
104 | Use the file REGISTRY as registry instead of the default |
---|
105 | |
---|
106 | .SH "PIPELINE DESCRIPTION" |
---|
107 | |
---|
108 | A pipeline consists \fIelements\fR and \fIlinks\fR. \fIElements\fR can be put |
---|
109 | into \fIbins\fR of different sorts. \fIElements\fR, \fIlinks\fR and \fIbins\fR |
---|
110 | can be specified in a pipeline description in any order. |
---|
111 | |
---|
112 | .B Elements |
---|
113 | |
---|
114 | ELEMENTTYPE \fI[PROPERTY1 ...]\fR |
---|
115 | |
---|
116 | Creates an element of type ELEMENTTYPE and sets the PROPERTIES. |
---|
117 | |
---|
118 | .B Properties |
---|
119 | |
---|
120 | PROPERTY=VALUE ... |
---|
121 | |
---|
122 | Sets the property to the specified value. You can use \fBgst\-inspect\fR(1) to |
---|
123 | find out about properties and allowed values of different elements. |
---|
124 | .br |
---|
125 | Enumeration properties can be set by name, nick or value. |
---|
126 | |
---|
127 | .B Bins |
---|
128 | |
---|
129 | \fI[BINTYPE.]\fR ( \fI[PROPERTY1 ...]\fR PIPELINE-DESCRIPTION ) |
---|
130 | .br |
---|
131 | { \fI[PROPERTY1 ...]\fR PIPELINE-DESCRIPTION } |
---|
132 | |
---|
133 | Specifies that a bin of type BINTYPE is created and the given properties are |
---|
134 | set. Every element between the braces is put into the bin. Using curly braces |
---|
135 | (second line) is a short cut for using the first line and "thread" as the |
---|
136 | BINTYPE. |
---|
137 | .br |
---|
138 | Please not the dot that has to be used after the BINTYPE. |
---|
139 | |
---|
140 | .B Links |
---|
141 | |
---|
142 | \fI[[SRCELEMENT].[PAD1,...]]\fR ! \fI[[SINKELEMENT].[PAD1,...]]\fR |
---|
143 | \fI[[SRCELEMENT].[PAD1,...]]\fR ! CAPS ! \fI[[SINKELEMENT].[PAD1,...]]\fR |
---|
144 | |
---|
145 | Links the element with name SRCELEMENT to the element with name SINKELEMENT, |
---|
146 | using the caps specified in CAPS as a filter. |
---|
147 | Names can be set on elements with the name property. If the name is omitted, the |
---|
148 | element that was specified directly in front of or after the link is used. This |
---|
149 | works across bins. If a padname is given, the link is done with these pads. If |
---|
150 | no pad names are given all possibilities are tried and a matching pad is used. |
---|
151 | If multiple padnames are given, both sides must have the same number of pads |
---|
152 | specified and multiple links are done in the given order. |
---|
153 | .br |
---|
154 | So the simplest link is a simple exclamation mark, that links the element to |
---|
155 | the left of it to the element right of it. |
---|
156 | .br |
---|
157 | Note that when specifying either pads or element names you have to include the |
---|
158 | dot or your syntax will be misinterpreted. This is a change to the old syntax |
---|
159 | used up to version 0.6 that allowed omitting the dot when only specifying a |
---|
160 | padname. |
---|
161 | |
---|
162 | .B Caps |
---|
163 | |
---|
164 | MIMETYPE \fI[, PROPERTY[, PROPERTY ...]]]\fR \fI[; CAPS[; CAPS ...]]\fR |
---|
165 | |
---|
166 | Creates a capability with the given mimetype and optionally with given |
---|
167 | properties. The mimetype can be escaped using " or '. |
---|
168 | If you want to chain caps, you can add more caps in the same format afterwards. |
---|
169 | |
---|
170 | .B Properties |
---|
171 | |
---|
172 | NAME\fI[:TYPE]\fR=VALUE |
---|
173 | .br |
---|
174 | in lists and ranges: [TYPE=]VALUE |
---|
175 | |
---|
176 | Sets the requested property in capabilites. The name is an alphanumeric value |
---|
177 | and the type can have the following case-insensitive values: |
---|
178 | .br |
---|
179 | - \fBi\fR or \fBint\fR for integer values or ranges |
---|
180 | .br |
---|
181 | - \fBf\fR or \fBfloat\fR for float values or ranges |
---|
182 | .br |
---|
183 | - \fB4\fR or \fBfourcc\fR for FOURCC values |
---|
184 | .br |
---|
185 | - \fBb\fR, \fBbool\fR or \fBboolean\fR for boolean values |
---|
186 | .br |
---|
187 | - \fBs\fR, \fBstr\fR or \fBstring\fR for strings |
---|
188 | .br |
---|
189 | - \fBl\fR or \fBlist\fR for lists |
---|
190 | .br |
---|
191 | If no type was given, the following order is tried: integer, float, boolean, |
---|
192 | string. |
---|
193 | .br |
---|
194 | Integer values must be parsable by \fBstrtol()\fP, floats by \fBstrtod()\fP. FOURCC values may |
---|
195 | either be integers or strings. Boolean values are (case insensitive) \fIyes\fR, |
---|
196 | \fIno\fR, \fItrue\fR or \fIfalse\fR and may like strings be escaped with " or '. |
---|
197 | .br |
---|
198 | Ranges are in this format: [ PROPERTY, PROPERTY ] |
---|
199 | .br |
---|
200 | Lists use this format: ( PROPERTY \fI[, PROPERTY ...]\fR ) |
---|
201 | |
---|
202 | .SH "PIPELINE CONTROL" |
---|
203 | |
---|
204 | A pipeline can be controlled by signals. SIGUSR2 will stop the pipeline |
---|
205 | (GST_STATE_NULL); SIGUSR1 will put it back to play (GST_STATE_PLAYING). |
---|
206 | By default, the pipeline will start in the playing state. |
---|
207 | .br |
---|
208 | There are currently no signals defined to go into the ready or pause |
---|
209 | (GST_STATE_READY and GST_STATE_PAUSED) state explicitely. |
---|
210 | |
---|
211 | .SH "PIPELINE EXAMPLES" |
---|
212 | |
---|
213 | The examples below assume that you have the correct plug-ins available. |
---|
214 | In general, "osssink" can be substituted with another audio output |
---|
215 | plug-in such as "esdsink", "alsasink", or "artsdsink". Likewise, |
---|
216 | "xvideosink" can be substituted with "sdlvideosink" or "aasink". |
---|
217 | |
---|
218 | .B Audio playback |
---|
219 | |
---|
220 | .B |
---|
221 | gst\-launch filesrc location=music.mp3 ! mad ! osssink |
---|
222 | .br |
---|
223 | Play the mp3 music file "music.mp3" using a libmad-based plug-in and |
---|
224 | output to an OSS device |
---|
225 | |
---|
226 | .B |
---|
227 | gst\-launch filesrc location=music.ogg ! oggdemux ! vorbisdec ! audioconvert ! osssink |
---|
228 | .br |
---|
229 | Play an Ogg Vorbis format file |
---|
230 | |
---|
231 | .B |
---|
232 | gst\-launch gnomevfssrc location=music.mp3 ! mad ! osssink |
---|
233 | .br |
---|
234 | .B |
---|
235 | gst\-launch gnomevfssrc location=http://domain.com/music.mp3 ! mad ! osssink |
---|
236 | .br |
---|
237 | Play an mp3 file or an http stream using GNOME\-VFS |
---|
238 | |
---|
239 | .B |
---|
240 | gst\-launch gnomevfssrc location=smb://computer/music.mp3 ! mad ! osssink |
---|
241 | .br |
---|
242 | Use GNOME\-VFS to play an mp3 file located on an SMB server |
---|
243 | |
---|
244 | .B Format conversion |
---|
245 | |
---|
246 | .B |
---|
247 | gst\-launch filesrc location=music.mp3 ! mad ! vorbisenc ! filesink location=music.ogg |
---|
248 | .br |
---|
249 | Convert an mp3 music file to an Ogg Vorbis file |
---|
250 | |
---|
251 | .B |
---|
252 | gst\-launch filesrc location=music.mp3 ! mad ! flacenc ! filesink location=test.flac |
---|
253 | .br |
---|
254 | Convert to the FLAC format |
---|
255 | |
---|
256 | .B Other |
---|
257 | |
---|
258 | .B |
---|
259 | gst\-launch filesrc location=music.wav ! wavparse ! osssink |
---|
260 | .br |
---|
261 | Plays a .WAV file |
---|
262 | |
---|
263 | .B |
---|
264 | gst\-launch filesrc location=music.wav ! wavparse ! vorbisenc ! filesink location=music.ogg |
---|
265 | .br |
---|
266 | .B |
---|
267 | gst\-launch filesrc location=music.wav ! wavparse ! mpegaudio ! filesink location=music.mp3 |
---|
268 | .br |
---|
269 | Convert a .WAV file into Ogg Vorbis (or mp3) file |
---|
270 | |
---|
271 | Alternatively, if you have lame installed (and have the lame plug-in), |
---|
272 | you can substitute lame for mpegaudio in the previous example. It gives |
---|
273 | better results than mpegaudio. |
---|
274 | |
---|
275 | .B |
---|
276 | gst\-launch cdparanoia ! mpegaudio ! filesink location=cd.mp3 |
---|
277 | .br |
---|
278 | Rip all tracks from compact disc and convert them into a single mp3 file |
---|
279 | |
---|
280 | Using \fBgst\-inspect\fR(1), it is possible to discover settings for cdparanoia |
---|
281 | that will tell it to rip individual tracks. |
---|
282 | |
---|
283 | .B |
---|
284 | gst\-launch osssrc ! vorbisenc ! filesink location=input.ogg |
---|
285 | .br |
---|
286 | Record sound from your audio input and encode it into an ogg file |
---|
287 | |
---|
288 | .B Video |
---|
289 | |
---|
290 | .B |
---|
291 | gst\-launch filesrc location=JB_FF9_TheGravityOfLove.mpg ! mpegdemux ! mpeg2dec ! xvideosink |
---|
292 | .br |
---|
293 | Display only the video portion of an MPEG-1 video file, outputting to |
---|
294 | an X display window |
---|
295 | |
---|
296 | .B |
---|
297 | gst\-launch filesrc location=/flflfj.vob ! mpegdemux ! mpeg2dec ! sdlvideosink |
---|
298 | .br |
---|
299 | Display the video portion of a .vob file (used on DVDs), outputting to |
---|
300 | an SDL window |
---|
301 | |
---|
302 | .B |
---|
303 | gst\-launch filesrc location=movie.mpg ! mpegdemux name=demuxer ! mpeg2dec ! sdlvideosink demuxer. ! mad ! osssink |
---|
304 | .br |
---|
305 | Play both video and audio portions of an MPEG movie |
---|
306 | |
---|
307 | .B |
---|
308 | gst\-launch filesrc location=movie.mpg ! mpegdemux name=demuxer ! { queue ! mpeg2dec ! sdlvideosink } { demuxer. ! queue ! mad ! osssink } |
---|
309 | .br |
---|
310 | Use threaded output to improve synchronization and smoothness. Threads require |
---|
311 | queues for buffering on thread boundaries |
---|
312 | |
---|
313 | .B |
---|
314 | gst\-launch filesrc location=movie.avi ! avidemux name=demuxer ! { queue ! ffdecall ! sdlvideosink } { demuxer. ! queue ! mad ! osssink } |
---|
315 | .br |
---|
316 | Play an AVI movie |
---|
317 | |
---|
318 | .B Network streaming |
---|
319 | |
---|
320 | An MPEG\-1 system stream can be streamed via RTP from one machine to |
---|
321 | another. |
---|
322 | |
---|
323 | .B |
---|
324 | gst\-launch rtprecv media_type=mpeg1_sys ! mpegdemux name=demuxer ! { queue ! mpeg2dec ! xvideosink } { demuxer. ! queue ! mad ! osssink } |
---|
325 | .br |
---|
326 | Use this command on the receiver |
---|
327 | |
---|
328 | .B |
---|
329 | gst\-launch filesrc location=mpeg1system.mpeg ! mpegparse ! rtpsend ip=IPorHostname |
---|
330 | .br |
---|
331 | This command would be run on the transmitter |
---|
332 | |
---|
333 | .B Diagnostic |
---|
334 | |
---|
335 | .B |
---|
336 | gst\-launch fakesrc ! fakesink |
---|
337 | .br |
---|
338 | Generate a null stream and ignore it |
---|
339 | |
---|
340 | .B |
---|
341 | gst\-launch sinesrc ! osssink |
---|
342 | .br |
---|
343 | Generate a pure tone to test the audio output |
---|
344 | |
---|
345 | .B |
---|
346 | gst\-launch videotestsrc ! xvideosink |
---|
347 | .br |
---|
348 | Generate a familiar test pattern to test the video output |
---|
349 | |
---|
350 | .B Automatic linking |
---|
351 | |
---|
352 | You can use the spider element to automatically select the right elements to get |
---|
353 | a working pipeline. |
---|
354 | |
---|
355 | .B |
---|
356 | gst\-launch filesrc location=musicfile ! spider ! osssink |
---|
357 | .br |
---|
358 | Play any supported audio format |
---|
359 | |
---|
360 | .B |
---|
361 | gst\-launch filesrc location=videofile ! spider name=spider ! osssink spider. ! xvideosink |
---|
362 | .br |
---|
363 | .B |
---|
364 | gst\-launch filesrc location=videofile ! spider name=spider ! { queue ! osssink } { spider. ! queue ! xvideosink } |
---|
365 | .br |
---|
366 | Play any supported video format with video and audio output. The second pipeline |
---|
367 | uses threaded output. |
---|
368 | |
---|
369 | .B Filtered connections |
---|
370 | |
---|
371 | These examples show you how to use filtered caps. |
---|
372 | |
---|
373 | .B |
---|
374 | gst\-launch videotestsrc ! video/raw, format:fourcc=YUY2; video/raw, format:fourcc=YV12 ! xvideosink |
---|
375 | .br |
---|
376 | Show a test image and use the YUY2 or YV12 video format for this. |
---|
377 | |
---|
378 | .B |
---|
379 | gst\-launch osssrc ! "audio/raw", format=int, width=[16, 32], depth=(16, 24, 32), signed=TRUE ! osssink |
---|
380 | .br |
---|
381 | Playback currently recorded audio. Force usage of signed 16 to 32 bit samples. |
---|
382 | |
---|
383 | |
---|
384 | |
---|
385 | |
---|
386 | . |
---|
387 | .SH "SEE ALSO" |
---|
388 | .BR gst\-complete (1), |
---|
389 | .BR gst\-register (1), |
---|
390 | .BR gst\-inspect (1) |
---|
391 | .SH "AUTHOR" |
---|
392 | The GStreamer team at http://gstreamer.net/ |
---|