• 8388阅读
  • 3回复

如何在QGraphicsView中显示海康视频? [复制链接]

上一主题 下一主题
离线piaoliushi
 

只看楼主 倒序阅读 楼主  发表于: 2013-10-08
由于海康的播放sdk需要HWND,所以将一个QWidget添加到QGraphicsScene中,但图像显示不出来,声音可以正常播放.
不知道怎么回事?有没有哪位朋友做过,还望指点一下,谢谢!
离线goldensea0

只看该作者 1楼 发表于: 2013-10-09
QWidget放到QGraphicsScene显示,会用到一个关键函数render,海康只在你提供的HWND的窗口上绘制,render是不会把海康的图像给输出的
离线piaoliushi

只看该作者 2楼 发表于: 2013-10-10
引用第1楼goldensea0于2013-10-09 14:41发表的  :
QWidget放到QGraphicsScene显示,会用到一个关键函数render,海康只在你提供的HWND的窗口上绘制,render是不会把海康的图像给输出的

谢谢您的答复,scene接管了Widget的绘制工作,也就无法暴露widget的原生HWND了,我试着用海康的播放sdk直接获取yv12数据,然后转成rgb888用QImage接收后直接在item上绘制,但CPU占用率惊人,有没有更好的实现办法的?谢谢!
离线noidea

只看该作者 3楼 发表于: 2014-01-27
我觉得QImage使用copy-on-write技术,可以使用QPixmap做一些图像处理,显示的时候就不会那么占用CPU了。

QImage的文档里有说明这一点。
talk in code
Qt5.2.1 + MacOSX10.9
快速回复
限100 字节
 
上一个 下一个