0
点赞
收藏
分享

微信扫一扫

微风·六·JAVA中“==”、hashcode、equals及字符串常量池的区别

浮游图灵 2023-04-23 阅读 70

一、前言

使用qmediaplayer来打开视频并播放,默认首选会采用QVideoWidget控件来展示,优点是不用自己来绘制,一切交给了QVideoWidget控件,这样可以做到极低的CPU占用,缺点也明显,就是无法拿到每一帧的图片,很多时候我们还需要主动拿到每一帧的图片来运算做人工智能,通过不断的截图虽然也能拿到图片,但是看起来就是很幼稚的做法,从源头拿到图片数据才是王道,所以必须用到AbstractVideoSurface,QVideoWidget本身也是继承自AbstractVideoSurface,在里面的函数会收到每一张解码后的图片数据,自行取出来即可。这个类在Qt6中取消了,因为提供了videoFrameChanged信号,直接关联信号处理即可,connect(videoWidget->videoSink(), SIGNAL(videoFrameChanged(QVideoFrame)), this, SLOT(videoFrameChanged(QVideoFrame)));QVideoFrame带了toImage方法。

二、效果图

在这里插入图片描述

三、体验地址

  1. 国内站点:https://gitee.com/feiyangqingyun
  2. 国际站点:https://github.com/feiyangq
举报

相关推荐

0 条评论