gst-inspect/launch: Fixes and updates

This commit is contained in:
Thibault Saunier 2016-05-27 15:06:22 -04:00
parent e220d85b46
commit 33163869cb
4 changed files with 266 additions and 322 deletions

View file

@ -253,7 +253,6 @@ and used as follows:
include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk
GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_CODECS) playbin souphttpsrc GSTREAMER_PLUGINS := $(GSTREAMER_PLUGINS_CORE) $(GSTREAMER_PLUGINS_CODECS) playbin souphttpsrc
#### List of categories and included plugins #### List of categories and included plugins
| Category | Included plugins | | Category | Included plugins |

View file

@ -48,8 +48,6 @@ Pages to review:
- Multiplatform+deployment+using+Cerbero.markdown - Multiplatform+deployment+using+Cerbero.markdown
- Legal+information.markdown - Legal+information.markdown
- GStreamer+reference.markdown - GStreamer+reference.markdown
- gst-inspect.markdown
- gst-launch.markdown
Screenshots: Screenshots:
@ -74,6 +72,8 @@ Reviewed pages:
- GStreamer+reference.markdown - GStreamer+reference.markdown
- Playback+tutorial+1+Playbin+usage.markdown - Playback+tutorial+1+Playbin+usage.markdown
- Basic+tutorial+1+Hello+world.markdown - Basic+tutorial+1+Hello+world.markdown
- gst-inspect.markdown
- gst-launch.markdown
For-later pages: For-later pages:
- Qt+tutorials.markdown [tpm: this should all be rewritten from scratch with qmlglsink; QtGStreamer is outdated and unmaintained, we should not promote it] - Qt+tutorials.markdown [tpm: this should all be rewritten from scratch with qmlglsink; QtGStreamer is outdated and unmaintained, we should not promote it]

View file

@ -1,13 +1,9 @@
# gst-inspect-1.0 # gst-inspect-1.0
<table> > ![information] This is the Linux man page for
<tbody> > the `gst-inspect-1.0` tool. As such, it is very Linux-centric
<tr class="odd"> > regarding path specification and plugin names. Please be patient while
<td><img src="images/icons/emoticons/information.png" width="16" height="16" /></td> > it is rewritten to be more generic.
<td><p><span>This is the Linux man page for the </span><code>gst-inspect-1.0</code><span> tool. As such, it is very Linux-centric regarding path specification and plugin names. Please be patient while it is rewritten to be more generic.</span></p></td>
</tr>
</tbody>
</table>
## Name ## Name
@ -20,9 +16,9 @@ gst-inspect-1.0 - print info about a GStreamer plugin or element
## Description ## Description
*gst-inspect-1.0* is a tool that prints out information on *gst-inspect-1.0* is a tool that prints out information on
available *GStreamer* plugins, information about a particular plugin, available *GStreamer* plugins, information about a particular plugin, or
or information about a particular element. When executed with no PLUGIN information about a particular element. When executed with no PLUGIN or
or ELEMENT argument, *gst-inspect-1.0* will print a list of all plugins and ELEMENT argument, *gst-inspect-1.0* will print a list of all plugins and
elements together with a sumary. When executed with a PLUGIN or ELEMENT elements together with a sumary. When executed with a PLUGIN or ELEMENT
argument, *gst-inspect-1.0* will print information about that plug-in or argument, *gst-inspect-1.0* will print information about that plug-in or
element. element.
@ -79,86 +75,68 @@ Add directories separated with ':' to the plugin search path
## Example ## Example
``` gst-inspect-1.0 audiotestsrc
gst-inspect-1.0 audiotestsrc
```
should produce: should produce:
``` Factory Details:
Factory Details: Rank none (0)
Long name: Audio test source Long-name Audio test source
Class: Source/Audio Klass Source/Audio
Description: Creates audio test signals of given frequency and volume Description Creates audio test signals of given frequency and volume
Author(s): Stefan Kost <ensonic@users.sf.net> Author Stefan Kost <ensonic@users.sf.net>
Rank: none (0)
Plugin Details: Plugin Details:
Name: audiotestsrc Name audiotestsrc
Description: Creates audio test signals of given frequency and volume Description Creates audio test signals of given frequency and volume
Filename: I:\gstreamer-sdk\2012.5\x86\lib\gstreamer-1.0\libgstaudiotestsrc.dll Filename /usr/lib/gstreamer-1.0/libgstaudiotestsrc.so
Version: 0.10.36 Version 1.8.1
License: LGPL License LGPL
Source module: gst-plugins-base Source module gst-plugins-base
Source release date: 2012-02-20 Source release date 2016-04-20
Binary package: GStreamer Base Plug-ins source release Binary package GStreamer Base Plugins (Arch Linux)
Origin URL: Unknown package origin Origin URL http://www.archlinux.org/
GObject
GObject
+----GInitiallyUnowned
+----GstObject +----GstObject
+----GstElement +----GstElement
+----GstBaseSrc +----GstBaseSrc
+----GstAudioTestSrc +----GstAudioTestSrc
Pad Templates:
Pad Templates:
SRC template: 'src' SRC template: 'src'
Availability: Always Availability: Always
Capabilities: Capabilities:
audio/x-raw-int audio/x-raw
endianness: 1234 format: { S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE, S8, U8 }
signed: true layout: interleaved
width: 16
depth: 16
rate: [ 1, 2147483647 ] rate: [ 1, 2147483647 ]
channels: [ 1, 2 ] channels: [ 1, 2147483647 ]
audio/x-raw-int
endianness: 1234
signed: true
width: 32
depth: 32
rate: [ 1, 2147483647 ]
channels: [ 1, 2 ]
audio/x-raw-float
endianness: 1234
width: { 32, 64 }
rate: [ 1, 2147483647 ]
channels: [ 1, 2 ]
Element Flags: Element Flags:
no flags set no flags set
Element Implementation:
Element Implementation:
Has change_state() function: gst_base_src_change_state Has change_state() function: gst_base_src_change_state
Has custom save_thyself() function: gst_element_save_thyself
Has custom restore_thyself() function: gst_element_restore_thyself Element has no clocking capabilities.
Element has no clocking capabilities. Element has no URI handling capabilities.
Element has no indexing capabilities.
Element has no URI handling capabilities. Pads:
Pads:
SRC: 'src' SRC: 'src'
Implementation:
Has getrangefunc(): gst_base_src_pad_get_range
Has custom eventfunc(): gst_base_src_event_handler
Has custom queryfunc(): gst_base_src_query
Has custom iterintlinkfunc(): gst_pad_iterate_internal_links_default
Has getcapsfunc(): gst_base_src_getcaps
Has setcapsfunc(): gst_base_src_setcaps
Has acceptcapsfunc(): gst_pad_acceptcaps_default
Has fixatecapsfunc(): 62B82E10
Pad Template: 'src' Pad Template: 'src'
Element Properties:
Element Properties:
name : The name of the object name : The name of the object
flags: readable, writable flags: readable, writable
String. Default: "audiotestsrc0" String. Default: "audiotestsrc0"
parent : The parent of the object
flags: readable, writable
Object of type "GstObject"
blocksize : Size in bytes to read per buffer (-1 = default) blocksize : Size in bytes to read per buffer (-1 = default)
flags: readable, writable flags: readable, writable
Unsigned Long. Range: 0 - 4294967295 Default: 4294967295 Unsigned Integer. Range: 0 - 4294967295 Default: 4294967295
num-buffers : Number of buffers to output before sending EOS (-1 = unlimited) num-buffers : Number of buffers to output before sending EOS (-1 = unlimited)
flags: readable, writable flags: readable, writable
Integer. Range: -1 - 2147483647 Default: -1 Integer. Range: -1 - 2147483647 Default: -1
@ -187,9 +165,9 @@ Element Properties:
(10): red-noise - Red (brownian) noise (10): red-noise - Red (brownian) noise
(11): blue-noise - Blue noise (11): blue-noise - Blue noise
(12): violet-noise - Violet noise (12): violet-noise - Violet noise
freq : Frequency of test signal freq : Frequency of test signal. The sample rate needs to be at least 4 times higher.
flags: readable, writable, controllable flags: readable, writable, controllable
Double. Range: 0 - 20000 Default: 440 Double. Range: 0 - 5.368709e+08 Default: 440
volume : Volume of test signal volume : Volume of test signal
flags: readable, writable, controllable flags: readable, writable, controllable
Double. Range: 0 - 1 Default: 0.8 Double. Range: 0 - 1 Default: 0.8
@ -205,4 +183,5 @@ Element Properties:
can-activate-pull : Can activate in pull mode can-activate-pull : Can activate in pull mode
flags: readable, writable flags: readable, writable
Boolean. Default: false Boolean. Default: false
```
[information]: images/icons/emoticons/information.png

View file

@ -1,13 +1,9 @@
# gst-launch-1.0 # gst-launch-1.0
<table> > ![information] This is the Linux man page for
<tbody> > the `gst-inspect-1.0` tool. As such, it is very Linux-centric
<tr class="odd"> > regarding path specification and plugin names. Please be patient while
<td><img src="images/icons/emoticons/information.png" width="16" height="16" /></td> > it is rewritten to be more generic.
<td><p>This is the Linux man page for the <code>gst-launch-1.0</code> tool. As such, it is very Linux-centric regarding path specification and plugin names. Please be patient while it is rewritten to be more generic.</p></td>
</tr>
</tbody>
</table>
## Name ## Name
@ -19,11 +15,12 @@ gst-launch-1.0 - build and run a GStreamer pipeline
## Description ## Description
*gst-launch-1.0* is a tool that builds and runs basic *GStreamer* pipelines. *gst-launch-1.0* is a tool that builds and runs
basic *GStreamer* pipelines.
In simple form, a PIPELINE-DESCRIPTION is a list of elements separated In simple form, a PIPELINE-DESCRIPTION is a list of elements separated
by exclamation marks (\!). Properties may be appended to elements, in by exclamation marks (!). Properties may be appended to elements, in the
the form*property=value*. form*property=value*.
For a complete description of possible PIPELINE-DESCRIPTIONS see the For a complete description of possible PIPELINE-DESCRIPTIONS see the
section*pipeline description* below or consult the GStreamer section*pipeline description* below or consult the GStreamer
@ -75,8 +72,8 @@ time to work.
## Gstreamer Options ## Gstreamer Options
*gst-launch-1.0* also accepts the following options that are common to all *gst-launch-1.0* also accepts the following options that are common to
GStreamer applications: all GStreamer applications:
## Pipeline Description ## Pipeline Description
@ -94,9 +91,10 @@ Creates an element of type ELEMENTTYPE and sets the PROPERTIES.
PROPERTY=VALUE ... PROPERTY=VALUE ...
Sets the property to the specified value. You can use **gst-inspect-1.0**(1) Sets the property to the specified value. You can
to find out about properties and allowed values of different elements. use **gst-inspect-1.0**(1) to find out about properties and allowed
Enumeration properties can be set by name, nick or value. values of different elements. Enumeration properties can be set by name,
nick or value.
**Bins** **Bins**
@ -112,9 +110,9 @@ pipeline.
**Links** **Links**
*\[\[SRCELEMENT\].\[PAD1,...\]\]* \! *\[\[SINKELEMENT\].\[PAD1,...\]\] *\[\[SRCELEMENT\].\[PAD1,...\]\]* ! *\[\[SINKELEMENT\].\[PAD1,...\]\]
\[\[SRCELEMENT\].\[PAD1,...\]\]* \! CAPS \[\[SRCELEMENT\].\[PAD1,...\]\]* ! CAPS
\! *\[\[SINKELEMENT\].\[PAD1,...\]\]* ! *\[\[SINKELEMENT\].\[PAD1,...\]\]*
Links the element with name SRCELEMENT to the element with name Links the element with name SRCELEMENT to the element with name
SINKELEMENT, using the caps specified in CAPS as a filter. Names can be SINKELEMENT, using the caps specified in CAPS as a filter. Names can be
@ -124,9 +122,8 @@ 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 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 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 must have the same number of pads specified and multiple links are done
in the given order. in the given order. So the simplest link is a simple exclamation mark,
So the simplest link is a simple exclamation mark, that links the that links the element to the left of it to the element right of it.
element to the left of it to the element right of it.
**Caps** **Caps**
@ -138,35 +135,30 @@ chain caps, you can add more caps in the same format afterwards.
**Properties** **Properties**
NAME=*\[(TYPE)\]*VALUE NAME=*\[(TYPE)\]*VALUE in lists and ranges: *\[(TYPE)\]*VALUE
in lists and ranges: *\[(TYPE)\]*VALUE
Sets the requested property in capabilities. The name is an alphanumeric Sets the requested property in capabilities. The name is an alphanumeric
value and the type can have the following case-insensitive values: value and the type can have the following case-insensitive values:
\- **i** or **int** for integer values or ranges - **i** or **int** for integer values or ranges - **f** or **float** for
\- **f** or **float** for float values or ranges float values or ranges - **4** or **fourcc** for FOURCC values
\- **4** or **fourcc** for FOURCC values - **b**, **bool** or **boolean** for boolean values
\- **b**, **bool** or **boolean** for boolean values - **s**, **str** or **string** for strings - **fraction** for fractions
\- **s**, **str** or **string** for strings (framerate, pixel-aspect-ratio) - **l** or **list** for lists If no type
\- **fraction** for fractions (framerate, pixel-aspect-ratio) was given, the following order is tried: integer, float, boolean,
\- **l** or **list** for lists string. Integer values must be parsable by **strtol()**, floats
If no type was given, the following order is tried: integer, float, by **strtod()**. FOURCC values may either be integers or strings.
boolean, string. Boolean values are (case insensitive) *yes*, *no*, *true* or *false* and
Integer values must be parsable by **strtol()**, floats by **strtod()**. may like strings be escaped with " or '. Ranges are in this format: \[
FOURCC values may either be integers or strings. Boolean values are VALUE, VALUE \] Lists use this format: ( VALUE *\[, VALUE ...\]* )
(case insensitive) *yes*, *no*, *true* or *false* and may like strings
be escaped with " or '.
Ranges are in this format: \[ VALUE, VALUE \]
Lists use this format: ( VALUE *\[, VALUE ...\]* )
## Pipeline Control ## Pipeline Control
A pipeline can be controlled by signals. SIGUSR2 will stop the pipeline A pipeline can be controlled by signals. SIGUSR2 will stop the pipeline
(GST\_STATE\_NULL); SIGUSR1 will put it back to play (GST\_STATE\_NULL); SIGUSR1 will put it back to play
(GST\_STATE\_PLAYING). By default, the pipeline will start in the (GST\_STATE\_PLAYING). By default, the pipeline will start in the
playing state. playing state. There are currently no signals defined to go into the
There are currently no signals defined to go into the ready or pause ready or pause (GST\_STATE\_READY and GST\_STATE\_PAUSED) state
(GST\_STATE\_READY and GST\_STATE\_PAUSED) state explicitely. explicitely.
## Pipeline Examples ## Pipeline Examples
@ -183,96 +175,89 @@ ffmpegcolorspace (for video) in front of the sink to make things work.
**Audio playback** **Audio playback**
**gst-launch-1.0 filesrc location=music.mp3 \! mad \! audioconvert \! **gst-launch-1.0 filesrc location=music.mp3 ! mad ! audioconvert !
audioresample \! osssink** audioresample ! osssink** Play the mp3 music file "music.mp3" using a
Play the mp3 music file "music.mp3" using a libmad-based plug-in and libmad-based plug-in and output to an OSS device
output to an OSS device
**gst-launch-1.0 filesrc location=music.ogg \! oggdemux \! vorbisdec \! **gst-launch-1.0 filesrc location=music.ogg ! oggdemux ! vorbisdec !
audioconvert \! audioresample \! osssink** audioconvert ! audioresample ! osssink** Play an Ogg Vorbis format file
Play an Ogg Vorbis format file
**gst-launch-1.0 gnomevfssrc location=music.mp3 \! mad \! osssink **gst-launch-1.0 gnomevfssrc location=music.mp3 ! mad ! osssink
gst-launch-1.0 gnomevfssrc location=<http://domain.com/music.mp3> \! mad \! gst-launch-1.0 gnomevfssrc location=<http://domain.com/music.mp3> ! mad
audioconvert \! audioresample \! osssink** ! audioconvert ! audioresample ! osssink** Play an mp3 file or an http
Play an mp3 file or an http stream using GNOME-VFS stream using GNOME-VFS
**gst-launch-1.0 gnomevfssrc location=<smb://computer/music.mp3> \! mad \! **gst-launch-1.0 gnomevfssrc location=<smb://computer/music.mp3> ! mad !
audioconvert \! audioresample \! osssink** audioconvert ! audioresample ! osssink** Use GNOME-VFS to play an mp3
Use GNOME-VFS to play an mp3 file located on an SMB server file located on an SMB server
**Format conversion** **Format conversion**
**gst-launch-1.0 filesrc location=music.mp3 \! mad \! audioconvert \! **gst-launch-1.0 filesrc location=music.mp3 ! mad ! audioconvert !
vorbisenc \! oggmux \! filesink location=music.ogg** vorbisenc ! oggmux ! filesink location=music.ogg** Convert an mp3 music
Convert an mp3 music file to an Ogg Vorbis file file to an Ogg Vorbis file
**gst-launch-1.0 filesrc location=music.mp3 \! mad \! audioconvert \! **gst-launch-1.0 filesrc location=music.mp3 ! mad ! audioconvert !
flacenc \! filesink location=test.flac** flacenc ! filesink location=test.flac** Convert to the FLAC format
Convert to the FLAC format
**Other** **Other**
**gst-launch-1.0 filesrc location=music.wav \! wavparse \! audioconvert \! **gst-launch-1.0 filesrc location=music.wav ! wavparse ! audioconvert !
audioresample \! osssink** audioresample ! osssink** Plays a .WAV file that contains raw audio data
Plays a .WAV file that contains raw audio data (PCM). (PCM).
**gst-launch-1.0 filesrc location=music.wav \! wavparse \! audioconvert \! **gst-launch-1.0 filesrc location=music.wav ! wavparse ! audioconvert !
vorbisenc \! oggmux \! filesink location=music.ogg vorbisenc ! oggmux ! filesink location=music.ogg gst-launch-1.0 filesrc
gst-launch-1.0 filesrc location=music.wav \! wavparse \! audioconvert \! location=music.wav ! wavparse ! audioconvert ! lame ! filesink
lame \! filesink location=music.mp3** location=music.mp3** Convert a .WAV file containing raw audio data into
Convert a .WAV file containing raw audio data into an Ogg Vorbis or mp3 an Ogg Vorbis or mp3 file
file
**gst-launch-1.0 cdparanoiasrc mode=continuous \! audioconvert \! lame \! **gst-launch-1.0 cdparanoiasrc mode=continuous ! audioconvert ! lame !
id3v2mux \! filesink location=cd.mp3** id3v2mux ! filesink location=cd.mp3** rips all tracks from compact disc
rips all tracks from compact disc and convert them into a single mp3 and convert them into a single mp3 file
file
**gst-launch-1.0 cdparanoiasrc track=5 \! audioconvert \! lame \! id3v2mux **gst-launch-1.0 cdparanoiasrc track=5 ! audioconvert ! lame ! id3v2mux
\! filesink location=track5.mp3** ! filesink location=track5.mp3** rips track 5 from the CD and converts
rips track 5 from the CD and converts it into a single mp3 file it into a single mp3 file
Using **gst-inspect-1.0**(1), it is possible to discover settings like the Using **gst-inspect-1.0**(1), it is possible to discover settings like
above for cdparanoiasrc that will tell it to rip the entire cd or only the above for cdparanoiasrc that will tell it to rip the entire cd or
tracks of it. Alternatively, you can use an URI and gst-launch-1.0 will only tracks of it. Alternatively, you can use an URI and gst-launch-1.0
find an element (such as cdparanoia) that supports that protocol for will find an element (such as cdparanoia) that supports that protocol
you, e.g.: **gst-launch-1.0 [cdda://5]() \! lame vbr=new vbr-quality=6 \! for you, e.g.: **gst-launch-1.0 \[cdda://5\] ! lame vbr=new
filesink location=track5.mp3** vbr-quality=6 ! filesink location=track5.mp3**
**gst-launch-1.0 osssrc \! audioconvert \! vorbisenc \! oggmux \! filesink **gst-launch-1.0 osssrc ! audioconvert ! vorbisenc ! oggmux ! filesink
location=input.ogg** location=input.ogg** records sound from your audio input and encodes it
records sound from your audio input and encodes it into an ogg file into an ogg file
**Video** **Video**
**gst-launch-1.0 filesrc location=JB\_FF9\_TheGravityOfLove.mpg \! dvddemux **gst-launch-1.0 filesrc location=JB\_FF9\_TheGravityOfLove.mpg !
\! mpeg2dec \! xvimagesink** dvddemux ! mpeg2dec ! xvimagesink** Display only the video portion of an
Display only the video portion of an MPEG-1 video file, outputting to an MPEG-1 video file, outputting to an X display window
X display window
**gst-launch-1.0 filesrc location=/flflfj.vob \! dvddemux \! mpeg2dec \! **gst-launch-1.0 filesrc location=/flflfj.vob ! dvddemux ! mpeg2dec !
sdlvideosink** sdlvideosink** Display the video portion of a .vob file (used on DVDs),
Display the video portion of a .vob file (used on DVDs), outputting to outputting to an SDL window
an SDL window
**gst-launch-1.0 filesrc location=movie.mpg \! dvddemux name=demuxer **gst-launch-1.0 filesrc location=movie.mpg ! dvddemux name=demuxer
demuxer. \! queue \! mpeg2dec \! sdlvideosink demuxer. \! queue \! mad demuxer. ! queue ! mpeg2dec ! sdlvideosink demuxer. ! queue ! mad !
\! audioconvert \! audioresample \! osssink** audioconvert ! audioresample ! osssink** Play both video and audio
Play both video and audio portions of an MPEG movie portions of an MPEG movie
**gst-launch-1.0 filesrc location=movie.mpg \! mpegdemux name=demuxer **gst-launch-1.0 filesrc location=movie.mpg ! mpegdemux name=demuxer
demuxer. \! queue \! mpeg2dec \! ffmpegcolorspace \! sdlvideosink demuxer. ! queue ! mpeg2dec ! ffmpegcolorspace ! sdlvideosink demuxer. !
demuxer. \! queue \! mad \! audioconvert \! audioresample \! osssink** queue ! mad ! audioconvert ! audioresample ! osssink** Play an AVI movie
Play an AVI movie with an external text subtitle stream with an external text subtitle stream
This example also shows how to refer to specific pads by name if an This example also shows how to refer to specific pads by name if an
element (here: textoverlay) has multiple sink or source pads. element (here: textoverlay) has multiple sink or source pads.
**gst-launch-1.0 textoverlay name=overlay \! ffmpegcolorspace \! videoscale **gst-launch-1.0 textoverlay name=overlay ! ffmpegcolorspace !
\! autovideosink filesrc location=movie.avi \! decodebin2 \! videoscale ! autovideosink filesrc location=movie.avi ! decodebin2 !
ffmpegcolorspace \! overlay.video\_sink filesrc location=movie.srt \! ffmpegcolorspace ! overlay.video\_sink filesrc location=movie.srt !
subparse \! overlay.text\_sink** subparse ! overlay.text\_sink**
Play an AVI movie with an external text subtitle stream using playbin Play an AVI movie with an external text subtitle stream using playbin
@ -283,45 +268,40 @@ suburi=<file:///path/to/movie.srt>**
Stream video using RTP and network elements. Stream video using RTP and network elements.
**gst-launch-1.0 v4l2src \! **gst-launch-1.0 v4l2src !
video/x-raw-yuv,width=128,height=96,format='(fourcc)'UYVY \! video/x-raw-yuv,width=128,height=96,format='(fourcc)'UYVY !
ffmpegcolorspace \! ffenc\_h263 \! video/x-h263 \! rtph263ppay pt=96 \! ffmpegcolorspace ! ffenc\_h263 ! video/x-h263 ! rtph263ppay pt=96 !
udpsink host=192.168.1.1 port=5000 sync=false** udpsink host=192.168.1.1 port=5000 sync=false** Use this command on the
Use this command on the receiver receiver
**gst-launch-1.0 udpsrc port=5000 \! application/x-rtp, **gst-launch-1.0 udpsrc port=5000 ! application/x-rtp,
clock-rate=90000,payload=96 \! rtph263pdepay queue-delay=0 \! clock-rate=90000,payload=96 ! rtph263pdepay queue-delay=0 ! ffdec\_h263
ffdec\_h263 \! xvimagesink** ! xvimagesink** This command would be run on the transmitter
This command would be run on the transmitter
**Diagnostic** **Diagnostic**
**gst-launch-1.0 -v fakesrc num-buffers=16 \! fakesink** **gst-launch-1.0 -v fakesrc num-buffers=16 ! fakesink** Generate a null
Generate a null stream and ignore it (and print out details). stream and ignore it (and print out details).
**gst-launch-1.0 audiotestsrc \! audioconvert \! audioresample \! **gst-launch-1.0 audiotestsrc ! audioconvert ! audioresample ! osssink**
osssink**
Generate a pure sine tone to test the audio output Generate a pure sine tone to test the audio output
**gst-launch-1.0 videotestsrc \! xvimagesink **gst-launch-1.0 videotestsrc ! xvimagesink gst-launch-1.0 videotestsrc
gst-launch-1.0 videotestsrc \! ximagesink** ! ximagesink** Generate a familiar test pattern to test the video output
Generate a familiar test pattern to test the video output
**Automatic linking** **Automatic linking**
You can use the decodebin element to automatically select the right You can use the decodebin element to automatically select the right
elements to get a working pipeline. elements to get a working pipeline.
**gst-launch-1.0 filesrc location=musicfile \! decodebin \! audioconvert \! **gst-launch-1.0 filesrc location=musicfile ! decodebin ! audioconvert !
audioresample \! osssink** audioresample ! osssink** Play any supported audio format
Play any supported audio format
**gst-launch-1.0 filesrc location=videofile \! decodebin name=decoder **gst-launch-1.0 filesrc location=videofile ! decodebin name=decoder
decoder. \! queue \! audioconvert \! audioresample \! osssink decoder. decoder. ! queue ! audioconvert ! audioresample ! osssink decoder. !
\! ffmpegcolorspace \! xvimagesink** ffmpegcolorspace ! xvimagesink** Play any supported video format with
Play any supported video format with video and audio output. Threads are video and audio output. Threads are used automatically. To make this
used automatically. To make this even easier, you can use the playbin even easier, you can use the playbin element:
element:
**gst-launch-1.0 playbin uri=<file:///home/joe/foo.avi>** **gst-launch-1.0 playbin uri=<file:///home/joe/foo.avi>**
@ -329,73 +309,59 @@ element:
These examples show you how to use filtered caps. These examples show you how to use filtered caps.
**gst-launch-1.0 videotestsrc \! **gst-launch-1.0 videotestsrc !
'video/x-raw-yuv,format=(fourcc)YUY2;video/x-raw-yuv,format=(fourcc)YV12' 'video/x-raw-yuv,format=(fourcc)YUY2;video/x-raw-yuv,format=(fourcc)YV12'
\! xvimagesink** ! xvimagesink** Show a test image and use the YUY2 or YV12 video format
Show a test image and use the YUY2 or YV12 video format for this. for this.
**gst-launch-1.0 osssrc \! **gst-launch-1.0 osssrc !
'audio/x-raw-int,rate=\[32000,64000\],width=\[16,32\],depth={16,24,32},signed=(boolean)true' 'audio/x-raw-int,rate=\[32000,64000\],width=\[16,32\],depth={16,24,32},signed=(boolean)true'
\! wavenc \! filesink location=recording.wav** ! wavenc ! filesink location=recording.wav** record audio and write it
record audio and write it to a .wav file. Force usage of signed 16 to 32 to a .wav file. Force usage of signed 16 to 32 bit samples and a sample
bit samples and a sample rate between 32kHz and 64KHz. rate between 32kHz and 64KHz.
## Environment Variables ## Environment Variables
**GST\_DEBUG** **GST\_DEBUG**: Comma-separated list of debug categories and levels,
e.g. GST\_DEBUG= totem:4,typefind:5
Comma-separated list of debug categories and levels, e.g. GST\_DEBUG= **GST\_DEBUG\_NO\_COLOR**: When this environment variable is set,
totem:4,typefind:5 coloured debug output is disabled.
**GST\_DEBUG\_NO\_COLOR**[](http://totem:4,typefind:5) **GST\_DEBUG\_DUMP\_DOT\_DIR**: When set to a filesystem path, store dot
files of pipeline graphs there.
When this environment variable is set, coloured debug output is **GST\_REGISTRY**: Path of the plugin registry file. Default is
disabled. \~/.gstreamer-1.0/registry-CPU.xml where CPU is the machine/cpu type
**GST\_DEBUG\_DUMP\_DOT\_DIR**
When set to a filesystem path, store dot files of pipeline graphs there.
**GST\_REGISTRY**
Path of the plugin registry file. Default is
~/.gstreamer-1.0/registry-CPU.xml where CPU is the machine/cpu type
GStreamer was compiled for, e.g. 'i486', 'i686', 'x86-64', 'ppc', etc. GStreamer was compiled for, e.g. 'i486', 'i686', 'x86-64', 'ppc', etc.
(check the output of "uname -i" and "uname -m" for details). (check the output of "uname -i" and "uname -m" for details).
**GST\_REGISTRY\_UPDATE** **GST\_REGISTRY\_UPDATE**: Set to "no" to force GStreamer to assume that
no plugins have changed, been added or been removed. This will make
GStreamer skip the initial check whether a rebuild of the registry cache
is required or not. This may be useful in embedded environments where
the installed plugins never change. Do not use this option in any other
setup.
Set to "no" to force GStreamer to assume that no plugins have changed, **GST\_PLUGIN\_PATH**: Specifies a list of directories to scan for
been added or been removed. This will make GStreamer skip the initial additional plugins. These take precedence over the system plugins.
check whether a rebuild of the registry cache is required or not. This
may be useful in embedded environments where the installed plugins never
change. Do not use this option in any other setup.
**GST\_PLUGIN\_PATH** **GST\_PLUGIN\_SYSTEM\_PATH**: Specifies a list of plugins that are
always loaded by default. If not set, this defaults to the
system-installed path, and the plugins installed in the user's home
directory
Specifies a list of directories to scan for additional plugins. These **OIL\_CPU\_FLAGS**: Useful liboil environment variable. Set
take precedence over the system plugins. OIL\_CPU\_FLAGS=0 when valgrind or other debugging tools trip over
liboil's CPU detection (quite a few important GStreamer plugins like
videotestsrc, audioconvert or audioresample use liboil).
**GST\_PLUGIN\_SYSTEM\_PATH** **G\_DEBUG**: Useful GLib environment variable. Set
G\_DEBUG=fatal\_warnings to make GStreamer programs abort when a
critical warning such as an assertion failure occurs. This is useful if
you want to find out which part of the code caused that warning to be
triggered and under what circumstances. Simply set G\_DEBUG as mentioned
above and run the program in gdb (or let it core dump). Then get a stack
trace in the usual way
Specifies a list of plugins that are always loaded by default. If not [information]: images/icons/emoticons/information.png
set, this defaults to the system-installed path, and the plugins
installed in the user's home directory
**OIL\_CPU\_FLAGS**
Useful liboil environment variable. Set OIL\_CPU\_FLAGS=0 when valgrind
or other debugging tools trip over liboil's CPU detection (quite a few
important GStreamer plugins like videotestsrc, audioconvert or
audioresample use liboil).
**G\_DEBUG**
Useful GLib environment variable. Set G\_DEBUG=fatal\_warnings to make
GStreamer programs abort when a critical warning such as an assertion
failure occurs. This is useful if you want to find out which part of the
code caused that warning to be triggered and under what circumstances.
Simply set G\_DEBUG as mentioned above and run the program in gdb (or
let it core dump). Then get a stack trace in the usual way
<!-- end list -->