web-dev-qa-db-ja.com

WebRTC帯域幅の要件

WebRTC帯域幅の最小要件は何か知っていますか?ビデオあり、ビデオなし、およびさまざまなビデオ解像度の値に興味があります。私は特に2者会議に興味がありますが、当事者ごとの価値を知っていればそれも良いです。

あなたが実際のメトリックを持っている場合はいいですが、理論的にこれを計算する方法を知っている場合もこれは良いです。

また、ブラウザごとに異なる帯域幅要件がありますか?

15
Adrian Ber

帯域幅の要件は、 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によって生成された現在のトラフィックを確認できます。

19

2者間会議の場合、会議品質を高めるには500 kbit/sで十分です(ストリームごとに、ユーザーの回線で1 Mbit/sの負荷)。私はそれについて他の答えと一致しています。

ただし、マルチパーティWebRTC帯域幅は、参加者のインターネット帯域幅だけでなく、使用する場合はTURNメディア中継サーバーの潜在的な帯域幅制限が原因でボトルネックになる可能性があります。 NAT設定。( ここにすべての詳細があります。

TURNサーバーが帯域幅を使い果たす前にサービスを提供できるユーザー数の概算を試してみました。

  • 合計で100 Mbit/sのサーバー帯域幅(in + out)があり、WebRTCトラフィックで最大60 Mbit/sを使用したいとします。

  • したがって、たとえば coturn TURNサーバーを構成する場合、入力ストリームと出力ストリームをそれぞれ30メガビット/秒(bps-capacity=3750000を使用して3,750,000バイト/秒)に設定します。

  • nの参加者が与えられると、1ビデオ入力ストリームとn-1TURNサーバーが処理する参加者ごとのビデオ出力ストリーム。ボトルネックが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の参加者( 計算 )。

ただし、これがどれほど正確かはまだわかりません。

9
tanius