Bereits Kunde? Jetzt einloggen.
Lesezeit ca. 7 Min.

Videokonferenzen mit Jitsi Meet (Teil 1): Versammlungsfreiheit


Linux Magazin - epaper ⋅ Ausgabe 7/2020 vom 04.06.2020

Wer bei Videokonferenzen die Qualität und den Datenschutz nicht an externe Unternehmen auslagern möchte, installiert Jitsi Meet auf den eigenen Servern.


Artikelbild für den Artikel "Videokonferenzen mit Jitsi Meet (Teil 1): Versammlungsfreiheit" aus der Ausgabe 7/2020 von Linux Magazin. Dieses epaper sofort kaufen oder online lesen mit der Zeitschriften-Flatrate United Kiosk NEWS.

Bildquelle: Linux Magazin, Ausgabe 7/2020

© Andriy Popov,123RF

Verzweifelte Administratoren griffen zu Beginn der Corona-Krise nach jedem Strohhalm, um möglichst schnell Videokonferenzen für die Mitarbeiter auf die Beine zu stellen. Den bekannten Ausspruch “Wenn etwas umsonst ist, bist du das Produkt” missachtend, griffen die Admins republikweit mit Vorliebe zu proprietärer Software. Doch inzwischen kristallisieren sich die Risiken und Nebenwirkungen der gewählten Lösungen in Form von ...

Weiterlesen
epaper-Einzelheft 5,99€
NEWS 14 Tage gratis testen
Bereits gekauft?Anmelden & Lesen
Leseprobe: Abdruck mit freundlicher Genehmigung von Linux Magazin. Alle Rechte vorbehalten.

Mehr aus dieser Ausgabe

Titelbild der Ausgabe 7/2020 von News. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
News
Titelbild der Ausgabe 7/2020 von Zahlen & Trends. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Zahlen & Trends
Titelbild der Ausgabe 7/2020 von Wie Graph-Datenbanken funktionieren und was sie leisten: Beziehungsfragen. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Wie Graph-Datenbanken funktionieren und was sie leisten: Beziehungsfragen
Titelbild der Ausgabe 7/2020 von Graph-Datenbank Neo4j enttarnt gefälschte Bewertungen auf Amazon: Digitale Detektei. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Graph-Datenbank Neo4j enttarnt gefälschte Bewertungen auf Amazon: Digitale Detektei
Titelbild der Ausgabe 7/2020 von Einfüheung: In eigener Sache: DELUG-DVD: Fedora 32 und mehr. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Einfüheung: In eigener Sache: DELUG-DVD: Fedora 32 und mehr
Titelbild der Ausgabe 7/2020 von RHEL 8.2: Red Hat Enterprise Linux 8.2 mit umfassenden Neuerungen in allen Bereichen: Auf ins nächste Level. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
RHEL 8.2: Red Hat Enterprise Linux 8.2 mit umfassenden Neuerungen in allen Bereichen: Auf ins nächste Level
Vorheriger Artikel
Angriff auf Antivirensoftware: Umgeleitet
aus dieser Ausgabe
Nächster Artikel Magische Abkürzungen ersparen mühselige Tipperei: Komma…
aus dieser Ausgabe

... Sicherheits- und Performance- Einbußen heraus .

So machte beispielsweise Zoom, eine beliebte Videochat-Lösung für Gruppen, durch Hackerangriffe und Datenschutzverletzungen von sich reden. Die angepriesene Ende-zu-Ende-Verschlüsselung erwies sich in der Praxis als nicht existent •. Zwar verwies das Unternehmen auf die Zusicherungen Dritter, kein Schindluder mit den gesammelten Daten zu treiben. Dennoch sah sich die Firma am Ende genötigt, die Datenschutzregeln zu überarbeiten und die Videoräume besser zu schützen …

Auch bei anderen kommerziellen Anbietern wie Hangouts, Houseparty, Meet oder Skype war nicht alles Gold, was glänzte. Der anhaltende Home-Office- Trend verursacht nicht selten Einbrüche in der Video-Performance. Workarounds dafür erweisen sich jedoch als schwierig, denn die Server zur Software kontrollieren die Anbieter.

Quelloffene Alternative Jitsi Meet

Die Videochat-Software Jitsi Meet • zeigt, dass es auch anders geht. Sie wurde ursprünglich von der Firma BlueJimp in einem Team von 8 bis 10 Personen entwickelt. 2015 erwarb Atlassian (bekannt für Jira und Confluence) die Software und änderte die Lizenz von der LGPL auf Apache. Das Unternehmen interessierte sich vor allem für die Jitsi Videobridge (JVB), um sie als Feature in das hauseigene Hipchat zu integrieren und so Videochats für Gruppen einzuführen. 2018 trennte sich Atlassian jedoch vom Enterprise-Chat und verkaufte Jitsi dabei an 8X8, einen Videokonferenz-Anbieter •.

Die Open-Source-Software ist nach wie vor frei erhältlich und ermöglicht aktuell über WebRTC Videokonferenzen mit bis zu 35 Teilnehmern. Kaskadierende Bridges, Octo • und die Videobridge 2 sollen die Teilnehmerzahl noch erweitern. Neben den Chrome-basierten Browsern, Safari und Firefox unterstützen auch Apps für iOS- und Android-Geräte Jitsi Meet, das damit plattformübergreifend funktioniert.

1 In der Basisvariante braucht Jitsi Meet den Server Nginx, den XMPP-Server Prosody, die Serverkomponente Jicofo sowie eine oder mehrere Instanzen der Jitsi Videobridge.


© Jitsi-Meet-Dokumentation

Dynamisch erzeugte Chat- Räume

Jitsi Meet arbeitet auf Basis von Chat-Räumen, die die Anwender dynamisch erzeugen. Läuft der Jitsi-Server unter https://jitsi.lm‑online.de, öffnet ein Anwender einen Chat-Raum, indem er die URLhttps://jitsi.lm‑online.de/LinuxMagazin aufruft. Er generiert so den Raum LinuxMagazin und lädt dann einfach die anderen Teilnehmer per URL ein.

Standardmäßig darf jeder Nutzer eines Jitsi-Servers beliebige Räume öffnen. Der Betreiber des Servers kann aber auch nur authentifizierten Anwendern erlauben, neue Räume anzulegen …Dann fragt Jitsi Meet beim ersten Aufruf von https://jitsi.lm‑online.de/LinuxMagazin nach einem Passwort. Nur wer es kennt, darf den Raum erzeugen.

Anwender, die einen Raum zuerst betreten, erhalten automatisch Moderatorenrechte. Sie dürfen dann zum Beispiel ein Passwort für den Raum setzen oder alle anderen Teilnehmer stummschalten, um etwa einen Vortrag zu halten. Verlässt der letzte Teilnehmer einen Chat-Raum, verschwindet dieser mit ihm.

Vielfältige Möglichkeiten für die Nutzer

Die Nutzer einer Videokonferenz dürfen in Jitsi Meet ihren Desktop mit anderen Anwendern teilen, Handzeichen geben (etwa bei Abstimmungen) und mit den Teilnehmern per Text-Chat kommunizieren. Externe Teilnehmer lassen sich über das SIP-Protokoll zuschalten, was serverseitig eine Installation von Jigasi • erfordert. Die Erweiterung erlaubt nicht nur ein- und ausgehende Telefonate, sondern auch Transkriptionen von Konferenzen, wofür sie aktuell das Speech-to-Text-API der Google Cloud verwendet.

Nutzer dürfen ihre Konferenz zudem an einen Youtube-Channel weiterleiten. Auf diese Weise können sie mehr externe Zuschauer zu einer Konferenz einladen, ohne die eigene Bandbreite zu belasten. Serverseitige Aufnahmen von Konferenzen sind ebenso möglich wie die Integration in den proprietären Instant Messenger Slack.

Jitsi-Videobridge als Herzstück

Das Herzstück von Jitsi ist dabei die bereits erwähnte Videobridge •. Sie läuft auf dem Server und verknüpft die Videokonferenz- Streams der Teilnehmer miteinander. Jitsi verwendet dazu eine Selective Forwarding Unit (SFU), einen bestimmten Typ von MCU (Multipoint Control Unit).

Grob vereinfacht gibt es drei Möglichkeiten, mehrere Videoteilnehmer zu verschalten. Bei einem Peer-to-Peer-basierten Mesh-Netzwerk redet potenziell jeder Client mit jedem anderem, was sehr schnell eine große Anzahl an Verbindungen nötig macht, aber keine MCU erfordert. Wer weniger Verbindungen bevorzugt, muss eine MCU einsetzen, die als Zentrum fungiert, um das sich die Clients quasi sternförmig gruppieren.

Es gibt verschiedene Sorten von MCUs: Die erste, oft auch einfach nur als MCU oder Mixing bezeichnet, kombiniert alle eingehenden Streams und errechnet daraus einen neuen Stream, der sämtliche Teilnehmer zeigt.

Jitsi nutzt hingegen eine Selective Forwarding Unit als MCU. Die leitet lediglich die eingehenden Streams an alle anderen Teilnehmer weiter. Konferieren also die drei Teilnehmer A, B und C, schickt A seinen Stream an die SFU, die ihn an B und C weiterleitet. Umgekehrt empfängt A die Streams von B und C als eingehende Verbindungen.

Beide MCU-Varianten haben spezifische Vor- und Nachteile. Weil die Mixing- Variante die Streams selbstständig kombiniert, entsteht eine recht hohe Server-Last, was die Videokonferenzen verteuert. Zugleich braucht das Zusammensetzen der Streams Zeit, was im Livestream mitunter für Verzögerungen sorgt. Allerdings müssen die Teilnehmer der Videokonferenz nur einen Stream (den eigenen) hochladen und einen zweiten (den kombinierten) herunterladen.

Bei Jitsi dekodieren hingegen die Nutzer die eingehenden Videostreams der anderen Nutzer auf ihren Rechnern und Mobilgeräten. Dabei empfangen sie mehrere eingehende Streams, was eine höhere Bandbreite erfordert. Dafür bestimmen die Clients darüber, wie sie die eingehenden Streams in der grafischen Oberfläche anordnen. Es ist auch möglich, Streams in abgestuften Auflösungen zu senden und zu empfangen, was Bandbreite einspart.

Dafür werkelt die Videobridge relativ entspannt vor sich hin, weil sie nur die Header der RTP-Pakete verändert, die Payload aber nicht anrührt. Jitsi Meet läuft dank der SFU also auch auf schwächeren Maschinen.

Modulare Lösung mit vielen Komponenten

Jitsi Meet benötigt neben einem Webserver wie Nginx oder Apache weitere Komponenten, um verschiedene Dienste abzudecken. Nicht alle davon sind zwingend erforderlich: Die Architekturskizze aus dem Github-Repository in Abbildung 1 zeigt die Jitsi-Basisinstallation. Der folgende Teil stellt einige Komponenten kurz vor.

Die in Javascript geschriebene WebRTC- Anwendung Jitsi Meet bindet als Basiskomponente alle weiter unten erwähnten Komponenten ein. Sie setzt unter anderem ein installiertes Node.js voraus. Wer Jitsi Meet optisch anpassen möchte, sollte es selbst aus dem Quellcode übersetzen.

Bei der Jitsi Videobridge 2 handelt es sich um das (skalierbare) Herzstück von Jitsi Meet, die oben erwähnte Selective Forwarding Unit (SFU). Die erste Version der XMPP-basierten Serverkomponente ging noch auf den Jitsi-Desktop-Client zurück und war technisch nicht mehr auf dem neuesten Stand. Die überarbeitete zweite Version erlaubt nun mehr Teilnehmer.

Der in LUA geschriebene plattformübergreifende Server Prosody • zählt neben der Jitsi Videobridge zu den Hauptkomponenten von Jitsi Meet. Die Server-Entwicklung findet jedoch in einem eigenständigen Projekt statt. Prosody verwendet das Protokoll XMPP •, das es vielen Teilnehmern erlaubt, in Echtzeit miteinander zu kommunizieren. Die Software bringt eine ganze Reihe eingebauter Komponenten mit, darunter MUC (Multi-User Conference), um Konferenzräume zu betreiben.

Jicofo steht für Jitsi Conference Focus •. Es handelt sich um eine notwendige Server-Komponente, die JVB2 ergänzt und die Media Sessions zwischen den Teilnehmern und der JVB koordiniert. Betritt ein Nutzer einen Raum, erzeugt das eine neue Focus-Instanz, und Jicofo generiert eine sogenannte Jingle-Session zwischen Teilnehmer und JVB. Um die Benutzerrollen zu verwalten, benötigt Jicofo Root-Rechte.

Die optionale TURN- und STUN-Server-Komponente Coturn . installiert Jitsi Meet zumindest auf Debian 10 automatisch mit. Sie leitet den Traffic auch zwischen Jitsi-Teilnehmern weiter, die hinter einem NAT-Gateway sitzen und nur private IP-Adressen verwenden. Auch Server kommunizieren auf diese Weise aus einem privaten Netzwerk heraus mit externen Teilnehmern. Jitsi Meet verwendet für die Verbindungen das Ice4j-Protokoll •, an dem die Entwickler unter dem Dach des Projekts arbeiten. Nicht zuletzt stellt Coturn direkte und verschlüsselte P2P-Verbindungen zwischen zwei Teilnehmern her.

Jigasi erweitert Jitsi Meet um ein SIPGateway. Die Software meldet sich als SIP-Client an, über den die Anrufer Calls aus dem Chat-Raum heraus starten oder dort annehmen. Dabei ist Jigasi selbst kein SIP-Server, sondern verbindet lediglich existierende SIP-Server und Back-2- Back User Agents (B2BUAs) mit Jitsi Meet. Zudem erlaubt Jigasi Speech-to- Text- Transkriptionen.

Über Jibri, die Jitsi Broadcasting Infrastructure •, lassen sich Videokonferenzen aufnehmen und streamen. Dazu startet Jibri eine Chrome-Instanz, die das AV-Signal in einen Framebuffer rendert und dann mit Ffmpeg konvertiert. Das setzt ein Ffmpeg mit X11-Capture-Möglichkeit voraus. Jibri soll man auf einer separaten Maschine oder in einer VM betreiben, auf der keine anderen Anwendungen laufen, die das Display oder die Audioausgabe benötigen.

Es gibt noch weitere Komponenten; eine recht umfangreiche Sammlung liefert Githubs Jitsi-Repository …Nicht alle der Komponenten sind noch aktuell, vor dem Einsatz empfiehlt sich daher eine kurze Suche im Community-Forum.

E2E-Verschlüsselung nur für Zweier-Konferenzen

Eine Ende-zu-Ende-Verschlüsselung für zwei Nutzer einer Videokonferenz ist über den sogenannten P2P-Modus möglich, wenn also zwei Nutzer eine direkte P2P-Verbindung herstellen. Dabei verwendet Jitsi, wie von WebRTC vorgesehen, SRTP-DTLS •

Eine E2E-Verschlüsselung für Gruppenkonferenzen bietet Jitsi Meet bislang nicht an, doch die Entwickler arbeiten daran •. Schuld ist die SFU, die eingehende Streams entschlüsseln und wieder verschlüsseln muss. Wer allerdings die SFU auf On-Premise-Servern laufen lässt, kontrolliert damit auch diese unsichere Passage und erhält so eine Art Ende-zu-Ende- Verschlüsselung.

Für die Medieninhalte verwendet Jitsi Meet die WebRTC-Verschlüsselung, die Transportverschlüsselung (HTTPS) sichert das Signaling und die Kommunikation zwischen Server und Client ab …Praktischerweise hat Jitsi Meet gleich ein Let’s- Encrypt-Skript an Bord, das der Admin nach der Installation einfach ausführt, um Jitsi mit HTTPS abzusichern.

Fazit: Sichere Alternative für begrenzte Ressourcen

Wer über einen eigenen Server mit begrenzten Kapazitäten verfügt, dem bietet Jitsi eine Alternative zu konventionellen Videokonferenz-Lösungen. Die SFU sorgt dafür, dass die Hauptlast der Kommunikation bei den Clients liegt. Zugleich lässt sich auf dem eigenen Server der Datenschutz besser gewährleisten.

Jitsi Meet funktionierte in Tests plattformübergreifend mit verschiedenen Webbrowsern und Mobilgeräten, Grenzen setzen eher die Internet-Anbindungen der Teilnehmer. Performance-Tuning verhilft in diesem Fall zu besseren Übertragungen auch mit mehreren Teilnehmern. Ein Artikel in der nächsten Ausgabe widmet sich der Installation und den Optimierungsmöglichkeiten.

Weitere Infos und interessante Links

www.lm-online.de/qr/44925