【问题标题】:Selecting signaling protocol for video/audio app (WebRTC API)为视频/音频应用程序选择信令协议(WebRTC API)
【发布时间】:2016-02-01 00:44:23
【问题描述】:

信令在 WebRTC 中发挥着重要作用,但没有标准化,允许开发者选择。缺乏标准化和多种选择导致了一些混乱。已经提出并使用了许多不同的信令方法,了解这些方法之间的差异对于为给定的 WebRTC 应用程序选择正确的方法很有用。那么问题来了

  • 如何选择用于在服务器和端点之间发送信号的协议 视频聊天应用之类的 P2P 媒体密集型应用?

    • WebRTC DataChannel vs XMLHttpRequest vs WebSockets ?也许还有别的?

    • 如何以及何时选择一个而不是另一个?

【问题讨论】:

标签: javascript node.js performance browser webrtc


【解决方案1】:

信令是在两方之间建立会话的过程。因为DataChannel 依赖于已经建立的对等连接,所以您不能将其用于信令(至少不能用于初始设置)。虽然如果您真的想要,您可以实施DataChannel 信号解决方案来处理配置中的任何以后更改,例如如果一个客户端想要添加另一个视频流。 This post 对此进行了更深入的讨论。构建和维护它所涉及的工作是否由您决定。

HTTPWebSockets 在这种情况下都可以正常工作,我认为其中一个不会比另一个提供任何显着优势。 WebSockets 在技术上更轻巧,但信令过程很简短,不涉及太多数据传输。

我建议使用socket.io 之类的东西,它可以抽象出两种协议之间的差异并自动处理升级和降级。

【讨论】:

  • @Hanky웃Panky 摆脱它:)
  • 我认为使用 WebRTC 数据通道进行信号传输的想法根本没有任何意义,但 this page 声称在建立“初始连接”后这是可能的。
  • 是的,该页面的答案有点令人困惑,可能已经过时了。您肯定首先需要一个用于数据通道的 webRTC 对等连接。他的意思可能是,在建立对等连接后,您可以使用数据通道来修改或添加流,或者与同一个对等创建额外的对等连接。
  • 在初始协商后切换到数据通道进行信令是可行的。请参阅this answer 中的演示。
  • @jib 感谢您指出这一点,我已经相应地编辑了我的答案。在某些情况下,单独的 DataChannel 信令解决方案可能很有用,但它花费了更多的时间和精力,却收获相对较少。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多