【发布时间】:2011-02-20 19:47:54
【问题描述】:
我已经编写了一个 OpenGL 游戏,我想允许通过画布元素远程玩游戏。输入很容易,但视频很难。
我现在正在做的是通过 node.js 启动游戏,并在我的渲染循环中向标准输出发送代表当前帧的位图数据的 base64 编码流。 base64 帧通过 websocket 发送到客户端页面,并逐像素渲染(非常缓慢)。这显然是站不住脚的。
我一直在尝试生成视频流的想法,然后我可以通过标签轻松地将其渲染到画布上(ala http://mrdoob.github.com/three.js/examples/materials_video.html)。
我对这个想法的问题是我对编解码器/流媒体的了解不够,无法从高层次上确定这是否真的可行?我不确定编解码器是否是我需要担心的部分,我需要担心能够动态更改内容,并且可能会提前渲染几帧。
我的其他想法:
- 尝试从 base64 框架创建 HTMLImageElement
- 尝试优化压缩/重绘区域以降低像素带宽(实现我需要获得 20+fps 的那种性能似乎不切实际)。
然后总是可以选择使用闪光灯……但我真的更愿意避免使用它。我正在寻找一些关于要追求的技术、想法的意见?
【问题讨论】:
标签: javascript html canvas video-streaming