我是Qt新手,我正在尝试创建一个接受原始像素数据流的应用程序,这些数据块以像素块的形式出现,我需要合并,然后在屏幕上呈现为视频。基本上'n'块将构成完整图像以显示然后当新块到达时,需要滚动现有显示图像并插入新块。我正在考虑使用QGraphicsScene
并将每个块作为对象放置在场景中。然后将对象向左移动并将新对象放在右侧,释放滚动可见区域的对象。
这会有用吗?
我正在使用这种方法,因为我找不到如何滚动像素图像,然后只用新数据填充空出的矩形。
有更好的方式来显示此视频流吗?任何帮助将不胜感激!
谢谢!
答案 0 :(得分:0)
我不认为将视频帧分成多个块是个好主意。它可能会导致视频撕裂或其他一些副作用。
通常,您可以将原始像素数据传输到opengl纹理(glTextImage2D),然后轻松渲染,您不必担心块滚动。 为了获得更好的性能,您可以参考OpenGL的FBO / PBO。
使用以下参考文献: http://www.opengl.org/sdk/docs/man/xhtml/glTexImage2D.xml http://www.songho.ca/opengl/gl_pbo.html