Inhaltsverzeichnis

Bandbreitenanforderungen von Mumble und Mumble-Server

Es gibt im Mumble-Forum einen Eintrag zum Trafficverbrauch eines größeren Server-Anbieters (800 Benutzer gleichzeitig), siehe hier.
Unter http://mumble.hlds.pl/?m=graphs gibt es Statistiken eines anderen größeren Mumble-Servers mit ca. 300 gleichzeitigen Benutzern pro Tag.

Allgemeines

In Mumble gibt nicht der Kanal die Sendequalität vor sondern jeder Client selbst. Pro Server lässt sich über die Variable bandwidth die maximal verfügbare Bandbreite pro Client einstellen, mit der dieser sendern darf. Erlaubt der Server weniger Bandbreite als der Client eingestellt hat, so stellt der Client automatisch auf eine entsprechende Qualität um, solange er auf dem Server ist.

Minimal benötigte Bandbreite für einen Benutzer

Der Benutzer muss auf jeden Fall einen Up- und Downstream von je 15,8 kbits/s haben; falls es weniger ist, gehen Pakete verloren.

Quelle: Low-Bandwidth-Bot.

Maximal mögliche Bandbreite eines Benutzers

Die maximal mögliche Bandbreite eines Benutzers beträgt 134,4 kbit/s.

Wenn man übrigens Mumble auf TCP-Modus umstellt, geht die maximal mögliche Bandbreite auf bis zu 144,0 kiB/s hoch; aber das ist eh nur für Ausnahmefälle wie z. B. Proxies gültig, deshalb wird es hier nicht weiter beachtet.

Diese ergibt sich bei folgenden Einstellungen:

Dazu kommt noch der Protokolloverhead von 28.8 kbit/s.

Formeln zur Berechnung der Gesamtbandbreite auf einem Mumble-Server

Variante 1 (von Jens)

"Gesamtbandbreite in kbits/s" = quality * usercount^2

Variante 2 (aufgesplittet)

Eingabe:

incoming = quality * usercount

Ausgabe:

outgoing = (quality * (usercount-1)) * usercount

Deshalb -1, weil ja von den x eingaben, immer eins weniger weitergeschickt werden soll, da man sich nicht selbst hört.

Summe:

"Gesamtbandbreite in kbits/s" = incoming + outgoing

Rechenbeispiele

Man sollte bei den ersten beiden Beispielen bedenken, dass sie künstlich sind; es ist kaum wahrscheinlich, dass auf einem Server alle im selben Kanal sind und alle gleichzeitig sprechen. Es geht nur darum die maximal mögliche Bandbreitennutzung auf einem Mumble-Server zu berechnen.

Beispiel 1

16 Nutzer in einem Kanal, alle sprechen gleichzeitig; pro Benutzer eine Bandbreite von 128kbits/s (Audioqualität=96kiB/s, positionsabhängiges Audio, minimale Latenz (Audio pro Paket auf 10ms), + Protokolloverhead)

Rechenweg:

-> quality = 128
quality = 128
-> usercount = 16
usercount = 16
-> incoming = quality * usercount
incoming = 2048
-> outgoing = (quality * (usercount-1)) * usercount
outgoing = 30720
-> sum = incoming + outgoing
sum = 32768
-> sum/8
 = 4096
-> 

Ergibt 4096kbits/s oder 512KiB/s.

Beispiel 2

16 Nutzer in einem Kanal, alle sprechen gleichzeitig; pro Benutzer eine Bandbreite von 64,8kiB/s (Audioqualität=50,0kiB/s, KEIN positionsabhängiges Audio, normale Latenz (Audio pro Paket auf 20ms), + Protokolloverhead)

Rechenweg:

-> quality = 64.8
quality = 64.8
-> incoming = quality * usercount
incoming = 1036.8
-> outgoing = (quality * (usercount-1)) * usercount
outgoing = 15552
-> sum = incoming + outgoing
sum = 16588.8
-> sum/8
 = 2073.6
-> a/1024
 = 2.025
-> 

Ergibt: 2073,6kiB oder 2,025MiB.

Beispiel 3

Etwas realitätsnaher…

30 Benutzer auf dem Server:

  1. 1 Musikbot, Qualität, Latenz, gesamt bla, keine Zuhörer
  2. 4 Leute in Kanal A, es redet immer nur einer
  3. 6 Leute Kanal, es reden immer 3 leute
  4. 3 Leute Kanal, es redet 1
  5. 2 Leute Kanal, es redet 1
  6. 4 Leute Kanal, es redet immer nur einer
  7. 3 Leute Kanal, es redet immer nur einer
  8. 7 Leute AFK, also egal :P

Falls jemand dieses Beispiel fertig machen möchte oder weitere hat, bitte melden :)