gstreamer移植qnx(一):概览篇

​ 接触qnx系统也有两三年了,一直都是基于其上的mmr进行多媒体播放器的开发。 但是这个mmr资料少,且很多参数,资料上没有,必须给钱向qnx公司咨询才行。 于是就有这么一个念头,移植一个开源的播放器到qnx平台上。之前也有尝试过移植VLC和gstreamer,但是因为工作时间比较忙,草草的尝试了一下,有因为需要自己动手编写最终的音视频输出插件,觉得有些麻烦,然后就这样放弃了。

​ 这次因为恰好项目结尾,有一点空闲时间,于是就再次进行了一番尝试,现将过程一一记录下来。

  • 测试使用到的库、插件以及bin文件

    这里用到的库,是将out/lib/目录下生成安装的所有lib,插件输出目录为 out/lib/gstreamer-1.0/, 我这边进行验证测试用到的plugin如下:

libgstaudioparsers.so                  libgstmpg123.so
libgstautodetect.so                    libgstplayback.so
libgstcoreelements.so                  libgstvideoconvert.so
libgstdeinterlace.so                   libgstvideofilter.so
libgstfdkaac.so                        libgstvideoparsersbad.so
libgstlibav.so                         libqnxaudio.so
libqnxvideo.so

生成的可执行文件存放在 out/bin/目录下,另外还有一个特别的可执行文件gst-plugin-scanner,在out/libexe目录下。使用到的所有可执行文件如下:

gst-inspect-1.0  #用于查看插件相关信息
gst-launch-1.0   #用于播放音乐或视频
gst-plugin-scanner #被用于扫描插件
  • 测试用的环境

    在进行正式的测试播放音视频之前,还需要设置一些环境变量。

    这里假设在qnx系统的根目录下新建了三个目录, gst_app(存放可执行we你按),gst_lib(用于存放所有的lib库),gst_plugin(用于存放所有的插件)。

然后写一个脚本文件来设置环境变量,脚本的内容如下:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/gst_lib/   #将lib路径放入库搜索的路径当中去
export GST_PLUGIN_PATH=/gst_plugin/      #指明插件所在路径
export GST_PLUGIN_SCANNER=/gst_app/gst-plugin-scanner #指明插件扫描器的所在
export GST_PLUGIN_SYSTEM_PATH=/gst_plugin/ #指明系统插件所在路径

加入这个脚本文件名为: setEnv.sh, 那么在进行测试之前需要先执行:

. ./setEnv.sh
  • 播放音视频

​ 加入插入U盘后,qnx系统加载U盘的路径为 /fs/usb0/ ,且在U盘根目录下有test.mp3 和 test.mkv两个文件, 然后setEnv.sh这个脚本文件,就放在gst_app目录下:

cd  /gst_app/
. ./setEnv.sh  #注: 这一句在再次重启之前,只需要执行一次

#播放音乐
./gst-launch-1.0 playbin3 uri=file:///fs/usb0/test.mp3

#播放视频同样
./gst-launch-1.0 playbin3 uri=file:///fs/usb0/test.mkv

接下来就依次来展示各个库的移植编译以及配置过程。

  • 其大致步骤如下:
    • 编译glib库
    • 编译gstreamer库
    • 编译gst-plugin-base库
    • 根据实际情况编译其他plugin库以及其依赖的第三方库

let’s go…

================================ To be continue…=================================

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值