我正在考虑用不同的方式使用多个独立进程将大量的实时视频流到linux/X11的屏幕上。
我最初是用openGL/GLX和openGL纹理开始这个项目的,但那是一个死胡同。原因:“语境转换”。结果发现(尤其是nvidia),当几个(独立的多个)进程使用多个上下文以快速的速度处理纹理时,性能很差。这会导致崩溃、结冰等。
(请参阅以下线程:https://lists.freedesktop.org/archives/nouveau/2017-February/027286.html )
我终于变成了Xvideo,而且它似乎运行得很好。我的初步测试表明,show处理视频倾倒的效率是openGL的10倍,而且不会崩溃。我们可以用720 p@25 and演示这个正在运行的10 vlc客户机,并尝试Xvideo和OpenGL输出(记住要把所有的屏幕都放进去)。
然而,我怀疑Xvideo使用的是,在引擎盖下,openGL,所以让我们看看我是否正确。
X视频和GLX都是X11的扩展模块,但是:
(A)通过X视频倾倒视频:
(B)通过GLX和openGL纹理倾销“手动”倾倒视频:
我说得对吗?
有什么方法可以直接使用openGL来实现情境(A)?
。。一个人可能不得不完全放弃GLX,这开始有点硬的核心。
发布于 2017-11-02 17:10:34
https://stackoverflow.com/questions/42139815
复制相似问题