WebRTC-Bandbreitenanforderungen

9

Weiß jemand, was WebRTC-Bandbreiten-Mindestanforderungen sind? Ich interessiere mich für die Werte mit oder ohne Video und für verschiedene Videoauflösungen. Ich bin besonders interessiert an einer Zwei-Parteien-Konferenz, aber wenn Sie die Werte pro Partei kennen, ist es auch gut.

Wenn du aktuelle Metriken hast ist schön, aber auch wenn du weißt wie ich das theoretisch berechnen kann ist das auch gut.

Auch unterschiedliche Browser haben unterschiedliche Bandbreitenanforderungen?

    
Adrian Ber 24.04.2015, 18:12
quelle

2 Antworten

15

Die Bandbreitenanforderungen sind fast identisch mit der Bandbreitenanforderung für opus und vp8 . Echtzeit-Audio hat typischerweise eine Bitrate von 40-200kbit / s. Video erfordert mindestens 200 kbit / s (500 kbit / s, wenn Sie die Gesichter von Personen sehen wollen).

Laut webrtc-experiment beträgt die minimale Bandbreite für Opus 6kbit / s und für vp8 100kbits / s. Insgesamt sind das also 106kbit / s, aber wenn man den Overhead des webrtc-Protokollstapels und die sich ständig ändernden Netzwerkbedingungen berücksichtigt, würde ich annehmen, dass 200kbit / s das Minimum ist, wenn man stabile Video- und Audiodaten haben möchte.

Chrome und Firefox verwenden beide opus und vp8, so dass die Bandbreitenanforderungen gleich sein sollten. Obwohl ich keine harten Daten habe, um das zu beweisen.

Sie können den aktuellen von webrtc generierten Datenverkehr sehen, indem Sie zu chrome: // webrtc-internals gehen und alle Diagramme überprüfen.

    
Svetlin Mladenov 25.04.2015, 10:30
quelle
1

Bei Zwei-Parteien-Konferenzen sollten 500 kbit / s für gute Konferenzqualität ausreichen (pro Stream, also 1 Mbit / s in der Leitung eines Benutzers). Ich stimme mit der anderen Antwort überein.

Bei Multi-Party-WebRTC kann die Bandbreite jedoch nicht nur wegen der Internetbandbreite der Teilnehmer, sondern auch aufgrund der potenziellen Bandbreitenbeschränkungen eines TURN-Media-Relaying-Servers eingeschränkt werden, wenn Sie einen verwenden - der dort benötigt wird, wo keine P2P-Verbindungen sind aufgrund schwieriger NAT-Setups möglich. ( Alle Details hier. )

Ich habe versucht, grob zu berechnen, wie viele Benutzer ein TURN-Server bedienen kann, bevor er seine Bandbreite ausfüllt:

  • Sagen wir, wir haben insgesamt 100 Mbit / s Server-Bandbreite (in + out), und wir wollen höchstens 60 Mbit / s für den WebRTC-Verkehr nutzbar machen.

  • Wenn Sie zum Beispiel den Server coturn TURN konfigurieren, würden wir den Eingangs- und Ausgangsstrom jeweils auf 30 Mbit setzen / s (3.750.000 Byte / s, mit bps-capacity=3750000 ).

  • Der Ausgabestream wird die höhere Auslastung erfahren, da n -Teilnehmer 1 Videoeingangsstrom und n-1 Video-Ausgabe-Streams pro Teilnehmer für den TURN-Server. Der Flaschenhals ist der kombinierte Output-Stream mit 30 Mbit / s.

  • Im ungünstigsten Fall (wo keine STUN ausgehandelten P2P-Verbindungen überhaupt möglich sind) reicht diese Bandbreite für: 30 Mbit / s / 500 kbit / (s * stream) = 60 Videostreams.

  • Bei gegebenen n Teilnehmern gibt es n-1 Ausgabeströme pro Teilnehmer, was bedeutet, dass insgesamt n * (n-1) = n ^ ist 2 - n Streams. Unsere max. 60 Streams sind dann genug für: n ^ 2 - n = 60 & lt; = & gt; n = 8,26 = ~ 8 Teilnehmer ( Berechnung ).

Noch nicht sicher, wie genau das ist - ich werde es in der Praxis testen und darüber berichten.

    
tanius 03.07.2017 19:21
quelle

Tags und Links