Linux HOWTOs

About | Home | Search


HOWTO: gstreamer
Description: Streaming media library and tools
Click here for ChangeLog
NOTE: I use GNU tar >= 1.13.25 so it's -j for .tar.bz2 files,
it's safe to assume that make, gcc, binutils, fileutils/coreutils, gawk, sed, and grep are prerequisites for almost everything


# gstreamer (and friends)
# =========
# gstreamer is not compatible with the 0.8.x series, but both can be
# installed at the same time.

# If you want to uninstall anything covered below, or just remove files from
# an old version before installing a new one, cd into the source directory,
# run 'make uninstall' (as root), remove the source directory, then remove
# the tarball.

# If you have gst-player installed, which works with gstreamer 0.8.x, and
# are going to upgrade to gstreamer 0.10.x, cd into it's source and
# 'make uninstall' it.  It is no longer covered here - if a 0.10.x version
# is released, I'll add it again.

# Create directories for source and tarballs
mkdir -p -m 0700 ~/installed/gstreamer ~/src/gstreamer


# gstreamer 0.10.2
# ================
# Slackware 9.0's 'gstreamer' package includes 0.6.0, 9.1's includes 0.6.3
# and a patched version in 'patches', 10.0's includes 0.8.3, and 10.1's
# includes 0.8.7  As of Slackware 10.2, Gnome is no longer included (neither
# is gstreamer).

# Prerequisites:
# gawk
# sed
# grep
# gettext
# pkg-config
# valgrind (optional)
# bison
# flex
# perl
# Python >= 2.1
# glib-2.0 >= 2.6
# libxml-2.0 >= 2.4.9
# check >= 0.9.2
# libgnomeui-2.0

cd
test -f installed/gstreamer/gstreamer-0.10.2.tar.bz2 &&
 mv installed/gstreamer/gstreamer-0.10.2.tar.bz2 .
test ! -f gstreamer-0.10.2.tar.bz2 &&
 wget http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-0.10.2.tar.bz2

# Verify tarball w/ md5sum:
echo "870206cef20bcc6fce8f3531b64a818b  gstreamer-0.10.2.tar.bz2" | \
 md5sum -c

cd src/gstreamer
find -maxdepth 1 -type d -name "gstreamer-*" -exec rm -r {} \;
tar xjvf ~/gstreamer-0.10.2.tar.bz2
cd gstreamer-0.10.2
test $UID = 0 && chown -R root:root .
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib \
 --disable-static --disable-nls

## If make fails with an error like this:
# /usr/bin/ld: cannot find -lssl
## re-run it like this:
# make LDFLAGS=-L/usr/local/ssl/lib

make

# Become root to clean up old files and to install it
su

test -x /sbin/removepkg && /sbin/removepkg gstreamer
rm -f /usr/bin/gst-register
find /usr/doc -maxdepth 1 -type d -name "gstreamer-*" -exec rm -r {} \;
find /usr/include -maxdepth 1 -type d -name "gstreamer-*" -exec rm -r {} \;
( cd /usr/lib ; rm -f libgstcontrol-0.*.so /usr/lib/libgstreamer-0.*.so )
find /usr/lib -maxdepth 1 -type d -name "gstreamer-*" -exec rm -r {} \;
find /usr/share/gtk-doc/html -maxdepth 1 -type d -name "gstreamer-0.*" \
 -exec rm -r {} \;
find /usr/share/gtk-doc/html -maxdepth 1 -type d -name "gstreamer-libs-*" \
 -exec rm -r {} \;
make install
ldconfig

# Become yourself again
exit

cd
rm -f installed/gstreamer/gstreamer-*.tar.*
mv gstreamer-0.10.2.tar.bz2 installed/gstreamer/


# gst-plugins-base 0.10.2
# =======================
# Prerequisites:
# gawk
# sed
# grep
# gettext
# pkg-config
# valgrind (optional)
# Python >= 2.1
# glib-2.0 >= 2.6
# liboil-0.3 >= 0.3.2
# gstreamer-0.10 >= 0.10.2 (above)
# check >= 0.9.2
# gtk+-2.0 >= 2.2.0
# XFree86 or X.org
# alsa >= 0.9.1
# cdparanoia
# gnome-vfs-2.0
# libvisual
# ogg >= 1.0, vorbis >= 1.0, theora
# pango
# freetype2 >= 2.0.9

# If you're upgrading from a version of gstreamer that used gst-plugins to
# the current version that uses gst-plugins-(base|good|bad|ugly), cd into
# the gst-plugins source directory and 'make uninstall' (as root) before
# proceeding here.

cd
test -f installed/gst-plugins-base-0.10.2.tar.bz2 &&
 mv installed/gst-plugins-base-0.10.2.tar.bz2 .
test ! -f gst-plugins-base-0.10.2.tar.bz2 &&
 wget http://gstreamer.freedesktop.org/src/gst-plugins-base/\
gst-plugins-base-0.10.2.tar.bz2
find src src/gstreamer -maxdepth 1 -type d -name "gst-plugins-?.*" \
 -exec rm -r {} \;
find src src/gstreamer -maxdepth 1 -type d -name "gst-plugins-base-*" \
 -exec rm -r {} \;
cd src/gstreamer
tar xjvf ~/gst-plugins-base-0.10.2.tar.bz2
cd gst-plugins-base-0.10.2
test $UID = 0 && chown -R root:root .
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib \
 --disable-nls
make
su -c "make install ; ldconfig"
cd
rm -f installed/gstreamer/gst-plugins-?.*.tar.* \
 installed/gstreamer/gst-plugins-base-*.tar.*
mv gst-plugins-base-0.10.2.tar.bz2 installed/gstreamer/


# gst-plugins-good 0.10.1
# =======================
# Prerequisites:
# gawk
# sed
# grep
# gettext
# pkg-config
# valgrind (optional)
# gconf
# Python >= 2.1
# glib-2.0 >= 2.6
# liboil-0.3 >= 0.3.2
# gstreamer-0.10 >= 0.10.1 (above)
# check >= 0.9.2
# gtk+-2.0 >= 2.2.0
# aalib >= 0.11.0
# cairo >= 1.0.0
# esound >= 0.2.12
# flac
# libjpeg-mmx
# ladspa (put the header file into /usr/local/include/)
# libcaca
# libdv >= 0.100
# libpng
# libraw1394
# libavc1394
# shout >= 2.0
# speex >= 1.1.6
# zlib

cd
test -f installed/gstreamer/gst-plugins-good-0.10.1.tar.bz2 &&
 mv installed/gstreamer/gst-plugins-good-0.10.1.tar.bz2 .
test ! -f gst-plugins-good-0.10.1.tar.bz2 &&
 wget http://gstreamer.freedesktop.org/src/gst-plugins-good/\
gst-plugins-good-0.10.1.tar.bz2

# Verify tarball w/ md5sum:
echo "be5ba72454a1df6e4e6d5deeeec88e59  gst-plugins-good-0.10.1.tar.bz2" | \
 md5sum -c

cd src/gstreamer
find -maxdepth 1 -type d -name "gst-plugins-good-*" -exec rm -r {} \;
tar xjvf ~/gst-plugins-good-0.10.1.tar.bz2
cd gst-plugins-good-0.10.1
test $UID = 0 && chown -R root:root .
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib \
 --disable-nls
make
su -c "make install"
cd
rm -f installed/gstreamer/gst-plugins-good-*.tar.*
mv gst-plugins-good-0.10.1.tar.bz2 installed/gstreamer/


# gst-plugins-ugly 0.10.1
# =======================
# Prerequisites:
# gawk
# sed
# grep
# pkg-config
# gstreamer-0.10 >= 0.10.1 (above)
# glib-2.0 >= 2.6
# liboil-0.3 >= 0.3.0
# liba52
# amrnb (this seems to be the web site, couldn't find any software though)
# lame
# mad >= 0.15
# id3tag >= 0.15
# libmpeg2 >= 0.4.0
# libsidplay 1.36.x
# Python >= 2.1

cd
test -f installed/gstreamer/gst-plugins-ugly-0.10.1.tar.bz2 &&
 mv installed/gstreamer/gst-plugins-ugly-0.10.1.tar.bz2 .
test ! -f gst-plugins-ugly-0.10.1.tar.bz2 &&
 wget http://gstreamer.freedesktop.org/src/gst-plugins-ugly/\
gst-plugins-ugly-0.10.1.tar.bz2

# Verify tarball w/ md5sum:
echo "f2b16c8e15816cf3ee9a1ca540491fe9  gst-plugins-ugly-0.10.1.tar.bz2" | \
 md5sum -c

cd src/gstreamer
find -maxdepth 1 -type d -name "gst-plugins-ugly-*" -exec rm -r {} \;
tar xjvf ~/gst-plugins-ugly-0.10.1.tar.bz2
cd gst-plugins-ugly-0.10.1
test $UID = 0 && chown -R root:root .
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib \
 --disable-nls
make
su -c "make install"
cd
rm -f installed/gstreamer/gst-plugins-ugly-*.tar.*
mv gst-plugins-ugly-0.10.1.tar.bz2 installed/gstreamer/


# gst-ffmpeg 0.10.0
# =================
# Prerequisites:
# gawk
# sed
# grep
# pkg-config
# gstreamer-0.10 >= 0.9.7 (above)
# gstreamer-plugins-base-0.10 (above)
# zlib
# freetype >= 2.0.9
# SDL >= 0.11.0
# texi2html
# perl's pod2man

cd
test -f installed/gstreamer/gst-ffmpeg-0.10.0.tar.bz2 &&
 mv installed/gstreamer/gst-ffmpeg-0.10.0.tar.bz2 .
test ! -f gst-ffmpeg-0.10.0.tar.bz2 &&
 wget http://gstreamer.freedesktop.org/src/gst-ffmpeg/\
gst-ffmpeg-0.10.0.tar.bz2

# Verify tarball w/ md5sum:
echo "53625b1b21203ff99f115c8ecb0718cd  gst-ffmpeg-0.10.0.tar.bz2" | \
 md5sum -c

cd src/gstreamer
find -maxdepth 1 -type d -name "gst-ffmpeg-*" -exec rm -r {} \;
tar xjvf ~/gst-ffmpeg-0.10.0.tar.bz2
cd gst-ffmpeg-0.10.0
test $UID = 0 && chown -R root:root .
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib \
 --disable-static
make
su -c "make install"
cd
rm -f installed/gstreamer/gst-ffmpeg-*.*
mv gst-ffmpeg-0.10.0.tar.bz2 installed/gstreamer/


# gst-python 0.10.2
# =================
# Prerequisites:
# gawk
# sed
# grep
# Python >= 2.3
# pkg-config
# gstreamer-0.10 >= 0.10.0.2 (above)
# PyGTK-2.0 >= 2.6.3
# valgrind (optional)

cd
test -f installed/gstreamer/gst-python-0.10.2.tar.bz2 &&
 mv installed/gstreamer/gst-python-0.10.2.tar.bz2 .
test ! -f gst-python-0.10.2.tar.bz2 &&
 wget http://gstreamer.freedesktop.org/src/gst-python/\
gst-python-0.10.2.tar.bz2
cd src/gstreamer
find -maxdepth 1 -type d -name "gst-python-*" -exec rm -r {} \;
tar xjvf ~/gst-python-0.10.2.tar.bz2
cd gst-python-0.10.2
test $UID = 0 && chown -R root:root .
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib \
 --disable-static
make
su -c "make install"
cd
rm -f installed/gstreamer/gst-python-*.*
mv gst-python-0.10.2.tar.bz2 installed/gstreamer/

Back to the list


Last updated: Tue, 07 Aug 2018 12:06:17 -0400
Jason Englander <jason at englanders dot us>