mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 08:46:40 +00:00
08eaa11259
Original commit message from CVS: - added playondemand plugin by Leif Morgan Johnson <lmjohns3@eos.ncsu.edu> - some fixes to int2float - aplied a patch from wrobell <wrobell@ite.pl> that is a first attempt at making automake 1.5 happy (gst now requires automake1.5). It's still not perfect but it builds. - Made the schedulers plugable. The default scheduler now lives inside a plugin. - Added a new mpeg1/2 parser/demuxer. - Fixed some compiler warnings in the core libs. - substantial work to GstThread (hopefully less race conditions). simplified the code in GstThread a bit. A state change can now also happen in the thread context. - reworked the state semantics of a bin. it'll now automatically get the highest state of its children. - the autoplugger now nests the threads so that a state change failure of one thread doesn't make its upstream thread lock. - GstQueue refuses to go to PLAYING if the sinkpad is not connected. This way the queue will not wedge in the _get lock. - GstQueue unlocks its mutexes when going to PAUSED. - make sure that when all elements in a bin/thread go to PAUSED, the bin is set to PAUSED too. - make a parent bin wait for its children to PAUSE before ending the iteration with FALSE (EOS) - Some changes to GstPlay to deal with EOS. - aplied the latest patch from Zeenix to gstrtp. end result: GstPlay doesn't crash on EOS and the pipeline is now shut down properly. |
||
---|---|---|
.. | ||
.gitignore | ||
gstreamer-complete.1 | ||
gstreamer-complete.c | ||
gstreamer-compprep.1 | ||
gstreamer-compprep.c | ||
gstreamer-guilaunch.c | ||
gstreamer-inspect.1 | ||
gstreamer-inspect.c | ||
gstreamer-launch.1 | ||
gstreamer-launch.c | ||
gstreamer-register.1 | ||
gstreamer-register.c | ||
Makefile.am | ||
README |
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.