如何安装GStreamer gst-omx?


16

上周经历了最艰难的时光,试图在Raspberry PI上使gst-omx插件与gstreamer一起使用。

我想知道这里是否有人做过,可以告诉我如何做?

我已经安装了wheezy,因为git://git.collabora.co.uk/git/user/gkiagia/gst-omx0.10-debian.git需要gstreamer的测试版本。

Gstreamer使用常规插件在树莓派上运行良好,因此没有硬件加速。

一旦我安装了gst-omx,它就会出现在gstreamer的黑名单中,由于我的Linux知识非常有限,所以我完全无法调试,因此我无法进行调试。


您能详细说明一下吗?什么不起作用?
Jivings 2012年

另外,您能告诉我们您需要什么吗?也许有更好的选择可以使用。
Jivings 2012年

2
我需要的只是一个命令行视频/音频播放器。这样我就可以在代码内部调用代码并将其指向媒体文件,让其播放然后返回到代码。我认为我已经使它复杂化了,我应该尝试将hello_video与hello_audio示例合并。我认为gstreamer会更容易,因为它是一个框架,而不是学习如何编写OpenIL的代码,但是我认为框架还不存在。
user185955 2012年

我认为您需要查看的是这个问题!raspberrypi.stackexchange.com/questions/100/...
Jivings

1
omxplayer的问题在于,加载视频需要很长时间,而hello_video示例几乎是立即加载视频的。我将需要一个接一个地连续快速播放很多视频,如果我要使用omx播放器,我会发现文件之间的空白很大,无法正常工作。这就是为什么我要使用gstreamer或以某种方式合并hello_audio和hello_video的原因...因为无法自我编码视频,所以它始终是相同的编解码器。
user185955

Answers:


8

Raspberry Pi论坛帖子中的详细信息

如有必要,获取并安装rpi-update

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

升级到最新的软件包和固件

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

从树莓派分支获取gst-omx来源

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

安装Gstreamer软件包以及构建omx所需的软件包

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

自动生成配置脚本,配置,制作和安装gst-omx

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

为pi用户设置gst-omx环境

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

安装GStreamer工具

sudo apt-get install gstreamer0.10-tools

验证是否已正确安装gst-omx。

如果具有以下命令,则应显示这些插件:

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

omxmpeg插件被列入黑名单的问题

omx和gstreamer-plugins-bad之间存在冲突,因此以下内容清除了黑名单:

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

为硬件h.264编码启用omxh264enc插件

到目前为止,此插件似乎已损坏,但是启用它的方法如下。将以下内容添加到$ GST_OMX_CONFIG_DIR / gstomx.conf中

[omxh264enc]
type-name=GstOMXH264Enc
core-name=/opt/vc/lib/libopenmaxil.so
component-name=OMX.broadcom.video_encode
rank=256
in-port-index=200
out-port-index=201
hacks=no-empty-eos-buffer;no-component-role

根据一位匿名用户的说法,git分支名称已更改,因此在从raspberry分支获取gst-omx源下,git clone -b raspberry应为git clone -b 0.10。我没有证实这一点。
goldilocks

如何使用gstreamer将视频从CSI摄像机模块发送到nginx-rtmp?
WillyWonka 2013年

4

将此回购行添加到 /etc/apt/sources.list

deb http://vontaene.de/raspbian-updates/。主要

然后....

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

该第三方存储库由Pi论坛之外的成员托管。他们编译gst-omx项目的最新版本,并在此处发布文件。

您可以使用此命令检查它是否识别Pi的硬件​​功能

gst-inspect-1.0 | grep omx

在此处输入图片说明


1
到目前为止,这是最快,最简单的方法。像下面Unkle George的答案中所述的那样进行编译对我来说不起作用,因为某些缺陷已过时。
PTS 2014年

4

截至2015年4月,Raspbian存储库包括GStreamer 1.2和OpenMAX插件,因此最简单的方法是ppumkin的答案,但无需编辑/etc/apt/sources.list

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

然后检查:

gst-inspect-1.0 | grep omx

我没有gstreamer1.0存储库中。如何添加?
shrx

没有gstreamer1.0软件包,但apt-get应该将其用作正则表达式并下载所有gstreamer1.0 ...软件包。是否apt-cache search ^gstreamer1.0显示任何包裹?
M. Rubio-Roy

它确实找到了与gstreamer相关的软件包,我只是认为应该有一个gstreamer1.0包含所有基本gstreamer软件包的实际deb软件包。
shrx 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.