| gst-launch |
| ================ |
| |
| This is a tool that will construct pipelines based on a command-line |
| syntax. The syntax is rather complex to enable all the features I want it |
| to have, but should be easy to use for most people. Multi-pathed and |
| feedback pipelines are the most complex. |
| |
| A simple commandline looks like: |
| |
| gst-launch filesrc location=music.mp3 ! mad ! osssink |
| |
| This plays an mp3 music file music.mp3 using libmad, and: |
| |
| gst-launch filesrc location=music.mp3 ! mp3parse ! mpg123 ! osssink |
| |
| Plays and mp3 music file using mpg123 |
| |
| You can also stream files over http: |
| |
| gst-launch httpsrc location=http://domain.com/music.mp3 ! mad ! osssink |
| |
| And using gnome-vfs you can do the same with: |
| |
| gst-launch gnomevfssrc location=music.mp3 ! mad ! osssink |
| gst-launch gnomevfssrc location=http://domain.com/music.mp3 ! mad ! osssink |
| |
| And too play the same song with gnome-vfs via smb: |
| |
| gst-launch gnomevfssrc location=smb://computer/music.mp3 ! mad ! osssink |
| |
| Here we convert a Mp3 file into an Ogg Vorbis file: |
| |
| gst-launch filesrc location=music.mp3 ! mad ! vorbisenc ! filesink location=music.ogg |
| |
| And then we can play that file with: |
| |
| gst-launch filesrc location=music.ogg ! oggdemux ! vorbisdec ! audioconvert ! osssink |
| |
| Some other useful pipelines are.. |
| Plays wav files (currently there are no wav encoders): |
| |
| gst-launch filesrc location=music.wav ! wavparse ! osssink |
| |
| Converts wav files into mp3 and ogg files: |
| |
| gst-launch filesrc location=music.wav ! wavparse ! vorbisenc ! filesink location=music.ogg |
| gst-launch filesrc location=music.wav ! wavparse ! mpegaudio ! filesink location=music.mp3 |
| |
| You can also use lame for mp3 encoding if you have it installed, it does a |
| much better job than mpegaudio. |
| |
| Rips all songs from cd and saves them into a mp3 file: |
| |
| gst-launch cdparanoia ! mpegaudio ! filesink location=cd.mp3 |
| |
| You can toy around with gst-inspect to discover the settings for |
| cdparanoia to rip individual tracks |
| |
| Record sound from your sound input and encode it into an ogg file: |
| |
| gst-launch osssrc ! vorbisenc ! filesink location=input.ogg |
| |
| gst-launch not only handles audio but video as well: |
| For mpeg1 files (video and audio streams respectively): |
| |
| gst-launch filesrc location=video.mpg ! mpegdemux video_00! { queue ! mpeg2dec ! sdlvideosink } |
| gst-launch filesrc location=video.mpg ! mpegdemux audio_00! { queue ! mad ! osssink } |
| |
| for mpeg1 with both audio and video (for glib2): |
| |
| gst-launch filesrc location=video.mpg ! mpegdemux name=demux video_00! { queue ! mpeg2dec ! sdlvideosink } demux.audio_00! { queue ! mad ! osssink } |
| |
| for mpeg1 with both audio and video (for gtk1.2, the shim doesn't handle the 'name' property yet): |
| |
| gst-launch filesrc location=video.mpg ! mpegdemux video_00! { queue ! mpeg2dec ! sdlvideosink } mpegdemux0.audio_00! { queue ! mad ! osssink } |
| |
| For mpeg2 files (video and audio streams respectively): |
| |
| gst-launch filesrc location=video.mpeg ! mpegdemux video_00! { queue ! mpeg2dec ! sdlvideosink } |
| gst-launch filesrc location=video.mpeg ! mpegdemux private_stream_1.0! { queue ! a52dec ! osssink } |
| |
| for mpeg2 with both audio and video (glib2): |
| |
| gst-launch filesrc location=video.mpg ! mpegdemux name=demux video_00! { queue ! mpeg2dec ! sdlvideosink } demux.private_stream_1.0! { queue ! a52dec ! osssink } |
| |
| Note: The types of audio streams in the mpeg files can vary! |
| |
| For an avi file (DivX, mjpeg,...) |
| |
| gst-launch filesrc location=video.avi ! avidecoder video_00! { queue ! sdlvideosink } avidecoder0.audio_00! { queue ! osssink } |
| |
| |
| |
| gst-complete |
| ================== |
| |
| This is a simple utility which provides custom bash completion when |
| typing gst-launch commands. |
| |
| Simply run "gst-compprep" as root to build the registry of completions, |
| and then put, in your .bashrc, |
| "complete -C gst-complete gst-launch" |
| (ensuring that gst-complete is on your path). |
| |
| You can then enjoy context sensitive tab-completion of gst-launch |
| commands. |
| |
| |
| |
| gst-inspect |
| ================= |
| |
| Allows you to check the properties of plugins and elements. |
| |
| ./gst-inspect |
| |
| will show all the plugins available and the elements they contain. |
| |
| ./gst-inspect <pluginname/elementname> |
| |
| shows more info about the plugin/element. |
| |
| |
| |
| gst-xmlinspect |
| ================= |
| |
| Dump properties of plugins and elements in an xml format. You can |
| transform the xml to something else with an appropriate stylesheet. |
| |
| ./gst-xmlinspect <elementname> | xsltproc xml2text.xsl - |
| |
| |