在SOM-RK3399上使用QT的QMediaPlayer组件实现的播放器播放视频卡顿的解决办法

在SOM-RK3399上使用QT的QMediaPlayer组件实现的播放器播放视频卡顿的解决办法

1. 问题描述

开发用于SOM-RK3399平台上的应用程序,我使用的使交叉编译的方式:在我的笔记本上的Ubuntu18.04上开发,编译,然后将可执行程序再放到NFS服务器目录,在SOM-RK3399上执行。
我开发的项目主要功能是:1. 对音频、视频数据的采集;2.将音频数据和视频数据合并成一个视频文件;3. 实现对采集的视频文件的回放功能(也就是播放器的功能)
采集视频数据我使用的是V4L2,采集音频数据使用的是ALSA,对音频和视频数据进行编码使用的是FFMPEG。


起初,对视频文件(回放/解码)我也用的是FFMPEG,也能够成功解码出音频、视频数据进行回放,但是难在了一个功能上我就放弃自己使用FFMPEG解码回放了,这个难题就是对视频文件进行倍速回放,对如果以音频数据为基础,可以实现倍速播放,但是如果倍速回放一个没有音频流的视频文件,我没有找到有效的对视频倍速播放的办法,因此,转向了去查找QT有没有提供线程的播放器组件,最后找到了,参考QT的示例,成功写好的回放视频文件的功能。


但是,在我笔记本上的demo程序播放视频可以正常播放,但是放到SOM-RK3399上就特别卡,当时懵逼了,最后尝试了一下SOM-RK3399自带播放器,发现可以正常播放,所以我就将自己的demo程序拷到SOM-RK3399上编译,然后运行,可以正常播放,狂喜。。。
一看RK3399使用的是Qt5.10.0,而我目前用的是Qt5.9.5,以为是版本问题,但其实不是,最后想了一下看看可执行程序用到了哪些库,发现在SOM-RK3399上编译的和在我笔记本编译后,考过去的,使用的MutileMedia库是不同的,详细过程如下。

1.1 修改之前的avc程序的链接库

在这里插入图片描述

可以看到libQt5MutilmediaWidgets.so.5等库链接的是 /usr/lib/aarch64-linux-gnu/libQt5MultimediaWidgets.so.5
但是,我在SOM-RK339上链接的确是 /usr/local/Trolltech/Qt-5.10.0-rk64one/lib/libQt5MultimediaWidgets.so.5
在这里插入图片描述

1.2 现在修改ldconfig配置文件

sudo vim /etc/ld.so.conf.d/aarch64-linux-gnu.conf

将/usr/local/Trolltech/Qt-5.10.0-rk64one/lib放在最前,使其最先搜索到。
修改之前的内容:
在这里插入图片描述
修改后:
在这里插入图片描述
最后:重新执行以下sudo ldconfig问题得到解决。

sudo ldconfig

执行ldconfig它会更新以下/etc/ld.so.cache缓存文件

1.3 重新ldd avc

在这里插入图片描述
[上一篇]

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值