Setting a GStreamer Alternative Environment

From RidgeRun Developer Connection
Jump to: navigation, search

Overview

This guide describes the steps necessary to setup an alternative GStreamer environment on your machine. There are several reasons you might want to do this:

  • Building and using the newest version
  • Having multiple versions alongside
  • Installing in a non-standard location
  • Avoiding conflicts with system's default one

Building the Environment

For this example, I'm going to build the latest available version. At this point its 1.9.1, from a Git perspective "master" will always point to the latest.

#Download and grant execution permissions
wget https://cgit.freedesktop.org/gstreamer/gstreamer/plain/scripts/create-uninstalled-setup.sh
chmod ug+rx create-uninstalled-setup.sh

#Execute the script. 
#By default, the script downloads the environment to ~/gst
#By default, the script downloads the master branch
./create-uninstalled-setup.sh

#Switch to the new environment
cd ~/gst/
./gst-master
cd master

#Build the environment

for module in "gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav"; do
    cd $module
    ./autogen.sh && make
    cd -
done
 
#Leave the environment
exit
cd ~/gst/

Using the Environment

You'll find each version you downloaded as a set of scripts and directories. To switch to the environment run the following:

cd ~/gst

#Select your version, this example uses master
./gst-master

#Use the new gstreamer!
gst-launch-1.0 --gst-version

#When finished, exit the session to return to normality 
exit

In this special environment, all the paths are configured to point to the appropriate plugins.

Customising the environment

Changing the version

Modify the BRANCH variable in the create-uninstalled-setup.sh to the desired version. For example:

  • BRANCH=master
  • BRANCH=1.8
  • BRANCH=1.4

New version don't require a new area, since they are stored in different directories within the original area

Changing the location of the build

Modify the UNINSTALLED_ROOT variable in the create-uninstalled-setup.sh. After creating the area, you'll also need to modify the MYGST variable in the gst-master script (or whatever version you've downloaded)