GStreamer

From SUSE Wiki

Jump to: navigation, search

Type: Howto, Application-Specific

Tested Versions: 10.1

Written By: ikus060

Further Modifications By: No One.


Image:cache.pngThis 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]

Personal tools