Building Gstreamer 1.2 from source
Contents
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 that you want to use gstreamer in.
$ cat set_env.sh PFX=/home/user/gst/runtime export PATH=$PATH:$PFX/bin export LD_RUN_PATH=$LD_RUN_PATH:$PFX/lib export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$PFX/lib/pkgconfig export GST_PLUGIN_PATH=$PFX/lib/gstreamer-1.0 $ . 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.
Dependencies
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 — Provides H.264 encoder.
- libgudev-1.0-dev — Required for the new uvch264src
- libusb-1.0-0-dev — Required for the new uvch264src
- yasm — Assembler needed for gst-libav
- TO BE COMPLETED
Build order
Gstreamer source packages are available from: http://gstreamer.freedesktop.org/src/
- Setup environment
- Build ORC using --prefix=/home/user/gst/runtime
- Build opus 1.1 from source if you need it
- Build gstreamer using --prefix=/home/user/gst/runtime
- Build gst-plugins-base using --enable-orc --prefix=/home/user/gst/runtime
- Build gst-plugins-good using --enable-orc --prefix=/home/user/gst/runtime
- Build gst-plugins-bad using --enable-orc --prefix=/home/user/gst/runtime
- Build gst-plugins-ugly using --enable-orc --prefix=/home/user/gst/runtime
- Build gst-libav using --enable-orc --prefix=/home/user/gst/runtime