2016-05-27 16:10:42 +00:00
|
|
|
|
# gst-launch-1.0
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
2016-05-27 19:06:22 +00:00
|
|
|
|
> ![information] This is the Linux man page for
|
|
|
|
|
> the `gst-inspect-1.0` 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.
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
|
|
|
|
## Name
|
|
|
|
|
|
2016-05-27 16:10:42 +00:00
|
|
|
|
gst-launch-1.0 - build and run a GStreamer pipeline
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
|
|
|
|
## Synopsis
|
|
|
|
|
|
2016-05-27 16:10:42 +00:00
|
|
|
|
**gst-launch-1.0** *\[OPTION...\]* PIPELINE-DESCRIPTION
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
|
|
|
|
## Description
|
|
|
|
|
|
2016-05-27 19:06:22 +00:00
|
|
|
|
*gst-launch-1.0* is a tool that builds and runs
|
|
|
|
|
basic *GStreamer* pipelines.
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
|
|
|
|
In simple form, a PIPELINE-DESCRIPTION is a list of elements separated
|
2016-05-27 19:06:22 +00:00
|
|
|
|
by exclamation marks (!). Properties may be appended to elements, in the
|
|
|
|
|
form*property=value*.
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
|
|
|
|
For a complete description of possible PIPELINE-DESCRIPTIONS see the
|
|
|
|
|
section*pipeline description* below or consult the GStreamer
|
|
|
|
|
documentation.
|
|
|
|
|
|
2016-05-27 16:10:42 +00:00
|
|
|
|
Please note that *gst-launch-1.0* is primarily a debugging tool for
|
2016-05-16 14:30:34 +00:00
|
|
|
|
developers and users. You should not build applications on top of it.
|
|
|
|
|
For applications, use the gst\_parse\_launch() function of the GStreamer
|
|
|
|
|
API as an easy way to construct pipelines from pipeline descriptions.
|
|
|
|
|
|
|
|
|
|
## Options
|
|
|
|
|
|
2016-05-27 16:10:42 +00:00
|
|
|
|
*gst-launch-1.0* accepts the following options:
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
|
|
|
|
**--help**
|
|
|
|
|
|
|
|
|
|
Print help synopsis and available FLAGS
|
|
|
|
|
|
|
|
|
|
**-v, --verbose**
|
|
|
|
|
|
|
|
|
|
Output status information and property notifications
|
|
|
|
|
|
|
|
|
|
**-q, --quiet**
|
|
|
|
|
|
|
|
|
|
Do not print any progress information
|
|
|
|
|
|
|
|
|
|
**-m, --messages**
|
|
|
|
|
|
|
|
|
|
Output messages posted on the pipeline's bus
|
|
|
|
|
|
|
|
|
|
**-t, --tags**
|
|
|
|
|
|
|
|
|
|
Output tags (also known as metadata)
|
|
|
|
|
|
|
|
|
|
**-o FILE, --output=FILE**
|
|
|
|
|
|
|
|
|
|
Save XML representation of pipeline to FILE and exit
|
|
|
|
|
|
|
|
|
|
**-f, --no\_fault**
|
|
|
|
|
|
|
|
|
|
Do not install a fault handler
|
|
|
|
|
|
|
|
|
|
**-T, --trace**
|
|
|
|
|
|
|
|
|
|
Print memory allocation traces. The feature must be enabled at compile
|
|
|
|
|
time to work.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Gstreamer Options
|
|
|
|
|
|
2016-05-27 19:06:22 +00:00
|
|
|
|
*gst-launch-1.0* also accepts the following options that are common to
|
|
|
|
|
all GStreamer applications:
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
|
|
|
|
## Pipeline Description
|
|
|
|
|
|
|
|
|
|
A pipeline consists *elements* and *links*. *Elements* can be put
|
|
|
|
|
into *bins* of different sorts. *Elements*, *links* and *bins* can be
|
|
|
|
|
specified in a pipeline description in any order.
|
|
|
|
|
|
|
|
|
|
**Elements**
|
|
|
|
|
|
|
|
|
|
ELEMENTTYPE *\[PROPERTY1 ...\]*
|
|
|
|
|
|
|
|
|
|
Creates an element of type ELEMENTTYPE and sets the PROPERTIES.
|
|
|
|
|
|
|
|
|
|
**Properties**
|
|
|
|
|
|
|
|
|
|
PROPERTY=VALUE ...
|
|
|
|
|
|
2016-05-27 19:06:22 +00:00
|
|
|
|
Sets the property to the specified value. You can
|
|
|
|
|
use **gst-inspect-1.0**(1) to find out about properties and allowed
|
|
|
|
|
values of different elements. Enumeration properties can be set by name,
|
|
|
|
|
nick or value.
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
|
|
|
|
**Bins**
|
|
|
|
|
|
|
|
|
|
*\[BINTYPE.\]* ( *\[PROPERTY1 ...\]* 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. Please
|
|
|
|
|
note the dot that has to be used after the BINTYPE. You will almost
|
|
|
|
|
never need this functionality, it is only really useful for applications
|
|
|
|
|
using the gst\_launch\_parse() API with 'bin' as bintype. That way it is
|
|
|
|
|
possible to build partial pipelines instead of a full-fledged top-level
|
|
|
|
|
pipeline.
|
|
|
|
|
|
|
|
|
|
**Links**
|
|
|
|
|
|
2016-05-27 19:06:22 +00:00
|
|
|
|
*\[\[SRCELEMENT\].\[PAD1,...\]\]* ! *\[\[SINKELEMENT\].\[PAD1,...\]\]
|
|
|
|
|
\[\[SRCELEMENT\].\[PAD1,...\]\]* ! CAPS
|
|
|
|
|
! *\[\[SINKELEMENT\].\[PAD1,...\]\]*
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
|
|
|
|
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
|
2016-05-27 19:06:22 +00:00
|
|
|
|
in the given order. So the simplest link is a simple exclamation mark,
|
|
|
|
|
that links the element to the left of it to the element right of it.
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
|
|
|
|
**Caps**
|
|
|
|
|
|
|
|
|
|
MIMETYPE *\[, PROPERTY\[, PROPERTY ...\]\]\] \[; CAPS\[; CAPS ...\]\]*
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
**Properties**
|
|
|
|
|
|
2016-05-27 19:06:22 +00:00
|
|
|
|
NAME=*\[(TYPE)\]*VALUE in lists and ranges: *\[(TYPE)\]*VALUE
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
|
|
|
|
Sets the requested property in capabilities. The name is an alphanumeric
|
2016-05-27 02:21:04 +00:00
|
|
|
|
value and the type can have the following case-insensitive values:
|
2016-05-27 19:06:22 +00:00
|
|
|
|
- **i** or **int** for integer values or ranges - **f** or **float** for
|
|
|
|
|
float values or ranges - **4** or **fourcc** for FOURCC values
|
|
|
|
|
- **b**, **bool** or **boolean** for boolean values
|
|
|
|
|
- **s**, **str** or **string** for strings - **fraction** for fractions
|
|
|
|
|
(framerate, pixel-aspect-ratio) - **l** or **list** for lists If no type
|
|
|
|
|
was given, the following order is tried: integer, float, boolean,
|
|
|
|
|
string. Integer values must be parsable by **strtol()**, floats
|
|
|
|
|
by **strtod()**. FOURCC values may either be integers or strings.
|
|
|
|
|
Boolean values are (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 ...\]* )
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
|
|
|
|
## 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
|
2016-05-27 19:06:22 +00:00
|
|
|
|
playing state. There are currently no signals defined to go into the
|
|
|
|
|
ready or pause (GST\_STATE\_READY and GST\_STATE\_PAUSED) state
|
|
|
|
|
explicitely.
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
|
|
|
|
## 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 "directsoundsink", "esdsink", "alsasink",
|
|
|
|
|
"osxaudiosink", or "artsdsink". Likewise, "xvimagesink" can be
|
|
|
|
|
substituted with "d3dvideosink", "ximagesink", "sdlvideosink",
|
|
|
|
|
"osxvideosink", or "aasink". Keep in mind though that different sinks
|
|
|
|
|
might accept different formats and even the same sink might accept
|
|
|
|
|
different formats on different machines, so you might need to add
|
|
|
|
|
converter elements like audioconvert and audioresample (for audio) or
|
2016-06-21 21:56:34 +00:00
|
|
|
|
videoconvert (for video) in front of the sink to make things work.
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
|
|
|
|
**Audio playback**
|
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`gst-launch-1.0 filesrc location=music.mp3 ! mad ! audioconvert !
|
|
|
|
|
audioresample ! osssink` Play the mp3 music file "music.mp3" using a
|
2016-05-27 19:06:22 +00:00
|
|
|
|
libmad-based plug-in and output to an OSS device
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`gst-launch-1.0 filesrc location=music.ogg ! oggdemux ! vorbisdec !
|
|
|
|
|
audioconvert ! audioresample ! osssink` Play an Ogg Vorbis format file
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`gst-launch-1.0 gnomevfssrc location=music.mp3 ! mad ! osssink
|
2016-05-27 19:06:22 +00:00
|
|
|
|
gst-launch-1.0 gnomevfssrc location=<http://domain.com/music.mp3> ! mad
|
2016-10-06 19:41:20 +00:00
|
|
|
|
! audioconvert ! audioresample ! osssink` Play an mp3 file or an http
|
2016-05-27 19:06:22 +00:00
|
|
|
|
stream using GNOME-VFS
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`gst-launch-1.0 gnomevfssrc location=<smb://computer/music.mp3> ! mad !
|
|
|
|
|
audioconvert ! audioresample ! osssink` Use GNOME-VFS to play an mp3
|
2016-05-27 19:06:22 +00:00
|
|
|
|
file located on an SMB server
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
|
|
|
|
**Format conversion**
|
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`gst-launch-1.0 filesrc location=music.mp3 ! mad ! audioconvert !
|
|
|
|
|
vorbisenc ! oggmux ! filesink location=music.ogg` Convert an mp3 music
|
2016-05-27 19:06:22 +00:00
|
|
|
|
file to an Ogg Vorbis file
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`gst-launch-1.0 filesrc location=music.mp3 ! mad ! audioconvert !
|
|
|
|
|
flacenc ! filesink location=test.flac` Convert to the FLAC format
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
|
|
|
|
**Other**
|
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`gst-launch-1.0 filesrc location=music.wav ! wavparse ! audioconvert !
|
|
|
|
|
audioresample ! osssink` Plays a .WAV file that contains raw audio data
|
2016-05-27 19:06:22 +00:00
|
|
|
|
(PCM).
|
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`gst-launch-1.0 filesrc location=music.wav ! wavparse ! audioconvert !
|
2016-05-27 19:06:22 +00:00
|
|
|
|
vorbisenc ! oggmux ! filesink location=music.ogg gst-launch-1.0 filesrc
|
|
|
|
|
location=music.wav ! wavparse ! audioconvert ! lame ! filesink
|
2016-10-06 19:41:20 +00:00
|
|
|
|
location=music.mp3` Convert a .WAV file containing raw audio data into
|
2016-05-27 19:06:22 +00:00
|
|
|
|
an Ogg Vorbis or mp3 file
|
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`gst-launch-1.0 cdparanoiasrc mode=continuous ! audioconvert ! lame !
|
|
|
|
|
id3v2mux ! filesink location=cd.mp3` rips all tracks from compact disc
|
2016-05-27 19:06:22 +00:00
|
|
|
|
and convert them into a single mp3 file
|
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`gst-launch-1.0 cdparanoiasrc track=5 ! audioconvert ! lame ! id3v2mux
|
|
|
|
|
! filesink location=track5.mp3` rips track 5 from the CD and converts
|
2016-05-27 19:06:22 +00:00
|
|
|
|
it into a single mp3 file
|
|
|
|
|
|
|
|
|
|
Using **gst-inspect-1.0**(1), it is possible to discover settings like
|
|
|
|
|
the above for cdparanoiasrc that will tell it to rip the entire cd or
|
|
|
|
|
only tracks of it. Alternatively, you can use an URI and gst-launch-1.0
|
|
|
|
|
will find an element (such as cdparanoia) that supports that protocol
|
2016-10-06 19:41:20 +00:00
|
|
|
|
for you, e.g.: `gst-launch-1.0 \[cdda://5\] ! lame vbr=new
|
|
|
|
|
vbr-quality=6 ! filesink location=track5.mp3`
|
2016-05-27 19:06:22 +00:00
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`gst-launch-1.0 osssrc ! audioconvert ! vorbisenc ! oggmux ! filesink
|
|
|
|
|
location=input.ogg` records sound from your audio input and encodes it
|
2016-05-27 19:06:22 +00:00
|
|
|
|
into an ogg file
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
|
|
|
|
**Video**
|
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`gst-launch-1.0 filesrc location=JB\_FF9\_TheGravityOfLove.mpg !
|
|
|
|
|
dvddemux ! mpeg2dec ! xvimagesink` Display only the video portion of an
|
2016-05-27 19:06:22 +00:00
|
|
|
|
MPEG-1 video file, outputting to an X display window
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`gst-launch-1.0 filesrc location=/flflfj.vob ! dvddemux ! mpeg2dec !
|
|
|
|
|
sdlvideosink` Display the video portion of a .vob file (used on DVDs),
|
2016-05-27 19:06:22 +00:00
|
|
|
|
outputting to an SDL window
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`gst-launch-1.0 filesrc location=movie.mpg ! dvddemux name=demuxer
|
2016-05-27 19:06:22 +00:00
|
|
|
|
demuxer. ! queue ! mpeg2dec ! sdlvideosink demuxer. ! queue ! mad !
|
2016-10-06 19:41:20 +00:00
|
|
|
|
audioconvert ! audioresample ! osssink` Play both video and audio
|
2016-05-27 19:06:22 +00:00
|
|
|
|
portions of an MPEG movie
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`gst-launch-1.0 filesrc location=movie.mpg ! mpegdemux name=demuxer
|
2016-06-21 21:56:34 +00:00
|
|
|
|
demuxer. ! queue ! mpeg2dec ! videoconvert ! sdlvideosink demuxer. !
|
2016-10-06 19:41:20 +00:00
|
|
|
|
queue ! mad ! audioconvert ! audioresample ! osssink` Play an AVI movie
|
2016-05-27 19:06:22 +00:00
|
|
|
|
with an external text subtitle stream
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
|
|
|
|
This example also shows how to refer to specific pads by name if an
|
|
|
|
|
element (here: textoverlay) has multiple sink or source pads.
|
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`gst-launch-1.0 textoverlay name=overlay ! videoconvert !
|
2016-05-27 19:06:22 +00:00
|
|
|
|
videoscale ! autovideosink filesrc location=movie.avi ! decodebin2 !
|
2016-06-21 21:56:34 +00:00
|
|
|
|
videoconvert ! overlay.video\_sink filesrc location=movie.srt !
|
2016-10-06 19:41:20 +00:00
|
|
|
|
subparse ! overlay.text\_sink`
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
2016-05-27 18:19:02 +00:00
|
|
|
|
Play an AVI movie with an external text subtitle stream using playbin
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`gst-launch-1.0 playbin uri=<file:///path/to/movie.avi>
|
|
|
|
|
suburi=<file:///path/to/movie.srt>`
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
|
|
|
|
**Network streaming**
|
|
|
|
|
|
|
|
|
|
Stream video using RTP and network elements.
|
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`gst-launch-1.0 v4l2src !
|
2016-05-27 19:06:22 +00:00
|
|
|
|
video/x-raw-yuv,width=128,height=96,format='(fourcc)'UYVY !
|
2016-06-21 21:56:34 +00:00
|
|
|
|
videoconvert ! ffenc\_h263 ! video/x-h263 ! rtph263ppay pt=96 !
|
2016-10-06 19:41:20 +00:00
|
|
|
|
udpsink host=192.168.1.1 port=5000 sync=false` Use this command on the
|
2016-05-27 19:06:22 +00:00
|
|
|
|
receiver
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`gst-launch-1.0 udpsrc port=5000 ! application/x-rtp,
|
2016-05-27 19:06:22 +00:00
|
|
|
|
clock-rate=90000,payload=96 ! rtph263pdepay queue-delay=0 ! ffdec\_h263
|
2016-10-06 19:41:20 +00:00
|
|
|
|
! xvimagesink` This command would be run on the transmitter
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
|
|
|
|
**Diagnostic**
|
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`gst-launch-1.0 -v fakesrc num-buffers=16 ! fakesink` Generate a null
|
2016-05-27 19:06:22 +00:00
|
|
|
|
stream and ignore it (and print out details).
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`gst-launch-1.0 audiotestsrc ! audioconvert ! audioresample ! osssink`
|
2016-05-16 14:30:34 +00:00
|
|
|
|
Generate a pure sine tone to test the audio output
|
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`gst-launch-1.0 videotestsrc ! xvimagesink gst-launch-1.0 videotestsrc
|
|
|
|
|
! ximagesink` Generate a familiar test pattern to test the video output
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
|
|
|
|
**Automatic linking**
|
|
|
|
|
|
|
|
|
|
You can use the decodebin element to automatically select the right
|
|
|
|
|
elements to get a working pipeline.
|
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`gst-launch-1.0 filesrc location=musicfile ! decodebin ! audioconvert !
|
|
|
|
|
audioresample ! osssink` Play any supported audio format
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`gst-launch-1.0 filesrc location=videofile ! decodebin name=decoder
|
2016-05-27 19:06:22 +00:00
|
|
|
|
decoder. ! queue ! audioconvert ! audioresample ! osssink decoder. !
|
2016-10-06 19:41:20 +00:00
|
|
|
|
videoconvert ! xvimagesink` Play any supported video format with
|
2016-05-27 19:06:22 +00:00
|
|
|
|
video and audio output. Threads are used automatically. To make this
|
|
|
|
|
even easier, you can use the playbin element:
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`gst-launch-1.0 playbin uri=<file:///home/joe/foo.avi>`
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
|
|
|
|
**Filtered connections**
|
|
|
|
|
|
|
|
|
|
These examples show you how to use filtered caps.
|
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`gst-launch-1.0 videotestsrc !
|
2016-05-16 14:30:34 +00:00
|
|
|
|
'video/x-raw-yuv,format=(fourcc)YUY2;video/x-raw-yuv,format=(fourcc)YV12'
|
2016-10-06 19:41:20 +00:00
|
|
|
|
! xvimagesink` Show a test image and use the YUY2 or YV12 video format
|
2016-05-27 19:06:22 +00:00
|
|
|
|
for this.
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`gst-launch-1.0 osssrc !
|
2016-05-16 14:30:34 +00:00
|
|
|
|
'audio/x-raw-int,rate=\[32000,64000\],width=\[16,32\],depth={16,24,32},signed=(boolean)true'
|
2016-10-06 19:41:20 +00:00
|
|
|
|
! wavenc ! filesink location=recording.wav` record audio and write it
|
2016-05-27 19:06:22 +00:00
|
|
|
|
to a .wav file. Force usage of signed 16 to 32 bit samples and a sample
|
|
|
|
|
rate between 32kHz and 64KHz.
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
|
|
|
|
## Environment Variables
|
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`GST\_DEBUG`: Comma-separated list of debug categories and levels,
|
2016-05-27 19:06:22 +00:00
|
|
|
|
e.g. GST\_DEBUG= totem:4,typefind:5
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`GST\_DEBUG\_NO\_COLOR`: When this environment variable is set,
|
2016-05-27 19:06:22 +00:00
|
|
|
|
coloured debug output is disabled.
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`GST\_DEBUG\_DUMP\_DOT\_DIR`: When set to a filesystem path, store dot
|
2016-05-27 19:06:22 +00:00
|
|
|
|
files of pipeline graphs there.
|
2016-05-16 14:30:34 +00:00
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`GST\_REGISTRY`: Path of the plugin registry file. Default is
|
2016-05-27 19:06:22 +00:00
|
|
|
|
\~/.gstreamer-1.0/registry-CPU.xml where CPU is the machine/cpu type
|
2016-05-16 14:30:34 +00:00
|
|
|
|
GStreamer was compiled for, e.g. 'i486', 'i686', 'x86-64', 'ppc', etc.
|
|
|
|
|
(check the output of "uname -i" and "uname -m" for details).
|
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`GST\_REGISTRY\_UPDATE`: Set to "no" to force GStreamer to assume that
|
2016-05-27 19:06:22 +00:00
|
|
|
|
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.
|
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`GST\_PLUGIN\_PATH`: Specifies a list of directories to scan for
|
2016-05-27 19:06:22 +00:00
|
|
|
|
additional plugins. These take precedence over the system plugins.
|
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`GST\_PLUGIN\_SYSTEM\_PATH`: Specifies a list of plugins that are
|
2016-05-27 19:06:22 +00:00
|
|
|
|
always loaded by default. If not set, this defaults to the
|
|
|
|
|
system-installed path, and the plugins installed in the user's home
|
|
|
|
|
directory
|
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`OIL\_CPU\_FLAGS`: Useful liboil environment variable. Set
|
2016-05-27 19:06:22 +00:00
|
|
|
|
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).
|
|
|
|
|
|
2016-10-06 19:41:20 +00:00
|
|
|
|
`G\_DEBUG`: Useful GLib environment variable. Set
|
2016-05-27 19:06:22 +00:00
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
[information]: images/icons/emoticons/information.png
|