WebRTC:点对点连接数量限制?

28

我可以在一个客户端上创建多少个对等连接?是否有任何限制?

5个回答

21

我假设您是通过实验得出256这个数字的,因为目前没有文档或规格表明这一点。 我不知道自2013年以来有哪些变化,但目前,我的实验仅支持每个页面500个同时连接。 据我所知,Firefox没有此类限制。

根据Chromium源代码,实际限制是500个 (来源)。据我所知,在此实现之前(来源)甚至在WebKit时代,都没有这样的限制。

我认为这个问题棘手的原因之一是Chrome(和FF)一直很糟糕地处理死连接的垃圾回收。如果你检查chrome://webrtc-internals(FF对应的是about:webrtc),会经常出现一些向500限制计数的僵尸连接。这些连接会一直存在,直到你手动销毁它们,或者关闭/刷新页面。解决这个问题的方法之一是通过自己实现心跳机制或使用信令服务器通知同行已断开连接,以便其他同行可以销毁他们的连接(尽管这需要与信令服务器建立持久连接)。


这应该是最好的答案。 - Beyondo

6

最大对等连接限制为256(在Chrome上)。

其他主要浏览器可能不同,根据您的带宽,它们会限制给定的稳定性。


27
你有原始资料吗? - OlivierBlanvillain
1
Konga,我知道这个限制,因为它已经被记录下来了。我正在开始一个项目,我很好奇这个限制是否仅适用于点对点?比如说,假设你想在网站首页上展示你美丽的面容,与访问者交流,那么这是否意味着只有256个访问者能够看到它?感谢任何帮助。 - tbh__
我在互联网上找不到这个数字的任何证据。您能否说明一下您是如何得出这个数字的? - Yousef Amar
如果您想在Web规模上进行一对多的直播,您应该使用诸如HLS或DASH之类的技术。这将通过CDN将您的视频以HTTPS交付给数百万用户。您的源视频将被分块并保存到云存储中以供大规模消费。唯一的问题是使用类似FFMPEG的切片媒体服务器的技术细节。 - SacWebDeveloper
2
经过实际实验,我可以确认在网状网络中,P2P的实际限制通常为4-5个用户。之后连接就会不稳定,因为编码上传流的数量太多了。此外,请注意,上传速度通常不到下载速度的五分之一。这是我最近在Stack Overflow上发布的关于这个话题的帖子:Does WebRTC based audio/video conference have so many peer to peer OR all the upload are mixed somewhere and sent back? - iammilind
2
@iammilind 当我们谈论P2P网状视频会议时,您肯定是正确的,但OP并没有询问那个问题,我不确定为什么每个人都认为是那个问题。使用SFUs的WebRTC当然可以超越那个问题,因为瓶颈变成了视频解码,而不是带宽。然后还有许多非视频、非音频用例的WebRTC(Datachannel网络),在这些用例中,完全可以进入数百个连接。 - Yousef Amar

4

不确定是否有任何硬限制(除了运行时内存),但肯定存在软限制。

如果您考虑完全网状拓扑(即每个客户端都连接到每个其他客户端的应用程序),则必须考虑此拓扑的主要缺陷。对于参与视频会议的大量参与者,需要维持整个会话所需的带宽随着每个新参与者而增长。

因此,带宽较低的用户将无法处理具有大量参与者的视频会议。

希望这可以帮助您。


1
这是一个有趣的话题..我刚刚在观看有关WebRTC中的多点对多点的Youtube视频。演讲者说它只取决于同行数量,但他最高只做到了少于6个同行。此外,这也取决于您的带宽大小。最好的方法是开发一个WebRTC并尝试与朋友连接,并进行评估,因为这也取决于您所在的国家。就像我住在博茨瓦纳,网络不快,所以我不指望在这边与只有一个人沟通时仍然无法清晰地交流的情况下拥有6个同行。

1
OP从未提到P2P网格,也没有提到视频。在典型的会议设置中,每个人都有视频+音频,使用典型的家庭互联网连接,在典型的设备上,您甚至无法保证超过4个参与者的可接受用户体验。正如您所说,这些因素变化很大,例如在不同的国家。但是WebRTC不仅适用于P2P网格网络,也不仅适用于视频,因此您当然可以为其他用例取得更好的效果。 - Yousef Amar

0
根据此来源所述:
在实践中,即使在最佳网络条件下,网状视频通话在五个参与者以上的情况下也无法良好运作。

2
OP从来没有提到过网格或视频。 - Yousef Amar
2
然而,大多数人都会关心这些事情。 - Emperor Eto
这是一个有价值的事实,但应该作为注释而不是答案。 - JSON

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接