Building Gstreamer 1.2 from source

Introduction
This page summarizes how I install Gstreamer 1.2 form source without having any impact on gstreamer installed by the OS. The key trick is to install everything in an isolated directory using the --prefix configure option and set up a local runtime environment pointing to the prefix.

In the following I will use the prefix /home/user/gst/runtime and everything built from source will be installed under this directory.

Environment setup
Create a file called set_env.sh and source it from the terminal before executing programs or gstreamer packages. This must be done in every terminal.

$ cat set_env.sh PFX=/home/user/gst/runtime export PATH=$PATH:$PFX/bin export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PFX/lib export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$PFX/lib/pkgconfig $ . set_env.sh

This should not be done globally unless you know what you are doing, in which case you probably wouldn't need to read this page.

Orc
Oil Runtime Compiler

As of Ubuntu 13.10 it must be installed from source as the one available in Ubuntu is not new enough. The latest orc is avaialble here: http://gstreamer.freedesktop.org/src/orc/

Binary packages

 * libx264-dev &mdash; Provides H.264 encoder.
 * libgudev-1.0-dev &mdash; Required for the new uvch264src
 * yasm &mdash; Assembler needed for gst-libav
 * TO BE COMPLETED

Build order
Gstreamer source packages are available from: http://gstreamer.freedesktop.org/src/


 * 1) Setup environment
 * 2) Build ORC using --prefix=/home/user/gst/runtime
 * 3) Build opus 1.1 from source if you need it
 * 4) Build gstreamer using --prefix=/home/user/gst/runtime
 * 5) Build gst-plugins-base using --enable-orc --prefix=/home/user/gst/runtime
 * 6) Build gst-plugins-good using --enable-orc --prefix=/home/user/gst/runtime
 * 7) Build gst-plugins-bad using --enable-orc --prefix=/home/user/gst/runtime
 * 8) Build  using --enable-orc --prefix=/home/user/gst/runtime
 * 9) Build gst-plugins-ugly using --enable-orc --prefix=/home/user/gst/runtime</tt>
 * 10) Build gst-libav using --enable-orc --prefix=/home/user/gst/runtime</tt>