RPM Packaging and support for OpenMAX
Contents
GStreamer with GST-OpenMax
Introduction
This how-to will describe how to setup and use gst-openmax a GStreamer plug-in that allows communication with OpenMAX IL components. OpenMAX IL is an industry standard that provides an abstraction layer for computer graphics, video, and sound routines.
Requirements
Tested Platforms
Supported Architectures
- x86_64
- ARM devices with a OMAP processor (Tested on Pandaboard with OMAP 4430)
Required Software
- gstreamer (Included in every Fedora installation)
Downloads
- gst-openmax: https://docs.google.com/file/d/0B0THh1GbRWnAcTJEbjF5N2d3Nms/edit
- gst-openmax-devel: https://docs.google.com/file/d/0B0THh1GbRWnAak1oSzBuNmlyWFU/edit
Functional Codecs
- omx_mp3dec
Configuring your environment
- These instructions have been tested on the Pandaboard Rev A1 running Fedora 17 ARM.
- Startup the Pandaboard and make sure you have internet connectivity.
- Install the Fedora 17 development tools
yum update yum groupinstall "Development Tools" "Development Libraries"
- Add the RPM repositories containing the GStreamer plugins
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
- Install GStreamer plugins
yum install gstreamer-{ffmpeg,plugins-{good,ugly,bad{,-free,-nonfree}}} ffmpeg yum install gstreamer-devel gstreamer-plugins-base-devel
Building OpenMAX IL
- Download the source code to a temporary directory
mkdir -p /tmp/omx cd /tmp/omx wget http://downloads.sourceforge.net/omxil/libomxil-bellagio-0.9.0.tar.gz
- Extract the tarball
tar -xvf libomxil-bellagio-0.9.0.tar.gz cd liboxmil-bellagio-0.9.0
- Configure the package setting the location to our home directory
./configure --prefix=$HOME/omx
- Build and install
- NOTE: Run make as a normal user and make install as root (sudo)
make make install
Installing GST-OpenMAX
- Download the latest RPM from the download section.
- Install the RPM using the command below:
rpm -i gst-openmax-0.2-1.fc17.x86_64.rpm rpm -i gst-openmax-devel-0.1-1.fc17.x86_64.rpm
Using GST-OpenMAX
Setting the environment
- Set the location to our libraries
export GST_PLUGIN_PATH="$HOME/omx/lib/gstreamer-0.10" export LD_LIBRARY_PATH="$HOME/omx/lib"
- Register omx codecs
- NOTE: This command must be run by the user who complied the package
~/omx/bin/omxregister-bellagio -v
- Check if the codecs have been successfully loaded
gst-inspect | grep omx
Playing a song
- Playing a mp3 file "test.mp3"
gst-launch-0.10 filesrc location="test.mp3" ! omx_mp3dec use-timestamps=false ! audioconvert ! alsasink
FAQs
- Will there be support for Fedora 18?
- We are currently attempting to build our package on the F18 platform but have run into some issues getting our testing environment setup.
Errors
- (gst-launch-0.10:18996): WARNING **: libomxil-bellagio.so.0: cannot open shared object file: No such file or directory
- You did not set the location to the libraries, refer to Setting the environment
- (gst-plugin-scanner:18985): WARNING **: could not find config file '/home/ryan/.config/gst-openmax.conf'.. using defaults!
- You did not install OpenMAX IL, refer to Building OpenMAX IL