如何使用 Qt 显示自定义视频流



我是Qt新手,我正在尝试创建一个应用程序,该应用程序接受原始像素数据流,这些数据以像素块的形式出现,我需要合并这些像素块,然后在屏幕上呈现为视频。基本上,"n"块将构成要显示的完整图像,然后当新块到达时,需要滚动现有显示的图像并插入新块。我正在考虑使用QGraphicsScene并将每个块作为对象放置在场景中。然后将对象向左移动,并将新对象放在右侧,释放滚动出可见区域的对象。

这行得通吗?

我正在使用这种方法,因为我找不到如何滚动像素图图像,然后只用新数据填充空出的矩形。

有没有更好的方法来显示此视频流?任何帮助将不胜感激!

谢谢!

  1. 我不认为将视频帧分成多个块是一个好主意。它可能会导致视频撕裂或其他一些副作用。

  2. 通常,您可以将原始像素数据传输到opengl纹理(glTextImage2D)中,然后轻松渲染,并且不必担心块滚动。为了获得更好的性能,您可以参考 FBO/PBO with OpenGL。

使用以下参考资料:http://www.opengl.org/sdk/docs/man/xhtml/glTexImage2D.xmlhttp://www.songho.ca/opengl/gl_pbo.html

最新更新