浏览器渲染和流媒体

时间:2011-06-23 20:28:45

标签: java firefox opengl rendering

我想在内存中(而不是在屏幕上)呈现应用程序(例如浏览器),并将此呈现的结果传输到几个远程桌面。

我有哪些选择?是否有可用于此的Java框架(可能基于OpenGL)?

2 个答案:

答案 0 :(得分:3)

OpenGL是一个绘图API;完全不适合你的要求;只是告诉你清理一切。

整个“屏幕外的东西”需要挂钩到图形系统的下半部分。使用Java,这意味着对JNI以及可能还有一些本机二进制代码进行严格修改。恕我直言不值得努力,因为有一个更好的解决方案:

Xorg有一个由VNC帧缓冲( Xvnc )支持的X服务器。您可以启动浏览器,如果没有窗口管理器和桌面环境运行,浏览器将是唯一可见的,没有装饰,标题栏等。然后使用VNC连接到该服务器,只能看到浏览器的图片。从技术上讲,VNC只是JPEG图像的视频流,并且有工具可以从VNC创建常规视频流。

X为您提供了另一种可能性:复合扩展名。 X Composite提供了一种将窗口传输到屏幕外渲染区域的机制。渲染到屏幕外区域的内容必须由所谓的 compositor 合成到屏幕上。将这些屏幕外图像复制到进程内存中并从那里构建视频流是可能的,尽管效率很低。

答案 1 :(得分:0)

根据您要执行的操作,您可以在Linux机器上运行应用程序,并通过SSH将应用程序的输出流式传输到另一台计算机上的xserver。我相信有适用于Windows和MacOS的xservers,但这会让你远离Java。

http://www.vanemery.com/Linux/XoverSSH/X-over-SSH2.html