gstreamer/tools
Steve Baker 799b712338 this is a major update which adds a tree view of the pipeline and lets you set individual element args through a dyna...
Original commit message from CVS:
this is a major update which adds a tree view of the pipeline and lets you set individual element args through a dynamically generated gui.  If you haven't tried this tool yet then try it now. The next step will be to add gui generation for dynamic params as well. Please email feedback and bug reports to the list
2001-10-23 17:43:49 +00:00
..
.gitignore new gui tool to launch pipelines in the same vein as gstreamer-launch. try it out, it rocks 2001-09-22 12:22:23 +00:00
gstreamer-complete.1 Add gstreamer-compprep man page. 2001-06-07 10:58:40 +00:00
gstreamer-complete.c now builds for those who are too lazy to upgrade their xml libraries 2001-05-27 17:02:25 +00:00
gstreamer-compprep.1 Some formatting updates, thanks to using manedit 2001-06-10 21:13:12 +00:00
gstreamer-compprep.c Lots of modifications to the plugin system. 2001-08-21 20:16:48 +00:00
gstreamer-guilaunch.c this is a major update which adds a tree view of the pipeline and lets you set individual element args through a dyna... 2001-10-23 17:43:49 +00:00
gstreamer-inspect.1 added --gst-mask to the man pages 2001-06-07 00:08:56 +00:00
gstreamer-inspect.c merge from EVENTS1 on 20011016 2001-10-17 10:21:27 +00:00
gstreamer-launch.1 - Put README contents into man page and fixed the Groff enconding (or whatever it is called.) 2001-07-24 20:05:27 +00:00
gstreamer-launch.c made glib2-friendly 2001-10-20 23:15:01 +00:00
gstreamer-register.1 Add gstreamer-compprep man page. 2001-06-07 10:58:40 +00:00
gstreamer-register.c Fixes to work with libxml2. 2001-01-18 11:16:53 +00:00
Makefile.am merge from EVENTS1 on 20011016 2001-10-17 10:21:27 +00:00
README Updated the README file with some cool gstreamer-launch cmd lines 2001-06-15 19:46:46 +00:00

gstreamer-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:

 gstreamer-launch disksrc location=music.mp3 ! mad ! osssink

This plays an mp3 music file music.mp3 using libmad, and:

 gstreamer-launch disksrc location=music.mp3 ! mp3parse ! mpg123 ! osssink

Plays and mp3 music file using mpg123

You can also stream files over http:

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

And using gnome-vfs you can do the same with:

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

And too play the same song with gnome-vfs via smb:

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

Here we convert a Mp3 file into an Ogg Vorbis file:

 gstreamer-launch disksrc location=music.mp3 ! mad ! vorbisenc ! disksink location=music.ogg

And then we can play that file with:

 gstreamer-launch disksrc location=music.ogg ! vorbisdec ! osssink

Some other useful pipelines are..
Plays wav files (currently there are no wav encoders):

 gstreamer-launch disksrc location=music.wav ! parsewav ! osssink

Converts wav files into mp3 and ogg files:

 gstreamer-launch disksrc location=music.wav ! parsewav ! vorbisenc ! disksink location=music.ogg
 gstreamer-launch disksrc location=music.wav ! parsewav ! mpegaudio ! disksink 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:

 gstreamer-launch cdparanoia ! mpegaudio ! disksink location=cd.mp3

You can toy around with gstreamer-inspect to discover the settings for 
cdparanoia to rip individual tracks

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

 gstreamer-launch osssrc ! vorbisenc ! disksink location=input.ogg

gstreamer-launch not only handles audio but video as well:
For mpeg1 files (video and audio streams respectively):

 gstreamer-launch disksrc location=video.mpg ! mpeg1parse video_00! queue ! { mp1videoparse ! mpeg_play ! sdlvideosink }
 gstreamer-launch disksrc location=video.mpg ! mpeg1parse audio_00! queue ! { mad ! osssink }

For mpeg2 files (video and audio streams respectively):
 
 gstreamer-launch disksrc location=video.mpeg ! mpeg2parse video_0! queue ! { mpeg2dec ! sdlvideosink }
 gstreamer-launch disksrc location=video.mpeg ! mpeg2parse private_stream_1.0! queue ! { ac3dec ! osssink }

Note: The types of audio streams in the mpeg files can vary!
 
gstreamer-complete
==================

This is a simple utility which provides custom bash completion when
typing gstreamer-launch commands. 

Simply run "gstreamer-compprep" as root to build the registry of completions,
and then put, in your .bashrc,
"complete -C gstreamer-complete gstreamer-launch"
(ensuring that gstreamer-complete is on your path).

You can then enjoy context sensitive tab-completion of gstreamer-launch
commands.


gstreamer-register
==================

This tool will perform an introspection on all available plugins and will
create a registry file in /etc/gstreamer/reg.xml. Startup time will be
much faster since the gstreamer core doesn't have to bring all the plugins 
files into memory at startup. As with gstreamer-compprep you need to run this
as root for it too work correctly.


gstreamer-inspect
=================

Allows you to check the properties of plugins and elements.

 ./gstreamer-inspect 
 
will show all the plugins available and the elements they contain.

 ./gstreamer-inspect <pluginname/elementname>

shows more info about the plugin/element.