2015-04-24 50 views
8

有誰知道什麼是WebRTC帶寬最低要求? 我對什麼是有或沒有視頻和不同視頻分辨率的值感興趣。我對兩黨會議特別感興趣,但如果你知道每場聚會的價值,那也是很好的。WebRTC帶寬要求

如果你有實際的指標是好的,但如果你知道我怎麼能理論上計算這也是好事。

另外,不同的瀏覽器有不同的帶寬需求?

回答

14

帶寬要求幾乎與opusvp8的帶寬要求相同。實時音頻通常具有40-200kbit/s的比特率。視頻需要至少200 kbit/s(如果要查看人臉,則需要500 kbit/s)。

根據webrtc-experiment,opus的最小帶寬爲6kbit/s,vp8的最小帶寬爲100kbits/s。因此,總共可以達到106kbit/s,但是當您考慮webrtc協議棧的開銷和不斷變化的網絡條件時,如果想要穩定的視頻和音頻,我想200kbit/s是最小的。

Chrome和Firefox都使用opus和vp8,因此帶寬要求應該相同。雖然我沒有任何硬性數據可以證明這一點。

通過轉到chrome:// webrtc-internals並檢查所有圖表,您可以看到webrtc生成的當前流量。

+0

您是否知道webrtc-experiment是僅指Chrome還是其他瀏覽器? –

+0

opus和vp8單獨不與webrtc項目連接,因此關於這兩種技術的webrtc實驗結果應該與瀏覽器無關。我不知道其餘的結果。我猜他們是指Chrome和Firefox。在所有這兩個實現共享一些代碼後,測試看起來相當徹底。 –

1

對於兩方會議,500 kbit/s的會議質量應該足夠了(每個流,因此用戶線上的1Mbit/s負載)。我與其他答案一致。

但是,對於多方WebRTC帶寬可能會成爲瓶頸,不僅因爲參與者的互聯網帶寬,而且還由於TURN媒體中繼服務器的潛在帶寬限制,如果您使用一個 - 在沒有P2P連接的情況下由於NAT設置困難,可能是可能的。 (All the details here.

我嘗試的TURN服務器可以有多少用戶服務粗略計算杏其帶寬之前:

  • 比方說,我們有100兆的總/ s的服務器帶寬(+出),我們希望最多60 Mbit/s可用於WebRTC流量。

  • 因此,例如配置coturn TURN服務器時,我們將輸入和輸出流分別設置爲30 Mbit/s(3,750,000 Byte/s,使用bps-capacity=3750000)。

  • 輸出流將經歷更高的負載,因爲給定的Ñ參與者,將有每名參與者視頻輸入流和n-1個視頻輸出流爲TURN服務器來處理。意味着瓶頸將是30 Mbit/s組合輸出流。在最差的情況下(沒有任何STUN協商P2P連接是可能的),這個帶寬足以滿足:30Mbit/s/500kbit /(s * stream)= 60個視頻流。

  • 鑑於Ñ參與者,將有每名參與者n-1個輸出流,這意味着總共有n *(N-1)= N^2 - N個流。我們的最大。然後60個流足夠用於:n^2 -n = 60 < => n = 8.26 =〜8個參與者(calculation)。

還不確定這是多麼準確 - 我會在實踐中測試它並報告回來。