GStreamer
From SUSE Wiki
Type: Howto, Application-Specific
Tested Versions: 10.1
Written By: ikus060
Further Modifications By: No One.
| This article is in need of a cleanup. You can help SUSE Wiki by editing it to conform to the Article and Design Guidelines |
Contents |
Description
GStreamer is a library that developers can use to play audio and video streams.
Getting mp3 playback
If you want to play a specific file type, go to this page. It lists every plugin with its description. http://gstreamer.freedesktop.org/documentation/plugins.html.
Compile Gstreamer
The compilation of gstreamer is relatively easy to do if you already compile another application. The first thing you must do is check for all dependencies of gstreamer directly.
Every archive is available at this place : http://gstreamer.freedesktop.org/modules/.
The important one to get playback of an mp3 is gstreamer, gst-plugins, gst-plugins-base, and gst-plugins-ugly.
Before compiling it, you have to know that plugins package have optional dependencies. For example, the gst-plugins-ugly modules have an optional dependency with libmad package. You have to install it before compiling the modules if you want this plugin. The full list of optional dependencies are in the file "REQUIREMENTS" of every archive.
Here are the important parts of this file.
Optional libraries: =================== This file lists supporting libraries for which gst-plugins contains plugins, as well as their minimum version. You can find the corresponding plugins in ext/(library) dirac (Dirac video codec) http://www.bbc.co.uk/rd/projects/dirac/index.shtml libaudiofile (for afsrc/afsink http://oss.sgi.com/projects/audiofile/ libmad (for the mad mp3 decoder Plugin) http://www.mars.org/home/rob/proj/mpeg/ libjpeg (for jpegenc/jpegdec) http://www.ijg.org/ libopenquicktime (for the QT Plugin) http://sourceforge.net/projects/openquicktime/ libXv (for videosink) libxaudio (for xa mp3 decoder) http://www.xaudio.com/ libvorbis (for vorbisenc, vorbisdec) http://www.xiph.org/ogg/vorbis/index.html libcdparanoia (for cdparanoia ripper) http://www.xiph.org/paranoia/index.html liblame (for lame mp3 encoder) http://www.mp3dev.org/mp3/ libshout (for the shoutcast Plugin) http://www.icecast.org libasound (for the alsa src/sink Plugin) http://alsa-project.org/ librtp (for the rtp sink Plugin) http://www.linphone.org/ortp/ aalib (for the aa sink Plugin) http://aa-project.sourceforge.net/aalib/ libcaca (for the color aa sink Plugin) http://sam.zoy.org/projects/libcaca/ aRts (for the arts plugin wrapper, and the artsd sink) http://www.arts-project.org raw1394/linux1394 (for the dv Plugin) http://linux1394.sourceforge.net libdvdread (for the dvdsrc) http://www.dtek.chalmers.se/groups/dvd/ (optional: libcss for encrypted DVDs) libdvdnav (for the dvdnavsrc) http://dvd.sourceforge.net/ (optional: libcss for encrypted DVDs) >= 0.1.9 libesound (for the esd sink ftp.gnome.org/pub/GNOME/stable/sources/esound) gnome-vfs (for the gnome-vfs src) >= 2.4.0 libgsm (for the gsm Plugin) http://kbs.cs.tu-berlin.de/~jutta/toast.html sdl (for the sdl sink) http://www.libsdl.org xmms (for the xmms plugins wrapper) http://www.xmms.org mpeg2dec/a52dec (for mpeg2 related plugins and dvd playback) http://libmpeg2.sourceforge.net/ and http://liba52.sourceforge.net/ >= v0.3.1/v0.7.2 swfdec (for the swfdec (flash) Plugin) http://www.schleef.org/swfdec/ liboil (for the liboil optimization library) http://www.schleef.org/liboil/ >= 0.2.0 flac (for the FLAC lossless audio format) http://flac.sourceforge.net >= 1.0.3 preferred, 1.0.2 should work gtk (for the gdk_pixbuf Plugin) http://www.gtk.org/ >= 2.2.1 preferred, 2.0 ok pango (for the textoverlay plugins) http://www.pango.org/ libHermes (for colorspace conversion;most use ffcolorspace instead) http://www.clanlib.org/hermes/ librfb (for capturing of VNC output into a videostream) http://www.schleef.org/ libHermes (for colorspace conversions (should not be needed anymore)) http://www.clanlib.org/hermes/ dtsdec (for DTS audio decoding) http://www.videolan.org/libdca.html divx (for divx decoding) http://www.divx.com/divx/linux/ libmng (for mng animated image format encoding/decoding) http://gjuyn.xs4all.nl/libmng libvisual (for audio visualisations) http://libvisual.sourceforge.net/v2/ musepack (for musepack audio codec/format) (http://www.musepack.net/) nas (for the NAS sound server sink) (http://radscan.com/ras.html) libtheora (for Ogg Theora video support) (http://www.theora.org) libmms (for MMS protocol support) (http://www.sf.net/projects/libmms)
If you want to have a specific plugin installed, ensure that it can be installed before compiling the gstream-plugins. If the plugin appears in the “will not be installed” list, check the dependencies of this plugin. Much of these dependencies can be installed with SMART, but install the “devel” version of this package instead. Note : To play an mp3 file, you must compile libmad and gstreamer-plugins-ugly. The delivered package from Packman seems not to work for me. So you have to rebuild the package gstreamer-plugins-ugly against libmad. The default package in SUSE 10.1 doesn't provide mad-support. You can rebuild it from the source rpm with the mad and mad-devel packages from Packman.
Testing the installation: To test your installation, here's the list of command lines you have to execute. To check mp3:
gst-inspect id3demux gst-inspect mad
To check OGG:
gst-inspect oggdemux gst-inspect vorbisdesc
To check MPG:
gst-inspeck musepack
To check WMA:
gst-inspect ffmpeg
Check others at this link : http://bmpx.beep-media-player.org/site/BMPx_and_GStreamer
To compile a module you have to extract its content to a folder. Open a terminal and run this command line.
./configure make make install
Link
Gstreamer home page : [1]

