RPM Packaging and support for OpenMAX

From CDOT Wiki
Jump to: navigation, search

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

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


  • (gst-plugin-scanner:18985): WARNING **: could not find config file '/home/ryan/.config/gst-openmax.conf'.. using defaults!