Zum Inhalt

Mumble Doku

Klassicherweise setzten wir lange auf Funkstrecken im Bereich 600 - 900 MHz, um Audioübertragungen auf Veranstaltungen zu realisieren. Die Flexibilität dieser Systeme ist eingeschränkt durch die Reichweite und Anzahl der Systeme.

Als Informatikerinnen sind wir gewohnt, dass man mit Software die Möglichkeiten oft stark erweitern kann. Daher setzen wir mittlerweile gerne auf „Software-Defined“-Lösungen, nun auch zur Funkübertragung.

Als System kommt bei uns derzeit „Mumble“ kombiniert mit Mobilfunk (4G/LTE oder 5G) zum Einsatz.

Ein Vergleich:

Klassicher Funk Mumble
Anschaffungskosten Hoch (200 - 2000 €) pro Sender / Empfänger Niedrig durch Verwendung gebrauchter Smartphones; LTE-USB-Sticks (ca 15 €)
Betriebskosten Niedrig, in der Regel nur Stromversorgung für Sender + Empfänger Hoch, erfordert Datenvolumen. Prepaid-Karten ca 3 € pro Sender / Empfänger / Tag
Flexibilität Niedrig (erfordert Geräte und freie Kanäle) Hoch, System kann leicht auf Anzahl der Empfänger skalieren
Reichweite Niedrig (mehrere hundert Meter, Gebäudeecken sind Hindernisse) Unbegrenzt, Sender und Empfänger können beliebig weit voneinander entfernt sein, Verbindung über Städte hinweg möglich
Verzögerung Niedrig, einige Millisekunden Prinzipiell hoch, lässt sich mit Aufwand reduzieren, beträgt in der Regel jedoch > 100ms
Audioqualität Hoch, nur geringfügige Verzerrungen oder ggf. Clipping Niedrig durch Kompression, für Sprache meist ausreichend, für abgespielte Musik oft akzeptabel
Setup-Aufwand Niedrig für kleine Systeme, steigt schnell mit komplexen Setups (erfordert Management der Geräte und Frequenzen) Hoch für kleine Systeme (erfordert zuerst Einrichtung der Software), Flexibilität überwiegt bei großen Systemen
Zuverlässigkeit In der Regel hoch, Gefahr durch Funkstörungen In der Regel hoch, Gefahr durch Ausfall des Mobilfunknetzes
Optimaler Einsatzzweck Übertragung von Audio auf kurzen Entfernungen Übertragung von Audio auf hohen Entfernungen oder mit mobilen Setups
Fernsteuerung Nur bei teuren Geräten möglich Einige Probleme lassen sich aus der Ferne beheben (z. B. Stummschaltung, Zuweisung Kanäle)

Wann nutzen wir Mumble?

Mumble nutzen wir dann, wenn die Reichweite klassicher Funksender an ihre Grenzen stößt, z. B. weil auf Demonstrationen Häuserecken das Signal stören. Bei mobilen Veranstaltungen können auch Funkkanäle lokal belegt sein und Störungen verursachen.

Außerdem nutzen wir Mumble, wenn wir von der Flexibilität Gebrauch machen können. Bei einem unserer ersten Einsätze haben wir (während der Corona-Pandemie) Veranstaltungen in zwei Stadtteilen miteinander verbunden. Wir realisieren mit Mumble also Sonderwünsche, die eine hohe Flexibilität erfordern.

Was wird benötigt?

  • zentraler Mumble-Server (benötigt nicht viel Leistung)
  • Endgeräte für Audioquellen (z. B. Laptop+Audiointerface+LTE-Stick oder Smartphone mit Adapter)
  • Endgeräte zum Empfang (z. B. Smartphone)
  • SIM-Karten mit Datenvolumen, 75MB / Stunde dürfte ausreichen

Server-Einrichtung

Wir haben auf einem virtuellen Server einen Mumble-Server installiert. Dabei ist eine veränderte Einstellung in /etc/mumble-server.ini die Bandbreite:

bandwidth=135000

Dies erlaubt ein Senden mit 96kbit/s und 10ms Paketgröße = 134.4kbit/s.

Es ist auch möglich, öffentliche Mumble-Server zu nutzen. Ihr könnt uns anfragen und dann eventbikezero.de nutzen (ist nicht immer online), oder beispielsweise Mumble von Anoxinon oder auch Systemli.

Bei einem eigenen Server sollte man sich das Admin-Passwort (landet beim ersten Start in der Logdatei) merken. Andernfalls empfiehlt es sich, einen eigenen Kanal einzurichten, und dort die Berechtigungen entsprechend zu setzen.

Wir haben bei uns eine neue Gruppe erstellt und einen Kanal. In diesem Kanal haben wir der Gruppe "@all" die Berechtigung entzogen, zu sprechen, sodass Teilnehmerinnen nicht versehentlich die Übertragung stören können. Die neue Gruppe hat die Berechtigung, zu sprechen und Teilnehmerinnen freizuschalten. Mit dieser Methode können auch vorübergehend Geräte freigeschaltet werden, die nicht in der anderen Gruppe sind.

Konkret wird also unter "ACL" ein neuer Eintrag für "@all" erstellt, wo sprechen verboten wird. Dann wird für die Gruppe "@source" dort ein Entrag erstellt, welcher Sprechen und Freischalten erlaubt. Letztlich werden Geräte der Gruppe "source" zugewiesen.

Überlegungen zur Verbindung

Kurz gesagt, gibt es zwei Möglichkeiten mit Verbindungsproblemen umzugehen. Die eine Möglichkeit bedeutet, dass das Signal kurz unterbrochen wird. Es kommt zu kleinen Aussetzern. Das entspricht in etwa dem Verhalten klassicher Funksysteme. Hat man jedoch eine instabile Verbindung, ist aufgrund der vielen Aussetzer kaum etwas zu verstehen.

Die Alternative ist, bei Störungen zu "warten", bis das Signal übertragen wurde. Das entspricht dem Verhalten z. B. von Videoplayern auf Webseiten, die eine Ladeanimation zeigen und dann weiter abspielen. Jedoch baut sich dadurch eine immer größer werdende Verzögerung auf.

Beispiel 1: Das Signal ist für einige Sekunden schlecht. Entweder kommt es für drei Sekunden zum Aussetzer und geht danach weiter (nach dem Verlust), oder die Übertragung wird für drei Sekunden angehalten und setzt dann fort ohne Verlust fort, ist jetzt aber drei Sekunden verzögert.

Beispiel 2: Das Signal ist immer mal wieder schlecht, im Durchschnitt reicht die Bandbreite jedoch aus. Entweder kommt es regelmäßig zu kurzen Aussetzern mit Verlust. Oder es baut sich eine kurze Verzögerung (z. B. 300ms) auf, in dieser Zeit werden jedoch die Lücken geladen und das Signal fehlerfrei übertragen.

Beide Möglichkeiten haben Vor- und Nachteile, die man abwägen sollte. Beispielsweise spielt die Verzögerung kaum eine Rolle, wenn die Lautsprecher weit auseinander stehen oder sogar räumlich ganz getrennt sind.

Technisch gesehen entspricht die Variante mit Verlust (aber geringer Latenz) dem UDP-Protokoll, und ist der Standard in Mumble. Möchte man bei Aussetzern keinen Verlust, kann man auf das TCP-Protokoll wechseln.

Je nach Protokoll empfehlen wir folgende Einstellungen:

Geringe Verzögerung:

  • Übertragung: UDP (Standard)
  • Audio pro Paket: 10ms (am Sender umstellen)

Gute Qualität:

  • Übertragung: TCP (am Sender umstellen)
  • Audio pro Paket: 60ms (am Sender umstellen)

Mögliche Setups in der Praxis

Gute Qualität (Sender):

  • Laptop
  • Mobilfunk via LTE-USB-Stick (oder USB-Tethering, WLAN-Hotspot von uns nicht empfohlen)
  • Audio-Interface
  • Mumble Desktop-Software (bietet mehr Einstellungen als die Smartphone-App)

Smartphone-Empfänger:

  • Mumla-App
  • Mobilfunk via eingebautem Modem
  • Ausgabe über kl.-Klinke (Kopfhörerausgang)

Smartphone-Sender:

  • Mumla-App und Mobilfunk, siehe Empfänger
  • 3-Tip kl. Klinke-Kabel (z. B. für Videoanwendungen), bietet direkten Zugang auf den Mikrofonport vom Kopfhörereingang
  • alternativ USB-C Audiointerface o. ä. (noch nicht getestet)
  • Achtung: Smartphones sind etwas empfindlicher bzgl. des Eingangspegels (schnelles Clipping)

Mobilfunk, wie?

  • LTE-USB-Sticks
  • Mobile WLAN-Router (oft als Ersatz zu DSL vermarktet)
  • Prepaid-SIM-Karten (z. B. 750MB / 4 Wochen für 3 € bei LIDL Connect (Vodafone-Netz))
  • bestehende Smartphones inkl. Datentarif nutzen

Ausblick

Möglicherweise werden wir in Zukunft noch andere Streamingtechnologien ausprobieren, welche ggf. bessere Qualität und reduzierte Latenz mit sich bringen.

Weitere Resourcen

Zurück zum Seitenanfang