Qt视频播放问题
急求视频播放解决方案:
目前的情况是:已经从摄像头采集到视频图像帧,用1秒25帧的速率在界面画出来。现在用的方法比较老土,直接是在一个label上调用setpixmap的方法显示的图像。
问题:这种方法是不是比较低级,是否应该调用Qpaintevent来绘制图像?目前16路D1图像会卡死,每秒要画100帧图像...
求高人帮忙解答 谢谢!
[解决办法]
楼主是什么平台下的? 如果是在linux下 可以通过gst读取摄像头数据,在显示的时候 只需要把窗口的id传递过去,渲染在这个窗口上就行了
[解决办法]
这么多帧可以挑一些 不用全部都重绘 每秒重绘十几帧是没有问题的
[解决办法]
用多线程做。
子线程里不停的绘制image.
然后 主线程。去绘制这个image。就好了。试试。
[解决办法]
每秒400帧?
不是吧!!!!
这有意义么?
CPU不100%才是怪事呢
一般每秒15-25帧左右就是连续的视频了,
你居然400!!
用setpix和paint其实差不多的,
没必要用线程的,并不是在画出来的时候卡的,而是你这实在是太多了,必须得卡。
[解决办法]
用qt画图显然没效率
高效率的画图应该考虑 Direct X openGL overlay
在windows上画图最次也要是GDI的
每个显示一个线程 解码和显示放一个线程就够
16路光解码不显示CPU也差不多了
何况你画图机制还是QT里性能偏低的方式