1. Technology
Send to a Friend via Email
Linux / Unix Command: gst-launch
Command Library

NAME

gst-launch - build and run a GStreamer pipeline  

SYNOPSIS

gst-launch [OPTION...] PIPELINE-DESCRIPTION  

DESCRIPTION

gst-launch 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 (!). Options may be appended to elements, in the form "option=value". A group of elements surrounded by curly braces {, } will be executed in a separate thread.

Connections between non-consecutive elements are created by specifying a element names and pad names immediately before and after the exclamation mark, in the form "element0.sinkpad!element1.srcpad". The default name given to an element is the name of its class followed by an index. If the element names are omitted, the previous and next elements in the PIPELINE-DESCRIPTION will be used. If the pad names are omitted, a default pad of the correct type (source or sink) is found on the given element, typically named "src" or "sink".

See the GStreamer documentation for a complete description of a a PIPELINE-DESCRIPTION.

 

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 "esdsink", "alsasink", or "artsdsink". Likewise, "xvideosink" can be substituted with "sdlvideosink" or "aasink".

Audio playback

Play the mp3 music file "music.mp3" using a libmad-based plug-in and output to an OSS device:

        gst-launch filesrc location=music.mp3 ! mad ! osssink

Play an Ogg Vorbis format file:

        gst-launch filesrc location=music.ogg ! vorbisfile ! osssink

Play an mp3 file or stream retrieved via http:

        gst-launch httpsrc location=http://domain.com/music.mp3 ! mad ! osssink

Play an mp3 file or stream using GNOME-VFS:

        gst-launch gnomevfssrc location=music.mp3 ! mad ! osssink

        gst-launch gnomevfssrc location=http://domain.com/music.mp3 ! mad ! osssink

Use GNOME-VFS to play an mp3 file located on an SMB server:

        gst-launch gnomevfssrc location=smb://computer/music.mp3 ! mad ! osssink

Format conversion

Convert an mp3 music file to an Ogg Vorbis file:

        gst-launch filesrc location=music.mp3 ! mad ! vorbisenc ! filesink location=music.ogg

Alternatively, to convert to the FLAC format, use the command line:

        gst-launch filesrc location=claptrap.mp3 ! mad ! flacenc ! filesink location=test.flac

Other

Plays a .WAV file:

        gst-launch filesrc location=music.wav ! wavparse ! osssink

Convert a .WAV file into Ogg Vorbis (or mp3) file:

        gst-launch filesrc location=music.wav ! wavparse ! vorbisenc ! filesink location=music.ogg

        gst-launch filesrc location=music.wav ! wavparse ! mpegaudio ! filesink location=music.mp3

Alternatively, if you have lame installed (and have the lame plug-in), you can substitute lame for mpegaudio in the previous example. It gives better results than mpegaudio.

Rip all tracks from compact disc and convert them into a single mp3 file:

        gst-launch cdparanoia ! mpegaudio ! filesink location=cd.mp3

Using gst-inspect, it is possible to discover settings for cdparanoia that will tell it to rip individual tracks.

Record sound from your audio input and encode it into an ogg file:

        gst-launch osssrc ! vorbisenc ! filesink location=input.ogg

Video

Display only the video portion of an MPEG-1 video file, outputting to an X display window (The "queue" element is necessary to buffer data between the threads):

        gst-launch filesrc location=JB_FF9_TheGravityOfLove.mpg ! mpegdemux video_%02d!src { queue ! mpeg2dec ! xvideosink }

Display the video portion of a .vob file (used on DVDs), outputting to an SDL window:

        gst-launch filesrc location=/flflfj.vob ! mpegdemux video_%02d!src { queue ! mpeg2dec ! sdlvideosink }

Play both video and audio portions of an MPEG movie:

        gst-launch filesrc location=movie.mpg ! mpegdemux video_%02d!src { queue ! mpeg2dec ! sdlvideosink } mpegdemux0.audio_%02d!src { queue ! mad ! osssink }

Play an AVI movie:

        gst-launch filesrc location=movie.avi ! avidemux video_%02d!src { queue ! windec ! sdlvideosink }

Network streaming

An MPEG-1 system stream can be streamed via RTP from one machine to another. On the receiver, execute:
          gst-launch rtprecv media_type=mpeg1_sys ! mpegdemux video_%02d!src { queue ! mpeg2dec ! xvideosink } mpegdemux0.audio_%02d!src { queue ! mad ! osssink }

On the transmitter, execute:

        gst-launch filesrc location=mpeg1system.mpeg ! mpegparse ! rtpsend ip=IPorHostname

Diagnostic

Generate a null stream and ignore it:

        gst-launch fakesrc ! fakesink

Generate a pure tone to test the audio output:

        gst-launch sinesrc ! osssink

Generate a familiar test pattern to test the video output:

        gst-launch videotestsrc ! xvideosink

 

OPTIONS

gst-launch accepts the following options:
--help
Print help synopsis and available FLAGS
--silent
Do not output status information
--exclude=TYPE, -XTYPE
Do not output status information of TYPE
--output=FILE, -oFILE
Save XML representation of pipeline to FILE and exit
--gst-info-mask=FLAGS
GStreamer info flags to set (list with --help)
--gst-debug-mask=FLAGS
GStreamer debugging flags to set (list with --help)
--gst-mask=FLAGS
GStreamer info and debugging flags to set (list with --help)
--gst-plugin-spew
GStreamer info flags to set Enable printout of errors while loading GStreamer plugins
--gst-plugin-path=PATH
Add directories separated with ':' to the plugin search path
 

SEE ALSO

gst-complete(1), gst-register(1), gst-inspect(1)  

Important: Use the man command (% man) to see how a command is used on your particular computer.

>> Linux/Unix Command Library

>> Shell Command Library

You can opt-out at any time. Please refer to our privacy policy for contact information.

Discuss in my forum

©2014 About.com. All rights reserved.