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

  • 1. 问题描述
    • 1.1 修改之前的avc程序的链接库
    • 1.2 现在修改ldconfig配置文件
    • 1.3 重新ldd avc

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


[上一篇]

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

  1. Qt直接运行生成的exe文件提示“缺少Qt5Core.dll”的解决办法

    Qt直接运行生成的exe文件提示"缺少Qt5Core.dll"的解决办法 [错误描述] 在QtCreator下,程序可以正常运行,但是当关闭QtCreator后,在"de ...

  2. ajax上传文件报错The current request is not a multipart request的解决办法

    ajax上传文件报错The current request is not a multipart request的解决办法 主要报错语句为: The current request is not a ...

  3. B2B 手动客户端网络上传数据报错:由于目标机器积极拒绝,无法连接,解决办法

    B2B 手动客户端网络上传数据报错:由于目标机器积极拒绝,无法连接,解决办法 B2B手动客户端在外网运行时,选择网络上传数据时,报错"由于目标机器积极拒绝,无法连接":在内网通 ...

  4. 联想笔记本电脑老是自动选择桌面上最后一个图标,而且浏览网页鼠标自动拉到最底部的解决办法

    联想笔记本电脑老是自动选择桌面上最后一个图标,而且选择其他的图标总是会打开最后一个图标,打开网页或者我的电脑滚动条会自动下拉到最底部 下面编程爱好者之家为大家带来解决办法 临时解决方案一: 开机后连续 ...

  5. 上传大文件,出现: 413 request Entity too Large错误的解决办法

    工作中遇见了一个问题,就是上传一个100M的文件,会报413 request Entity too Large错误,下面给出解决方式. 经过排查,发现服务器使用nginx作为反向代理服务器,报上名错误 ...

  6. 服务器接上显示器后没信号,为什么显示器无信号电脑显示器无信号的解决办法...

    经常有朋友会遇到显示器无信号的情况,相比显示器没有任何显示而言,显示器无信号电脑故障其实更容易解决.为什么这么说呢?其实原因很简单,如果显示器没任何显示,我们很难一下子判断是显示器问题还是电脑主机问题 ...

  7. 饥荒联机版连不上服务器_《饥荒》无法连接klei服务器 刷不出服务器解决办法...

    <<饥荒>无法连接klei服务器 刷不出服务器解决办法>文章已经归档,不再展示相关内容,编辑建议你查看最新于此相关的内容: <饥荒:联机版>服务器卡顿原因分析及解决 ...

  8. 电脑上显示打印机无法连接服务器错误代码,电脑怎么连接打印机显示错误代码的解决办法...

    下面来看看小编为您整理的电脑怎么连接打印机显示错误代码的答案 电脑怎么连接打印机显示错误代码内容导航1.连接不上打印机错误0x00000709 打印机出现0x00000709错误代码可能是因为网络或者 ...

  9. PS4二战在线游戏连接不上服务器,使命召唤14:二战打不开怎么办 游戏无法运行解决办法汇总...

    使命召唤14:二战是<使命召唤>系列的全新续作,一些玩家在下载未加密版的游戏后会遇到使命召唤14打不开.使命召唤14无法运行.使命召唤14未响应等等问题,其实这些问题并不是游戏本身的问题, ...

最新文章

  1. JAVA IO流复制文件夹及里面的所有文件
  2. H标签对网站SEO优化是不可或缺的!
  3. C++读写EXCEL文件方式比较 .
  4. Microsoft SQL Server学习(二)--数据库的语法
  5. 真正的云主机到底是什么样的?
  6. android多语言编码格式,AndroidXml2Xls
  7. nodejs轻量服务器后端
  8. java未发现数据源名称并且未指定默认驱动程序_转:java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序...
  9. SHIFT后门拿服务器之方法总结
  10. HNU 实验五 猴导师
  11. mysql ignore-columns_坑 - 当insert ignore遇到not null
  12. spring源码学习(1)- bean
  13. 常用脚本语言Perl,Python,Ruby,Javascript一 Perl,Python,Ruby,Javascript
  14. c语言课件谭浩强ppt下载,c语言课件谭浩强
  15. 【效率提高10倍项目原创发布!】深度学习数据自动标注器开源 目标检测和图像分类(高精度高效率)
  16. crmeb多商户二开crmeb架构二开文档异常处理【4】
  17. ROS高效入门第一章 -- ROS历史与现状
  18. 新版本微信PC端小程序打不开 一直加载 白屏等问题及解决方案
  19. ReadProcessMemory()
  20. 钉钉企业内部机器人python开发(公网部署版本)

热门文章

  1. innerText textContent innerHTML
  2. 大学各系男生求爱短信 (你是哪种?) 收藏
  3. RHEL 8 Linux环境下安装部署DHCP
  4. SpringCloud Eureka Client 源码
  5. python中全组合函数(combinations)与全排列函数(permutations)的介绍与参数说明
  6. 偷偷远程窥视同班女孩的qq图片(arp中毒+dns劫持)
  7. 命令行清空windows回收站内容
  8. FLV:适合录制的多媒体格式
  9. 大型B2C商城项目数据库实战Oracle代码实现
  10. mDNS实现之Bonjour与Avahi(二)——win/linux/arm交叉编译