Difference between revisions of "RPM Packaging and support for OpenMAX"

From CDOT Wiki
Jump to: navigation, search
(Tested Platforms)
(GStreamer with GST-OpenMax)
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
=GStreamer with GST-OpenMax=
 
=GStreamer with GST-OpenMax=
 
==Introduction==
 
==Introduction==
This how-to will describe how to setup and use [http://freedesktop.org/wiki/GstOpenMAX 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.
+
This how-to will describe how to setup and use [http://freedesktop.org/wiki/GstOpenMAX 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==
 
==Requirements==
Line 15: Line 15:
  
 
==Downloads==
 
==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
 +
<pre>
 +
yum update
 +
yum groupinstall "Development Tools" "Development Libraries"
 +
</pre>
 +
 +
*Add the RPM repositories containing the GStreamer plugins
 +
<pre>
 +
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
 +
</pre>
 +
 +
*Install GStreamer plugins
 +
<pre>
 +
yum install gstreamer-{ffmpeg,plugins-{good,ugly,bad{,-free,-nonfree}}} ffmpeg
 +
yum install gstreamer-devel gstreamer-plugins-base-devel
 +
</pre>
 +
 +
 +
==Building OpenMAX IL==
 +
*Download the source code to a temporary directory
 +
<pre>
 +
mkdir -p /tmp/omx
 +
cd /tmp/omx
 +
wget http://downloads.sourceforge.net/omxil/libomxil-bellagio-0.9.0.tar.gz
 +
</pre>
 +
 +
*Extract the tarball
 +
<pre>
 +
tar -xvf libomxil-bellagio-0.9.0.tar.gz
 +
cd liboxmil-bellagio-0.9.0
 +
</pre>
 +
 +
*Configure the package setting the location to our home directory
 +
<pre>
 +
./configure --prefix=$HOME/omx
 +
</pre>
 +
 +
*Build and install
 +
**NOTE: Run make as a normal user and make install as root (sudo)
 +
<pre>
 +
make
 +
make install
 +
</pre>
  
 
==Installing GST-OpenMAX==
 
==Installing GST-OpenMAX==
Line 21: Line 76:
 
* Install the RPM using the command below:
 
* Install the RPM using the command below:
 
<pre>
 
<pre>
rpm -i gst-openmax-0.2.rpm
+
rpm -i gst-openmax-0.2-1.fc17.x86_64.rpm
 +
rpm -i gst-openmax-devel-0.1-1.fc17.x86_64.rpm
 
</pre>
 
</pre>
  
 
==Using GST-OpenMAX==
 
==Using GST-OpenMAX==
*Check if the codecs have been sucessfully loaded
+
===Setting the environment===
 +
* Set the location to our libraries
 +
<pre>
 +
export GST_PLUGIN_PATH="$HOME/omx/lib/gstreamer-0.10"
 +
export LD_LIBRARY_PATH="$HOME/omx/lib"
 +
</pre>
 +
 
 +
*Register omx codecs
 +
**NOTE: This command must be run by the user who complied the package
 +
<pre>
 +
~/omx/bin/omxregister-bellagio -v
 +
</pre>
 +
 
 +
 
 +
*Check if the codecs have been successfully loaded
 
<pre>
 
<pre>
 
gst-inspect | grep omx
 
gst-inspect | grep omx
 
</pre>
 
</pre>
  
 
+
===Playing a song===
 
*Playing a mp3 file "test.mp3"
 
*Playing a mp3 file "test.mp3"
 
<pre>
 
<pre>
Line 36: Line 106:
 
</pre>
 
</pre>
  
==Known Issues==
+
==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 [http://zenit.senecac.on.ca/wiki/index.php?title=RPM_Packaging_and_support_for_OpenMAX&action=submit#Setting_the_environment 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 [http://zenit.senecac.on.ca/wiki/index.php?title=RPM_Packaging_and_support_for_OpenMAX&action=submit#Building_OpenMAX_IL Building OpenMAX IL]

Latest revision as of 05:29, 3 December 2012

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!