summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>2017-10-18 22:20:55 -0700
committerReynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>2017-10-19 21:59:49 -0700
commit76a492c46752b4c153fa9dd891f78b87b6d0735b (patch)
tree0aae5ed1fa4c12fcfece66d42b0dddc10226d8e4
parent764b8d0c702da063b33b70c9d86da9a7a77e8286 (diff)
tools: gst-launch: improve content and formatting
-rw-r--r--markdown/tools/gst-launch.md531
1 files changed, 321 insertions, 210 deletions
diff --git a/markdown/tools/gst-launch.md b/markdown/tools/gst-launch.md
index 36821b8..9149d57 100644
--- a/markdown/tools/gst-launch.md
+++ b/markdown/tools/gst-launch.md
@@ -1,35 +1,35 @@
# gst-launch-1.0
-> ![information] This is the Linux man page for
+> ![information] This content comes mostly from the Linux man page for
> the `gst-launch-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.
## Name
-gst-launch-1.0 - build and run a GStreamer pipeline
+`gst-launch-1.0` - build and run a GStreamer pipeline
## Synopsis
-**gst-launch-1.0** *\[OPTION...\]* PIPELINE-DESCRIPTION
+```
+gst-launch-1.0 [OPTIONS] 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
-by exclamation marks (!). Properties may be appended to elements, in the
-form*property=value*.
+In its simplest form, a PIPELINE-DESCRIPTION is a list of elements separated
+by exclamation marks (!). Properties may be appended to elements in the
+form `property=value`.
-For a complete description of possible PIPELINE-DESCRIPTIONS see the
-section*pipeline description* below or consult the GStreamer
-documentation.
+For a more complete description of possible PIPELINE-DESCRIPTIONS see the
+section *pipeline description* below or consult the GStreamer documentation.
-Please note that *gst-launch-1.0* is primarily a debugging tool for
-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.
+Please note that `gst-launch-1.0` is primarily a debugging tool. 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
@@ -68,300 +68,411 @@ Do not install a fault handler
Print memory allocation traces. The feature must be enabled at compile
time to work.
-
## Gstreamer Options
-*gst-launch-1.0* also accepts the following options that are common to
+`gst-launch-1.0` also accepts the following options that are common to
all GStreamer applications:
## Pipeline Description
-A pipeline consists *elements* and *links*. *Elements* can be put
-into *bins* of different sorts. *Elements*, *links* and *bins* can be
+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**
+### Elements
-ELEMENTTYPE *\[PROPERTY1 ...\]*
+```
+ELEMENTTYPE [PROPERTY1 ...]
+```
-Creates an element of type ELEMENTTYPE and sets the PROPERTIES.
+Creates an element of type `ELEMENTTYPE` and sets its `PROPERTIES`.
-**Properties**
+### Element Properties
+```
PROPERTY=VALUE ...
+```
-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.
+Sets the property to the specified value. You can use `gst-inspect-1.0` to find
+out about properties and allowed values of different elements. Enumeration
+properties can be set by name, nick or value.
-**Bins**
+### Bins
-*\[BINTYPE.\]* ( *\[PROPERTY1 ...\]* PIPELINE-DESCRIPTION )
+```
+[BINTYPE.] ([PROPERTY1 ...] PIPELINE-DESCRIPTION)
+```
-Specifies that a bin of type BINTYPE is created and the given properties
+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
+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
+using the `gst_parse_launch()` API with 'bin' as bintype. That way it is
possible to build partial pipelines instead of a full-fledged top-level
pipeline.
-**Links**
+### Links
+
+```
+[[SRCELEMENT\].[PAD1,...]] ! [[SINKELEMENT].[PAD1,...]]
+```
+
+Links the element with name SRCELEMENT to the element with name SINKELEMENT.
+Names can be set on elements using 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 using that
+pad. If no pad names are given all possibilities are tried and a compatible 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. The simplest link
+is a simple exclamation mark. This links the element to the left of it with the
+element at its right.
-*\[\[SRCELEMENT\].\[PAD1,...\]\]* ! *\[\[SINKELEMENT\].\[PAD1,...\]\]
-\[\[SRCELEMENT\].\[PAD1,...\]\]* ! CAPS
-! *\[\[SINKELEMENT\].\[PAD1,...\]\]*
-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
-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.
+The following links the element with name SRCELEMENT to the element with name
+SINKELEMENT, using the caps specified in CAPS as a filter:
-**Caps**
+```
+[[SRCELEMENT].[PAD1,...]] ! CAPS ! [[SINKELEMENT].[PAD1,...]]
+```
-MIMETYPE *\[, PROPERTY\[, PROPERTY ...\]\]\] \[; CAPS\[; CAPS ...\]\]*
+### 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
+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**
+### Caps Properties
-NAME=*\[(TYPE)\]*VALUE in lists and ranges: *\[(TYPE)\]*VALUE
+```
+NAME=[(TYPE)] VALUE in lists and ranges: [(TYPE)] VALUE
+```
Sets the requested property in capabilities. The name is an alphanumeric
value and the type can have the following case-insensitive values:
+
- **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 ...\]* )
+(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 ...])`
## 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
-playing state. There are currently no signals defined to go into the
-ready or pause (GST\_STATE\_READY and GST\_STATE\_PAUSED) state
-explicitely.
+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 `PLAYING` state. There are currently no
+signals defined to go into the ready or pause (`GST_STATE_READY` and `GST_STATE_PAUSED`) states explicitly.
## 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
-videoconvert (for video) in front of the sink to make things work.
+The examples below assume that you have the correct plugins available.
+In general, `osssink` can be substituted with another audio output
+plugin 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
+`videoconvert` in front of the sink to make things work.
+
+### Audio playback
+
+Play the mp3 music file "music.mp3" using a libmad-based plugin and output to
+an OSS device:
+
+```
+gst-launch-1.0 filesrc location=music.mp3 ! mad ! audioconvert !
+audioresample ! osssink
+```
+
+Play an Ogg Vorbis format file:
-**Audio playback**
+```
+gst-launch-1.0 filesrc location=music.ogg ! oggdemux ! vorbisdec !
+audioconvert ! audioresample ! osssink
+```
-`gst-launch-1.0 filesrc location=music.mp3 ! mad ! audioconvert !
-audioresample ! osssink` Play the mp3 music file "music.mp3" using a
-libmad-based plug-in and output to an OSS device
+Play an mp3 file using GNOME-VFS:
-`gst-launch-1.0 filesrc location=music.ogg ! oggdemux ! vorbisdec !
-audioconvert ! audioresample ! osssink` 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
+Play an HTTP stream using GNOME-VFS:
+
+```
gst-launch-1.0 gnomevfssrc location=<http://domain.com/music.mp3> ! mad
-! audioconvert ! audioresample ! osssink` Play an mp3 file or an http
-stream using GNOME-VFS
+! audioconvert ! audioresample ! osssink
+```
+
+Use GNOME-VFS to play an mp3 file located on an SMB server:
+
+```
+gst-launch-1.0 gnomevfssrc location=<smb://computer/music.mp3> ! mad !
+audioconvert ! audioresample ! osssink
+```
+
+### Format conversion
+
+Convert an mp3 music file to an Ogg Vorbis file:
+
+```
+gst-launch-1.0 filesrc location=music.mp3 ! mad ! audioconvert ! vorbisenc !
+oggmux ! filesink location=music.ogg
+```
+
+Convert to the FLAC format:
+
+```
+gst-launch-1.0 filesrc location=music.mp3 ! mad ! audioconvert ! flacenc !
+filesink location=test.flac`
+```
+
+### Other
-`gst-launch-1.0 gnomevfssrc location=<smb://computer/music.mp3> ! mad !
-audioconvert ! audioresample ! osssink` Use GNOME-VFS to play an mp3
-file located on an SMB server
+Play a .WAV file that contains raw audio data (PCM):
-**Format conversion**
+```
+gst-launch-1.0 filesrc location=music.wav ! wavparse ! audioconvert !
+audioresample ! osssink
+```
-`gst-launch-1.0 filesrc location=music.mp3 ! mad ! audioconvert !
-vorbisenc ! oggmux ! filesink location=music.ogg` Convert an mp3 music
-file to an Ogg Vorbis file
+Convert a .WAV file containing raw audio data into an Ogg Vorbis or mp3 file:
-`gst-launch-1.0 filesrc location=music.mp3 ! mad ! audioconvert !
-flacenc ! filesink location=test.flac` Convert to the FLAC format
+```
+gst-launch-1.0 filesrc location=music.wav ! wavparse ! audioconvert !
+vorbisenc ! oggmux ! filesink location=music.ogg
+```
-**Other**
+```
+gst-launch-1.0 filesrc location=music.wav ! wavparse ! audioconvert ! lame !
+filesink location=music.mp3
+```
-`gst-launch-1.0 filesrc location=music.wav ! wavparse ! audioconvert !
-audioresample ! osssink` Plays a .WAV file that contains raw audio data
-(PCM).
+Rip all tracks from CD and convert them into a single mp3 file:
-`gst-launch-1.0 filesrc location=music.wav ! wavparse ! audioconvert !
-vorbisenc ! oggmux ! filesink location=music.ogg gst-launch-1.0 filesrc
-location=music.wav ! wavparse ! audioconvert ! lame ! filesink
-location=music.mp3` Convert a .WAV file containing raw audio data into
-an Ogg Vorbis or mp3 file
+```
+gst-launch-1.0 cdparanoiasrc mode=continuous ! audioconvert ! lame !
+id3v2mux ! filesink location=cd.mp3
+```
-`gst-launch-1.0 cdparanoiasrc mode=continuous ! audioconvert ! lame !
-id3v2mux ! filesink location=cd.mp3` rips all tracks from compact disc
-and convert them into a single mp3 file
+Rip track 5 from the CD and converts it into a single mp3 file:
-`gst-launch-1.0 cdparanoiasrc track=5 ! audioconvert ! lame ! id3v2mux
-! filesink location=track5.mp3` rips track 5 from the CD and converts
-it into a single mp3 file
+```
+gst-launch-1.0 cdparanoiasrc track=5 ! audioconvert ! lame ! id3v2mux
+! filesink location=track5.mp3
+```
-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
+Using `gst-inspect-1.0`, 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
-for you, e.g.: `gst-launch-1.0 \[cdda://5\] ! lame vbr=new
-vbr-quality=6 ! filesink location=track5.mp3`
+for you, e.g.: 
-`gst-launch-1.0 osssrc ! audioconvert ! vorbisenc ! oggmux ! filesink
-location=input.ogg` records sound from your audio input and encodes it
-into an ogg file
+```
+gst-launch-1.0 [cdda://5] ! lame vbr=new vbr-quality=6 !
+filesink location=track5.mp3
+```
-**Video**
+Record sound from your audio input and encode it into an ogg file:
-`gst-launch-1.0 filesrc location=JB\_FF9\_TheGravityOfLove.mpg !
-dvddemux ! mpeg2dec ! xvimagesink` Display only the video portion of an
-MPEG-1 video file, outputting to an X display window
+```
+gst-launch-1.0 osssrc ! audioconvert ! vorbisenc ! oggmux !
+filesink location=input.ogg
+```
-`gst-launch-1.0 filesrc location=/flflfj.vob ! dvddemux ! mpeg2dec !
-sdlvideosink` Display the video portion of a .vob file (used on DVDs),
-outputting to an SDL window
+### Video
-`gst-launch-1.0 filesrc location=movie.mpg ! dvddemux name=demuxer
-demuxer. ! queue ! mpeg2dec ! sdlvideosink demuxer. ! queue ! mad !
-audioconvert ! audioresample ! osssink` Play both video and audio
-portions of an MPEG movie
+Display only the video portion of an MPEG-1 video file, outputting to an X
+display window:
-`gst-launch-1.0 filesrc location=movie.mpg ! mpegdemux name=demuxer
-demuxer. ! queue ! mpeg2dec ! videoconvert ! sdlvideosink demuxer. !
-queue ! mad ! audioconvert ! audioresample ! osssink` Play an AVI movie
-with an external text subtitle stream
+```
+gst-launch-1.0 filesrc location=videofile.mpg ! dvddemux ! mpeg2dec !
+xvimagesink
+```
-This example also shows how to refer to specific pads by name if an
-element (here: textoverlay) has multiple sink or source pads.
+Display the video portion of a .vob file (used on DVDs), outputting to an SDL
+window:
-`gst-launch-1.0 textoverlay name=overlay ! videoconvert !
-videoscale ! autovideosink filesrc location=movie.avi ! decodebin2 !
-videoconvert ! overlay.video\_sink filesrc location=movie.srt !
-subparse ! overlay.text\_sink`
+```
+gst-launch-1.0 filesrc location=flflfj.vob ! dvddemux ! mpeg2dec ! sdlvideosink
+```
-Play an AVI movie with an external text subtitle stream using playbin
+Play both video and audio portions of an MPEG movie:
-`gst-launch-1.0 playbin uri=<file:///path/to/movie.avi>
-suburi=<file:///path/to/movie.srt>`
+```
+gst-launch-1.0 filesrc location=movie.mpg ! dvddemux name=demuxer
+demuxer. ! queue ! mpeg2dec ! sdlvideosink
+demuxer. ! queue ! mad ! audioconvert ! audioresample ! osssink
+```
-**Network streaming**
+Play an AVI movie with an external text subtitle stream:
-Stream video using RTP and network elements.
+```
+gst-launch-1.0 filesrc location=movie.mpg ! mpegdemux name=demuxer
+demuxer. ! queue ! mpeg2dec ! videoconvert ! sdlvideosink
+demuxer. ! queue ! mad ! audioconvert ! audioresample ! osssink
+```
-`gst-launch-1.0 v4l2src !
+This example shows how to refer to specific pads by name if an
+element (here: textoverlay) has multiple sink or source pads:
+
+```
+gst-launch-1.0 textoverlay name=overlay ! videoconvert ! videoscale !
+autovideosink
+filesrc location=movie.avi ! decodebin2 ! videoconvert ! overlay.video_sink
+filesrc location=movie.srt ! subparse ! overlay.text_sink
+```
+
+Play an AVI movie with an external text subtitle stream using playbin:
+
+```
+gst-launch-1.0 playbin uri=<file:///path/to/movie.avi>
+suburi=<file:///path/to/movie.srt>
+```
+
+### Network streaming
+
+Stream video using RTP and network elements
+
+This command would be run on the transmitter:
+
+```
+gst-launch-1.0 v4l2src !
video/x-raw-yuv,width=128,height=96,format='(fourcc)'UYVY !
-videoconvert ! ffenc\_h263 ! video/x-h263 ! rtph263ppay pt=96 !
-udpsink host=192.168.1.1 port=5000 sync=false` Use this command on the
-receiver
+videoconvert ! ffenc_h263 ! video/x-h263 ! rtph263ppay pt=96 !
+udpsink host=192.168.1.1 port=5000 sync=false
+```
+
+Use this command on the receiver:
+
+```
+gst-launch-1.0 udpsrc port=5000 ! application/x-rtp,
+clock-rate=90000,payload=96 ! rtph263pdepay queue-delay=0 ! ffdec_h263
+! xvimagesink
+```
-`gst-launch-1.0 udpsrc port=5000 ! application/x-rtp,
-clock-rate=90000,payload=96 ! rtph263pdepay queue-delay=0 ! ffdec\_h263
-! xvimagesink` This command would be run on the transmitter
+### Diagnostic
-**Diagnostic**
+Generate a null stream and ignore it (and print out details):
-`gst-launch-1.0 -v fakesrc num-buffers=16 ! fakesink` Generate a null
-stream and ignore it (and print out details).
+```
+gst-launch-1.0 -v fakesrc num-buffers=16 ! fakesink
+```
-`gst-launch-1.0 audiotestsrc ! audioconvert ! audioresample ! 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
-! ximagesink` Generate a familiar test pattern to test the video output
+```
+gst-launch-1.0 audiotestsrc ! audioconvert ! audioresample ! osssink
+```
-**Automatic linking**
+Generate a familiar test pattern to test the video output:
+
+```
+gst-launch-1.0 videotestsrc ! ximagesink
+```
+
+### Automatic linking
You can use the decodebin element to automatically select the right
elements to get a working pipeline.
-`gst-launch-1.0 filesrc location=musicfile ! decodebin ! audioconvert !
-audioresample ! osssink` Play any supported audio format
+Play any supported audio format:
+
+```
+gst-launch-1.0 filesrc location=musicfile ! decodebin ! audioconvert !
+audioresample ! osssink
+```
+
+Play any supported video format with video and audio output. Threads are used
+automatically:
-`gst-launch-1.0 filesrc location=videofile ! decodebin name=decoder
-decoder. ! queue ! audioconvert ! audioresample ! osssink decoder. !
-videoconvert ! xvimagesink` Play any supported video format with
-video and audio output. Threads are used automatically. To make this
-even easier, you can use the playbin element:
+```
+gst-launch-1.0 filesrc location=videofile ! decodebin name=decoder
+decoder. ! queue ! audioconvert ! audioresample ! osssink
+decoder. ! videoconvert ! xvimagesink
+```
-`gst-launch-1.0 playbin uri=<file:///home/joe/foo.avi>`
+To make the above even easier, you can use the playbin element:
-**Filtered connections**
+```
+gst-launch-1.0 playbin uri=<file:///home/joe/foo.avi>
+```
+
+### Filtered connections
These examples show you how to use filtered caps.
-`gst-launch-1.0 videotestsrc !
+Show a test image and use the YUY2 or YV12 video format for this:
+
+```
+gst-launch-1.0 videotestsrc !
'video/x-raw-yuv,format=(fourcc)YUY2;video/x-raw-yuv,format=(fourcc)YV12'
-! xvimagesink` Show a test image and use the YUY2 or YV12 video format
-for this.
+! xvimagesink
+```
-`gst-launch-1.0 osssrc !
-'audio/x-raw-int,rate=\[32000,64000\],width=\[16,32\],depth={16,24,32},signed=(boolean)true'
-! wavenc ! filesink location=recording.wav` record audio and write it
-to a .wav file. Force usage of signed 16 to 32 bit samples and a sample
-rate between 32kHz and 64KHz.
+Record audio and write it to a .wav file. Force usage of signed 16 to 32 bit
+samples and a sample rate between 32kHz and 64KHz:
+
+```
+gst-launch-1.0 osssrc !
+'audio/x-raw-int,rate=[32000,64000],width=[16,32],depth={16,24,32},signed=(boolean)true'
+! wavenc ! filesink location=recording.wav
+```
## Environment Variables
-`GST\_DEBUG`: Comma-separated list of debug categories and levels,
-e.g. GST\_DEBUG= totem:4,typefind:5
+`GST_DEBUG`: Comma-separated list of debug categories and levels, e.g:
+
+```
+GST_DEBUG=totem:4,typefind:5
+```
-`GST\_DEBUG\_NO\_COLOR`: When this environment variable is set,
-coloured debug output is disabled.
+`GST_DEBUG_NO_COLOR`: When this environment variable is set, coloured debug
+output is disabled. This might come handy when saving the debug output to a
+file.
-`GST\_DEBUG\_DUMP\_DOT\_DIR`: When set to a filesystem path, store dot
+`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
+`GST_REGISTRY`: Path of the plugin registry file. The 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.
-(check the output of "uname -i" and "uname -m" for details).
-
-`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.
-
-`GST\_PLUGIN\_PATH`: Specifies a list of directories to scan for
-additional plugins. These take precedence over the system plugins.
-
-`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
-
-`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
+Check the output of `uname -i` and `uname -m` for details.
+
+`GST_REGISTRY_UPDATE`: Set to "no" to force GStreamer to assume that no plugins
+have changed, have been added or have been removed. This will make GStreamer
+skip the initial check to determine 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`: Specifies a list of directories to scan for additional
+plugins. These take precedence over the system plugins.
+
+`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
+
+`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` and
+`audioresample` use liboil.
+
+`G_DEBUG`: This is a 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 under
+gdb (or let it core dump). Then get a stack trace in the usual way.
[information]: images/icons/emoticons/information.png