webRTC HTML5白板/视频聊天

时间:2013-03-30 23:51:22

标签: javascript node.js socket.io webrtc whiteboard

我正在探索使用webRTC,HTML5,socket.io和node.js构建前沿白板应用程序(很像Big Blue Button或Wimba)的选项。这将是一对一的通信......一次只能与两个用户进行通信。

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

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

1 个答案:

答案 0 :(得分:2)

免责声明:这个答案已经过时,请参阅this answer,了解如何完成此类工作。


WebRTC仍然很新,支持也有点摇摇欲坠。毋庸置疑,不存在为您做这类事情的库或框架。

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

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

  1. 使用WebRTC并且不记录任何内容,或仅在客户端记录并在完成后上传到服务器
  2. 同时使用WebRTC和WebSockets,只使用WebSockets将“部分”数据传输到服务器,其中“某些”取决于连接可以容纳的内容。
  3. 仅使用WebSockets并将所有数据传输到服务器,不涉及P2P。
  4. 我认为最可行的选择是第一和第二。

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

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