javascript - webRTC HTML5 白板/视频聊天

标签 javascript node.js socket.io webrtc whiteboard

我正在探索使用 webRTC、HTML5、socket.io 和 node.js 构建前沿白板应用程序(很像 Big Blue Button 或 Wimba)的选项。这将用于一对一的通信......一次不超过两个用户相互通信。

我想使用数据通道在客户端之间传递白板数据,然后在服务器端有某种监听器来记录视频/音频/白板操作。服务器监听器实际上会窃听白板/音频/视频聊天。换句话说,如果服务器到客户端的连接出现延迟,也不会影响 P2P(客户端到客户端)webRTC 连接的质量。这样服务器就可以以较低的优先级记录白板交互,从而使一对一的聊天交互尽可能高速。

是否有我应该了解的适合共享白板的库或 JavaScript 框架?

最佳答案

免责声明:此答案已过时,请参阅this answer关于如何完成这样的事情。

<小时/>

WebRTC 仍然很新,支持也仍然有点不稳定。不用说,不存在为您做此类事情的库或框架。

您可能想要做的是使用 WebSockets(以及您已经在使用的 socket.io)将一些数据从客户端发送到服务器,并同时通过 WebRTC 发送数据。

您可以check how fast the connection is (通过示例上传和示例下载)并决定您要使用哪种策略:

  1. 使用 WebRTC 不记录任何内容,或者仅在客户端记录并在完成后上传到服务器
  2. 同时使用 WebRTC 和 WebSockets,仅使用 WebSockets 将“一些”数据传输到服务器,其中“一些”数据取决于连接可以容纳的内容。
  3. 仅使用 WebSocket 并将所有数据传输到服务器,不涉及 P2P。

我认为最可行的选择是第一个和第二个。

这也很大程度上取决于白板的实现,如果您只传递白板上绘制的矢量数据,即使 AJAX 也可以处理负载,但是,如果您传递实时视频,我想什么也没有WebRTC 将有效地处理负载。

祝你好运!这听起来是一个有趣的想法。我希望我能够在几个月内编辑这个答案,并提供一长串库和框架,让您轻松做到这一点。

关于javascript - webRTC HTML5 白板/视频聊天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15724806/

相关文章:

javascript - 事件内容安全策略 (CSP) 和 Rails :back link

javascript - Angular2 - html中的动态变量

mysql - 如何使用meteor设置mysql

javascript - 用于客户端 Web 应用程序的开发/构建工具

socket.io - 将 Flutter 应用程序连接到 socket.io 服务器

javascript - 将视频添加到 Javascript Canvas

javascript - 本地package.json存在,但缺少node_modules

JavaScript promise : Reject handler vs catch

node.js - 我可以在 bluemix 上为我的应用程序保留另一个端口吗?

node.js - 在 node.js 中使用 socket.io 通过 webrtc 广播实时音频