有人知道WebRTC的带宽最低要求是什么吗? 我想知道有无视频和不同视频分辨率下的值。我尤其关注两方会议的值,但如果您知道每个参与方的值也可以。
如果您有实际指标很好,但是如果您知道如何在理论上计算这也很好。
此外,不同的浏览器有不同的带宽要求吗?
对于双方会议而言,每个数据流500 kbit/s的好会议质量应该足够了(因此用户线路上的负载为1 Mbit/s)。在这方面,我和其他回答的意见一致。
然而,多方WebRTC带宽可能会出现瓶颈,不仅是由于参与者的互联网带宽,也由于TURN媒体中继服务器的潜在带宽限制,如果您使用这种服务器——在没有P2P连接可能由于复杂的NAT设置而需要。 (所有详细信息都在这里。)
我尝试粗略计算了一个TURN服务器可以提供服务的用户数量,直到其带宽达到最大值:
假设我们总共有100 Mbit/s的服务器带宽(输入+输出),我们希望WebRTC流量使用最多60 Mbit/s。
因此,例如在配置coturn TURN服务器时,我们将设置输入和输出流各为30 Mbit/s(即3,750,000字节/秒,使用bps-capacity=3750000
)。
输出流将承受更高的负载,因为对于n个参与者而言,每个参与者将有1个视频输入流和n-1个视频输出流需要TURN服务器处理。这意味着瓶颈将是30 Mbit/s的组合输出流。
在最坏的情况下(即根本无法进行任何STUN协商的P2P连接),这个带宽将足以支持:30 Mbit/s / 500 kbit/(s*stream) = 60个视频流。
假设有n个参与者,每个参与者会产生n-1个输出流,这意味着总共会有n * (n-1) = n^2 - n个流。我们最多可以支持60个流,因此:
n^2 - n = 60 <=> n = 8.26 = ~8个参与者(计算公式)。
目前不确定这个结果的准确性。