有没有任何库可以让我在网站上显示远程渲染?

7
不使用WebGL、NaCl、Flash或开发自定义浏览器插件,我有兴趣在服务器上进行3D实时渲染。这是为专业产品而不是一般用途设计的。是否有现有技术可用于此类操作,以避免编写相当复杂的代码?免费或付费都感兴趣。理想情况下,希望能在我们的服务器上运行,但托管服务也很有趣,因为它们可以提供一组服务器。实际上,我描述的是一个跨浏览器控件,它提供了一个“窗口”,可以查看远程服务器上正在渲染的内容。有点像通过Javascript/HTML5进行VNC吧。另一个网站的建议是MJPG,但我不知道是否可行。虽然不是理想的选择,但在客户端使用Flash从服务器拉取内容并不会太糟糕。

HTML实际上不允许这些事情。毕竟它只是一种标记语言。任何超出简单动画的功能都必须使用插件来完成。它绝对不能在没有外部帮助的情况下呈现3D效果。 - SoWhat
我的意思是我想要一个可以与服务器通信的JS/HTML5组件。类似于视频渲染或视频聊天。渲染在高规格服务器上的普通渲染器中执行。 - Mr. Boy
渲染技术的种类/质量是什么?你是在谈论利用EC2般的强大渲染引擎吗?Pixar有云版本的RenderMan,但它只能在他们的服务器上运行。 - cmannett85
@cbamber85 - 标准实时渲染可以在配置合理的PC上使用良好的GPU完成。没有什么花哨的东西...我们恰好使用Ogre3D。 - Mr. Boy
1
这是否归结为将Ogre的输出流作为视频进行传输,还是我漏掉了什么? - Rob Agar
显示剩余6条评论
3个回答

1

0

如果您不介意使用Flash客户端,那么这应该很简单。

从问题的措辞中,我假设您已经计划好内容将如何呈现,或者至少这是与您在此处提出的问题无关的问题。

考虑到这一点,您的要求实际上减少到了实时屏幕广播。

我知道的最简单的选择是Flash Media Live Encoder用于向RTMP客户端提供流,或者Red5或类似解决方案。

我不确定这些解决方案可能存在哪些许可问题,但希望这至少能为您提供其他选项的想法...

P.S. 我刚注意到您在问题末尾提到了Flash作为一个选项,因此您可能已经知道这些选项,并主要寻找非Flash替代品?如果是这种情况,那么我不确定实际上有哪些解决方案可用,但Adobe 已经发布了RTMP规范供公众使用,我相当确定非flash客户端确实存在。我也很确定不存在非Flash服务器。

无论如何,我仍然认为这是一个很好的选择,说实话...


Flash是一种不太受欢迎但仍然可行的选择...这意味着iPad无法支持,但所有PC都可以。 - Mr. Boy
Flash服务器还有一个不太清楚的问题...客户端需要除了常规的Flash之外的任何东西吗?那将是一个问题。 - Mr. Boy
不,客户端可以只是普通的Flash。由于该技术已经相当成熟并被广泛使用,因此设置一个漂亮简单的品牌播放器应该非常容易。我认为也可以使用http://www.xuggle.com/xuggler/index来进行纯Java编程,尽管关于这个主题的信息似乎有点稀少:/。一般来说,解码RTMP肯定是可行的,但根据您决定要编码和发布的格式,您可能会在此之后遇到麻烦。在纯Java中发布绝对是可行的,并且应该更容易弄清楚。也许可以看看Red5。 - Elias Vasylenko

0
"Sort of like VNC through Javascript/HTML5 I suppose"

RealVNC Java Viewer实际上可以通过Java实现这一点。只有在尝试流式传输由GPU(即硬件渲染)生成的输出时,它才会失败。我相信VNC可以通过更改它用于抓取帧缓冲区的方法来处理这种情况。

根据此页面的说法,“对于无法远程控制的3D应用程序/视频,恢复到VNC Hooks可能会提供更新,但性能会降低。”

还有UNIX的解决方法


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接