问题描述

之前写了这样一篇文章: V4L2+QT+USB摄像头实时显示视频(Arm,Linux,window均适用)
程序运行在Linux系统中,视频不掉帧,显示很稳定;但是编译之后运行在Arm9开发板时,能感到明显的延迟

解决问题过程中发现这样一个论坛: Qt用QLabel来显示摄像头,CPU占用率过高的问题,定时器变不准

总结一下内容:

  1. QLabel控件不适合做频繁刷新的图像显示,没有效率;
  2. 可以开多线程来解决显示问题
  3. 可用QPixmap+QPainter替代QLabel控件

不妨尝试用多线程+QPainter来显示视频帧

编程

QPainter显示图像

首先是QPainter显示图像,先学习一下 QPainter Class,核心代码

    /* 显示的每帧图像 */QImage img;/* 重写父类下的protected方法*/
protected:void paintEvent(QPaintEvent *);......void videoshow::paintEvent(QPaintEvent *){try{QPainter painter(this);if(!img.isNull()){painter.drawImage(QPointF(0,0),img);}}catch(...){}
}

这里选择不缩放显示图像,参考以下函数

QThread线程开启

官方文档: QThread Class

QT使用线程主要有两种方法,其中之一就是继承QThread,然后重写run()的方法

class V4l2Thread : public QThread{public:explicit V4l2Thread(QWidget *parent = 0);~V4l2Thread();/* QThread 虚函数 run */void run();
}void V4l2Thread::run(){/* V4l2的编程就可以写在`run()`函数中 */
}

线程的启动start(),线程的销毁destroyed()

/* 实例化V4l2Thread */
t = new V4l2Thread();......t.start();......t->destroyed();

V4L2+QT视频优化策略相关推荐

  1. CUDA 并行计算优化策略总结

    作者 | LustofLife@知乎 来源 | https://zhuanlan.zhihu.com/p/297201517 编辑 | 极市平台 导读 并行计算为了提高算法运行效率,本文通过以矩阵乘法 ...

  2. EasyPlayer Android RTSP播放器延迟再优化策略

    EasyPlayer延迟再优化策略 EasyPlayer是一款专门针对RTSP协议进行过优化的播放器.其中两个我们引以为傲的的优点就是起播快和低延迟.最近我们遇到一些需求,其对延迟要求非常苛刻,于是我 ...

  3. 小程序打包体积优化策略

    背景 我们都知道微信小程序有包体积限制,整个小程序所有分包大小不超过 20M,单个分包/主包大小不能超过 2M.然而面对业务的不断更新迭代,代码和资源会越来越多,如果不尽早规划包体积的治理,势必有一天 ...

  4. 一文读懂云渲染“串流”全链路时延及优化策略

    ​这是一个让云游戏完美起步的时代. 云游戏作为产业内近年来炙手可热的话题,具有"云端运行.超高清.零延时.即点即玩"等众多特性. 随着 5G 时代的到来,以及中心云能力下沉至边缘云 ...

  5. 监控广告变现效果,开发者该如何搭建数据分析体系,如何制定优化策略?

    商业化变现,是伴随移动互联网发展而产生的,广告变现是APP实现营收的主要途径之一.对免费的APP开发者来说,在提供免费服务的同时,对接广告投放平台取得收益,是开发者普遍的商业化模式,但如何选择广告变现 ...

  6. 五个Google Play应用程序的有效ASO优化策略

    很多APP开发者都有出海梦,一方面是因为竞争激烈的中国移动互联网市场,另一方面也是为了扩展用户群.如果开发者决定出海,那么如何让应用在Google Play站稳脚跟,可能是您必须考虑的工作了.本文柚鸥 ...

  7. 安卓Android游戏类ASO优化策略,android的aso优化

    虽然安卓市场和AppStore市场有很大的区别,但是优化套路还是有迹可循的,想要做好游戏的APP推广,那就要把ASO做好,ASO是游戏类产品也是所有应用类产品推广的第一步.那么小编就来给大家说说这个怎 ...

  8. 四个视频营销策略,让你火过傅园慧,Papi酱

    问里约奥运谁最火?一条网友剪辑制作的傅园慧鬼畜视频火爆网络,也让这位"默默无闻"的奥运选手迅速蹿红,国内外皆知.从传统的网站视频,电视视频演变成如今弹幕视频.短视频.网红视频直播的 ...

  9. EasyPlayer-RTSP-Android安卓播放器播放RTSP延迟优化策略,极低延时!

    EasyPlayer-RTSP-Android安卓RTSP播放器低延迟播放延时优化策略 EasyPlayer-RTSP-Android播放器是一款专门针对RTSP协议进行过优化的流媒体播放器,其中我们 ...

最新文章

  1. MYSQL 的 MASTER到MASTER的主主循环同步
  2. nginx upstream 调度策略
  3. 【 MATLAB 】程序流程控制语句格式简记
  4. php中怎么定义page,css @page的使用与定义详解
  5. ubuntu dhcp ping 不通 自己_??2、DHCP安装和配置
  6. Redis主从读写分离配置
  7. 15个Java的报表工具简介
  8. 深度学习系列(一)【人类语言处理--引言】
  9. 中国经济真相:跑了 1135 家制造企业,我终于明白什么叫自己玩死自己(转)...
  10. C#多线程之线程同步篇2
  11. sort(()=>{return Math.random()-0.5)}乱序数组不准确
  12. 阿里 P6 面试体验
  13. 数据结构——什么是数据结构?
  14. 计算机中的dump到底是什么意思?
  15. 健身健美减脂、脱水、充碳记录
  16. Android 8.1 【FriendlyARM】编译环境搭建与镜像烧写
  17. 高性能RabbitMQ消息队列介绍 及 SpringBoot整合
  18. js兼容安卓和IOS的复制文本到剪切板,已做浏览器兼容处理,勿需插件
  19. 循环经济与可持续发展企业——章节测试1
  20. 怎么修改服务器文件写入权限,怎么修改服务器本地写入权限设置

热门文章

  1. python堆栈跟踪_什么是python中的堆栈跟踪?
  2. python3.6 linux_Linux CentOS升级Python 3.6版本方法
  3. 特斯拉向上,蔚来汽车向前
  4. laravel中的fillable和guarded属性
  5. 神经网络常用激活函数及其应用举例
  6. SpringBoot实现企业微信上传图片
  7. 云通信未来发展,技术革新是重点
  8. Latex 中的警告 Foreign command \atop 的解决方法
  9. 你应该知道的软件测试28个误区
  10. python图像处理(十)——图像仿射变换、图像透视变换和图像校正