RTCPeerConnection 的最大数量

Maximum number of RTCPeerConnection

我知道网络浏览器对并发 http 请求等的数量有限制。但是对一个网页可以打开的 RTCPeerConnection 的数量是否也有限制?

并且有些相关:RTCPeerConnection 允许通过 1 个连接发送多个流。在 1 个连接中组合多个流或设置多个连接(例如,每个流 1 个)之间的权衡是什么?

不确定上限,但我认为大约是 256(我上次听说)。我最近看到有人在一个网页上做了 200 个连接(通过 http://testrtc.com)。

多个 RTCPeerConnection 对象很棒:

  • 它们易于添加和移除,因此在加入或离开群组通话时提供更高程度的灵活性
  • 它们可以连接到不同的目的地

也就是说,他们有自己的挑战和开销:

  • 每个 RTCPeerConnection 都有自己的 NAT 配置 - 因此 STUN 和 TURN 绑定和流量在 RTCPeerConnection 对象之间并行发生,即使它们连接到同一实体(例如 SFU)。这种开销是内存和 CPU 等本地资源之一,也是网络流量(不是很大的开销,但可以处理)

  • 他们在 Chrome 上使用多个选项卡(个人喜好问题)使您的 webrtc-internals 视图变得混乱,并且 SSRC 可能在它们之间具有相同的值,使它们更难追踪和调试(同样,品味问题)

只要有人需要添加到列表(或删除),单个 RTCPeerConnection 对象就不得不重新协商它。

这是 chrome 错误 list.

不过现在还没修好

基于 webrtc for the curious 电子书的 page 14 说:

group:BUNDLE Bundling is an act of running multiple types of traffic over one connection. Some WebRTC implementations use a dedicated connection per media stream. Bundling should be preferred

所以我在考虑只使用一个 RTCPeerConnection 来处理不同类型的流是首选。 如果您认为此观点有误,欢迎指正。