我有以下设置:

javascript - RTCPeerConnections占用大量CPU-LMLPHP

想法是计算机A 使用getUserMedia从 Cam 1 捕获单个本地MediaStream。然后在本地创建两个RTCPeerConnections- R5Outbound R6Outbound 。计算机B和计算机C均创建自己的入站RTCPeerConnections以捕获此流。

我注意到计算机A(具有i7 CPU)正在运行,有时在达到95%以上的CPU后使用以下设置崩溃了我的Chrome(60)实例。

一番阅读之后,我开始认为我在这里创建了太多的RTCPeerConnection实例。尽管在某些情况下,多个流源自单个设备,但我对如何正确创建和管理RTCPeerConnections感到有些困惑。我的问题是-鉴于上述拓 flutter 以及所有计算机都必须查看所有流的要求(尽管某些计算机可能没有要共享的流),应创建哪些RTCPeerConnections?

我应该注意,现在需要网格。业务限制使我们急于但无法使用MCUSFU体系结构。

问题的一些答案:



16GB /> 1TB SSD。



计算机A连接了两个摄像机。每个摄像机捕获一个流。然后,每个流都与其他计算机共享。


R5.OR6.O都使用相同的MediaStream实例(我说有80%的信心-需要检查我的代码并发回)。

最佳答案

对于网状网络,您有正确的想法。您遇到的问题是跨对等连接传输MediaStream是一项昂贵的操作。在网状网络中,对于每个对等连接,您都将上载MediaStream并下载MediaStream。您可以使用所有客户端都在与之交谈的中间服务器(而不是直接与彼此交谈)来优化此功能。这是一个视频,提供有关外观的更多信息:https://vimeo.com/198382135

08-07 18:52