SB2*_*055 5 javascript performance google-chrome webrtc
我有以下设置:
这个想法是计算机 A使用 getUserMedia从Cam 1捕获单个本地 MediaStream 。然后在本地创建两个 RTCPeerConnections - R5Outbound和R6Outbound。计算机 B 和计算机 C 创建自己的入站 RTCPeerConnections 来捕获此流。
我注意到带有 i7 CPU 的计算机 A 运行很热,并且在达到 95% 以上的 CPU 后,偶尔会使用以下设置使我的 Chrome (60) 实例崩溃。
经过一些阅读,我开始认为我在这里创建了太多的 RTCPeerConnection 实例;尽管在某些情况下多个流来自单个设备,但我对如何正确创建和管理我的 RTCPeerConnections 感到有些困惑。我的问题是 - 鉴于上述拓扑结构和所有计算机都需要查看所有流的要求(尽管有些计算机可能没有要共享的流),应该创建什么 RTCPeerConnections?
我应该注意到现在需要网格;业务限制让我们渴望但无法使用MCU
或SFU
架构。
一些问题的答案:
计算机 A 有多少 RAM 和磁盘空间可用?
16GB / >1TB SSD。
为什么计算机 A 需要两个出站流?两个出站流的目的是什么?
计算机 A 连接了两个摄像头。每个摄像头捕获一个流。然后每个流都与其他计算机共享。
您是否克隆了原始流来为 R5Outbound 和 R6Outbound 提供 MediaStream?
双方R5.O
并R6.O
使用相同的MediaStream实例(我说的是80%的置信度-需要检查自己的代码和后背部)。
对于网状网络,您的想法是正确的。您遇到的问题是,跨对等连接传输 MediaStream 是一项昂贵的操作。在网状网络中,对于您建立的每个对等连接,您都在上传 MediaStream 和下载 MediaStream。您可以使用所有客户端都与之通信的中间服务器(而不是直接相互通信)来优化这一点。以下视频提供了有关其外观的更多信息:https ://vimeo.com/198382135
归档时间: |
|
查看次数: |
1325 次 |
最近记录: |