0

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

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

是否有任何库或 JavaScript 框架可以很好地用于我应该知道的共享白板?

4

1 回答 1

2

免责声明:此答案已过时,请参阅此答案以了解如何完成此类事情。


WebRTC 还很新,支持也有点不稳定。不用说,不存在为您做这种事情的库或框架。

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

您可以检查连接的速度(通过示例上传和示例下载)并决定要使用哪种策略:

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

I think the most viable options are the first and second.

This also greatly depends on the implementation of the White Board, if you're only passing vector data for what was drawn on the board, even AJAX can handle the load, however, if you are passing live video I think nothing but WebRTC will effectively handle the load.

Good luck! This sounds like an interesting idea. I hope I will be able to edit this answer in a few months with a long list of libraries and frameworks that would let you easily do this.

于 2013-03-30T23:59:17.613 回答