什么是在Qt小部件中显示图像的最快方法?我已经使用libavformat和libavcodec解码视频,因此我已经拥有原始RGB或YCbCr 4:2:0帧。我目前正在使用一个包含QGraphicsPixmapItem的QGraphicsView和QGraphicsScene对象。我目前通过使用来自内存缓冲区的QImage构造函数并使用QPixmap :: fromImage()将其转换为QPixmap,将帧数据传递到QPixmap中。
我喜欢这个结果,它似乎相对较快,但我不禁想,一定有更高效的方法。我还听说QImage到QPixmap的转换很昂贵。我实现了一个在小部件上使用SDL叠加层的解决方案,但我想继续使用Qt,因为我能够轻松捕获单击和其他用户与视频显示的交互,使用QGraphicsView。
我正在使用libswscale进行所有必需的视频缩放或颜色空间转换,所以我只想知道是否有更有效的方式在执行所有处理后显示图像数据。
谢谢。
我喜欢这个结果,它似乎相对较快,但我不禁想,一定有更高效的方法。我还听说QImage到QPixmap的转换很昂贵。我实现了一个在小部件上使用SDL叠加层的解决方案,但我想继续使用Qt,因为我能够轻松捕获单击和其他用户与视频显示的交互,使用QGraphicsView。
我正在使用libswscale进行所有必需的视频缩放或颜色空间转换,所以我只想知道是否有更有效的方式在执行所有处理后显示图像数据。
谢谢。
QGLWidget
是什么?为什么会提示没有这个文件? - Bahramdun AdilQGLWidget
已被弃用,现已被QOpenGLWidget
所取代。虽然有些不同,但对于这个简单的例子应该可以类似地工作。 - Jason B