有谁知道什么是WebRTC带宽最低要求? 我对有或没有视频以及不同视频分辨率的值有什么兴趣。我对双方会议特别感兴趣,但如果你知道每个派对的价值观,那也很好。
如果你有实际指标很好,但如果你知道我怎么能在理论上计算这个也很好。
另外,不同的浏览器有不同的带宽要求吗?
答案 0 :(得分:18)
带宽要求几乎与opus和vp8的带宽要求相同。实时音频通常具有40-200kbit / s的比特率。视频需要至少200 kbit / s(如果你想看到人脸,则为500kbit / s)。
根据webrtc-experiment,opus的最小带宽为6kbit / s,vp8为100kbits / s。所以总共产生106kbit / s但是当你考虑到webrtc协议栈的开销和不断变化的网络条件时,我猜想如果想要稳定的视频和音频,200kbit / s是最小的。
Chrome和Firefox都使用opus和vp8,因此带宽要求应该相同。虽然我没有任何硬数据可以证明这一点。
您可以通过转到chrome:// webrtc-internals并检查所有图表来查看webrtc生成的当前流量。
答案 1 :(得分:6)
对于两方会议,500 kbit / s以获得良好的会议质量应该足够(每个流,因此用户线上的负载为1 Mbit / s)。我对此有其他答案。
然而,多方WebRTC带宽可能会受到瓶颈,不仅仅是因为参与者的互联网带宽,还因为TURN媒体中继服务器的潜在带宽限制,如果您使用的话 - 这在没有P2P连接的情况下是必需的由于NAT设置困难。 (All the details here.)
我尝试粗略计算TURN服务器在最大化带宽之前可以服务的用户数量:
假设我们总共有100 Mbit / s的服务器带宽(输出+输出),我们希望最多60 Mbit / s可用于WebRTC流量。
因此,例如在配置coturn TURN服务器时,我们将每个输入和输出流设置为30 Mbit / s(3,750,000 Byte / s,使用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 = 0。 n = 8.26 = ~8名参与者(calculation)。
不确定这是多么准确。