Been having the toughest time over the last week trying to get gst-omx plugin working with gstreamer on the Raspberry PI.

I wonder if anyone here has done it and could show me how?

I've installed wheezy as git://git.collabora.co.uk/git/user/gkiagia/gst-omx0.10-debian.git needs a testing version of gstreamer.

Gstreamer is working fine on the raspberry using the normal plugins, so no hardware acceleration.

Once I install the gst-omx it comes up in the blacklist for gstreamer and I'm completely stuck as my linux knowledge is very limited so debugging is impossible for me.

  • Can you elaborate slightly? What doesn't work? – Jivings Jun 20 '12 at 9:02
  • Also, can you tell us what you need this for? Perhaps there is a better alternative you could use. – Jivings Jun 21 '12 at 9:02
  • 2
    All I need is a command line video/audio player. So that from inside my code I can call the code and point it towards a media file, let it play then return back to the code. I think i have over complicated it and I should be trying to merge the hello_video with the hello_audio example. I thought gstreamer would easier because its a framework instead of learning how to code OpenIL, but I dont think the framework is all there yet. – user185955 Jun 21 '12 at 20:06
  • I think what you need to look at is this question! raspberrypi.stackexchange.com/questions/100/… – Jivings Jun 21 '12 at 21:35
  • 1
    The problem with omxplayer is that it takes a long time to load up a video, where as the hello_video example does it almost instantly. I will need to play lots of videos in quick succession one after the other, if I was to use omx player I would be having large gaps between files which wont work. This is why I'm looking to use gstreamer or somehow merge hello_audio and hello_video... Because ill be encoding the videos my self it will always be the same codec. – user185955 Jun 21 '12 at 22:52

Details from Raspberry Pi forum post

Get and install rpi-update if necessary

sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-update
sudo apt-get -y install git-core

Upgrade to the latest packages and firmware

sudo apt-get update
sudo apt-get upgrade -y
sudo rpi-update
sudo reboot

Get gst-omx source from the raspberry branch

cd $HOME 
git clone -b 0.10 git://anongit.freedesktop.org/gstreamer/gst-omx

Install the Gstreamer packages, and the packages required to build omx

sudo apt-get install -y autoconf gtk-doc-tools libtool 

Autogenerate the configure script, configure, make and install gst-omx

cd gst-omx
./autogen.sh --noconfigure
./configure --prefix=/home/pi/omx
make install

Set up the gst-omx environment for the pi user

cp  omx/gstomx-raspberry.conf $HOME/omx/lib/gstreamer-0.10/gstomx.conf
cd $HOME
echo -e \\n# Gstreamer environment >> .profile
echo export GST_PLUGIN_PATH=$HOME/omx/lib/gstreamer-0.10/ >> .profile
echo export GST_OMX_CONFIG_DIR=$HOME/omx/lib/gstreamer-0.10/ >> .profile
echo export LD_LIBRARY_PATH=$HOME/omx/lib/gstreamer-0.10/ >> .profile
. ./.profile

Install the GStreamer Tools

sudo apt-get install gstreamer0.10-tools

Verify that gst-omx has been installed correctly.

If it has the following command should show these plug-ins:

> gst-inspect-0.10 | grep omx
openmax  omxmpeg4videodec: OpenMAX MPEG4 Video Decoder
openmax  omxh264dec: OpenMAX H.264 Video Decoder

Problems with omxmpeg plug-ins being blacklisted

There's a conflict with omx and gstreamer-plugins-bad, so the following cleared the blacklisting:

sudo aptitude remove libgstreamer-plugins-bad0.10-0

Enable omxh264enc plugin for hardware h.264 Encoding

This plugin, so far, appears to be broken, but here's how to enable it. Add the following to $GST_OMX_CONFIG_DIR/gstomx.conf

  • According to an anon user, the git branch name has changed, so under Get gst-omx source from the raspberry branch, git clone -b raspberry should be git clone -b 0.10. I did not confirm this. – goldilocks Jul 21 '13 at 7:51
  • How can I use gstreamer to send video to nginx-rtmp from the CSI Camera moudule?? – WillyWonka Oct 29 '13 at 15:16

Add this repo line into /etc/apt/sources.list

deb http://vontaene.de/raspbian-updates/ . main

Then simply ....

sudo apt-get update
sudo apt-get install gstreamer1.0

That 3rd party repository is hosted by a member off the Pi forums. They compile the latest versions of the gst-omx project and publish the files there.

You can check if it recognised the Pi's hardware capabilities using this command

gst-inspect-1.0 | grep omx

enter image description here

  • 1
    As of now this the fastest and easiest method. Compiling like described below in Unkle George's answer didn't work for me as some depencyies were out of date. – timonsku Mar 19 '14 at 14:58

As of April 2015 Raspbian repositories include GStreamer 1.2 and the OpenMAX plugins, so the easiest way is ppumkin's answer but without editing /etc/apt/sources.list:

sudo apt-get update
sudo apt-get install gstreamer1.0

then check with:

gst-inspect-1.0 | grep omx
  • I don't have gstreamer1.0 in the repository. How do I add it? – shrx May 3 '15 at 7:44
  • There is no package gstreamer1.0 but apt-get should use it as a regular expression and download all gstreamer1.0... packages. Does apt-cache search ^gstreamer1.0 show any packages ? – M. Rubio-Roy May 4 '15 at 11:58
  • It does find gstreamer-related packages, I just thought there should be an actual gstreamer1.0 deb package that included all the basic gstreamer packages. – shrx May 4 '15 at 12:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.