Videotelefonie unter OpenSuse

Aus LinuxUser 03/2021

Videotelefonie unter OpenSuse

© inueng, 123RF

Fernsehbild

Videotelefonie ist für viele momentan die einzige Möglichkeit, sich zu sehen. Diese OpenSuse-Tipps stellen vier Programme vor, mit denen Videoanrufe ohne großen Aufwand gelingen.

Mit der Corona-Pandemie hat die Videotelefonie enormen Zuwachs erhalten. Als neuer Marktführer für Videokonferenzen kristallisierte sich in den letzten Monaten der kommerzielle Anbieter Zoom [1] heraus (Abbildung 1). OpenSuse-Anwender sind keineswegs auf diesen datenschutzrechtlich fragwürdigen amerikanischen Anbieter [2] angewiesen. Doch da auch Linux-Fans Einladungslinks zu Zoom-Meetings zugeschickt bekommen, soll die technisch gut gemachte Software trotzdem zur Sprache kommen.

Das Zoom-Angebot richtet sich vor allem an Unternehmen, denen Videokonferenzen Geld wert sind: Nur Meetings mit zwei Teilnehmern oder einer Dauer von unter 40 Minuten bleiben kostenlos. Durch seinen Linux-Support fällt das Unternehmen immerhin positiv auf: Für die Installation unter OpenSuse und vielen weiteren Distributionen gibt es Pakete samt Installationsanleitungen [3].

Abbildung 1: Technisch gesehen fällt die kommerzielle Videokonferenz-Software Zoom solide und handlich aus.

Abbildung 1: Technisch gesehen fällt die kommerzielle Videokonferenz-Software Zoom solide und handlich aus.

Der Zoom-Client findet problemlos eine über die Linux-spezifische V4l2-Schnittstelle angebundene Webcam, auch der Audioanschluss per Pulseaudio funktioniert so stabil wie das restliche Programm. Auf Konferenzen oder den Fernunterricht ausgerichtete Funktionen wie Umfragen oder Gruppenräume stören bei einer simplen Unterhaltung nicht, die zugehörigen Buttons erscheinen erst bei Kontakt mit dem Mauszeiger. Die Möglichkeit zum Teilen des Bildschirminhalts – wahlweise das ganze Display oder nur einzelne Programmfenster – taugt zum Übertragen von Bildern oder Videos und hilft dabei, die Bedienung eines Programms zu erklären.

Ein kleiner Trick sorgt dafür, dass der Zoom-Client sowohl das Mikrofonsignal als auch die Ausgabe der auf dem Computer laufenden Programme überträgt: Aktivieren Sie in den PulseAudio-Einstellungen im Reiter Simultane Ausgabe das Kontrollkästchen Virtuelles Ausgabegerät zur simultanen Wiedergabe auf allen Soundkarten zur Verfügung stellen. In den KDE-Systemeinstellungen in der Rubrik Audio oder im PulseAudio-Lautstärkeregler wählen Sie dann Simultaneous output to <Name_der_Soundkarte> für die Anwendung, deren Tonausgabe Sie übertragen möchten (Abbildung 2).

Abbildung 2: Programme, die ihren Ton in den unter Linux leicht zu aktivierenden virtuellen Mixerkanal ausgeben, sind in Videokonferenzprogrammen zusammen mit dem Mikrofon zu h&ouml;ren.

Abbildung 2: Programme, die ihren Ton in den unter Linux leicht zu aktivierenden virtuellen Mixerkanal ausgeben, sind in Videokonferenzprogrammen zusammen mit dem Mikrofon zu hören.

Freiheit im Browser

Eine freie Zoom-Alternative mit grundsätzlich vergleichbarem Funktionsumfang bietet das Browser-basierte Open-Source-Programm Jitsi Meet [4]. Einige Jitsi-Installationen sind öffentlich zugänglich, zum Beispiel der Server der Jitsi-Entwickler selbst und einer der LinuxUser-Partnerseite Golem [5]. Auf der Anwenderseite genügt ein aktueller Webbrowser, egal, ob Chrome, Chromium oder Firefox (Abbildung 3). Die Installation weiterer Software ist nicht nötig.

Abbildung 3: F&uuml;r kleinere Meetings ist die freie Browser-basierte Anwendung Jitsi Meet gut geeignet. Die Kommunikationspartner m&uuml;ssen keine zus&auml;tzliche Software installieren, sondern lediglich eine URL im Browser aufrufen.

Abbildung 3: Für kleinere Meetings ist die freie Browser-basierte Anwendung Jitsi Meet gut geeignet. Die Kommunikationspartner müssen keine zusätzliche Software installieren, sondern lediglich eine URL im Browser aufrufen.

Allerdings stellt ein intensiv genutzter Jitsi-Server hohe Anforderungen an die Netzwerkbandbreite. Wer sich nicht auf die kostenlos bereitgestellten öffentlichen Instanzen verlassen will, der setzt nach der Anleitung des Jitsi-Handbuchs mit relativ wenig Aufwand einen eigenen Server in einem Docker-Container auf dem heimischen PC auf [6].

Alle docker-compose-Befehle müssen Sie dabei als Root ausführen. Vor dem im Jitsi-Handbuch beschriebenen Setup installieren Sie auf dem OpenSuse-System noch das Paket python3-docker-compose und aktivieren den Docker-Dienst: Mit sudo systemctl start docker starten Sie ihn, mit sudo systemctl enable docker merken Sie ihn zum automatischen Neustart nach einem Reboot vor.

Der Dienst lässt sich ohne Anpassungen an der OpenSuse-Firewall öffentlich bereitstellen. Der Docker-Container erzeugt sein eigenes Netzwerkgerät. Hängt Ihr OpenSuse-Rechner hinter einem Internet-Router, müssen Sie dort allerdings den Zugang auf die Ports 8443/TCP, 4443/TCP sowie 10000/UDP freigeben, wenn Sie den in der ausgelieferten Konfiguration gewählten Port 8443 für die HTTPS-Verbindung beibehalten haben (Abbildung 4).

Abbildung 4: Vier freigegebene Ports in der Firewall, hier jeweils f&uuml;r IPv4 und IPv6, machen Jitsi Meet aus dem Internet erreichbar.

Abbildung 4: Vier freigegebene Ports in der Firewall, hier jeweils für IPv4 und IPv6, machen Jitsi Meet aus dem Internet erreichbar.

Ein von allen Teilnehmern beschreibbares Whiteboard fehlt Jitsi Meet, eine Chat-Funktion gibt es jedoch. Live-Screenshots lokaler Anwendungen (Screensharing) kennt Jitsi ebenfalls. Wie bei Zoom lässt sich mithilfe eines in den PulseAudio-Einstellungen bereitgestellten virtuellen Ausgabegeräts zur simultanen Wiedergabe der Ton des Mikrofons und von geteilten Anwendungsfenstern abgemischt übertragen.

Auf dem heimischen Rechner gehostete Jitsi-Instanzen können bei der maximalen Teilnehmerzahl jedoch nicht mit dem professionellen Zoom mithalten, was vor allem an der limitierten Bandbreite des Internet-Anschlusses liegt. Besonders Kabelanschlüsse bieten hier meist nur einen Bruchteil der Upload-Bandbreite eines professionellen Webhosters. Manche Provider offerieren allerdings gegen Aufpreis eine Erweiterung der Upstream-Geschwindigkeit.

Im Test mit fünf Teilnehmern in einem Jitsi-Meeting traten Upload-Datenraten von rund 4 Mbit/s auf. Die CPU-Last dürften halbwegs aktuelle PCs leicht verkraften. Bei Konferenzen mit vielen Teilnehmern hilft es, die Videoqualität, die Jitsi standardmäßig auf den höchsten Wert setzt, herabzustufen. Erfahrungsberichten nach sollten – je nach Hardware und Internet-Anbindung – bis zu 25 Teilnehmer mit aktiviertem Video möglich sein.

In der Standardeinstellung gestattet es Jitsi Meet jedem Besucher, eine Sitzung zu initiieren. Außer dem Initiator (und damit gleichzeitig Administrator) der Sitzung erlaubt das System jedem weiteren Nutzer ohne Authentifizierung beizutreten. Dazu muss der Besucher den Sitzungsnamen kennen und das Portal in der Form https://Server-Adresse/Sitzungsname im Browser aufrufen. Unverschlüsselte HTTPS-Verbindungen funktionieren in der Praxis nicht, bei ihnen verweigern aktuelle Webbrowser die Freigabe von Kamera und Mikrofon.

Der Administrator kann die Sitzung bei Bedarf mit einem gesonderten Kennwort absichern. Wie Zoom erzeugt Jitsi Einladungslinks. Falls Sie keinen eigenen Sitzungsnamen angeben, schlägt Jitsi Namen aus vier willkürlichen englischen Wörtern vor, die sich kaum erraten, wohl aber leicht am Telefon diktieren lassen.

Feste Adresse

Viele Router unterstützen sogenanntes dynamisches DNS, bei dem der Router seine wechselnde IP-Adresse einem Internet-Dienst meldet, der sie mit einem konstanten Domain-Namen verknüpft (Abbildung 5). Liegt ein solcher fester Domain-Name vor, dann müssen Sie nur noch die im genannten Handbuchkapitel erläuterte .env-Datei (Listing 1) editieren, und Jitsi bezieht sogar vollautomatisch ein kostenloses Let’s-Encrypt-Zertifikat [7]. Anschließend lässt sich die Seite über das verschlüsselte HTTPS-Protokoll ohne Fehlermeldung laden (Abbildung 6).

Abbildung 5: DynDNS weist der wechselnden IP des Internet-Anschlusses einen festen Domain-Namen zu und macht es m&ouml;glich, sich &uuml;ber den kostenlosen Dienst Let's Encrypt ein g&uuml;ltiges Sicherheitszertifikat zu besorgen.

Abbildung 5: DynDNS weist der wechselnden IP des Internet-Anschlusses einen festen Domain-Namen zu und macht es möglich, sich über den kostenlosen Dienst Let’s Encrypt ein gültiges Sicherheitszertifikat zu besorgen.


Abbildung 6: Nach dem Anpassen weniger Zeilen in der Konfigurationsdatei besorgt Jitsi Meet ohne weiteres Zutun ein von den Webbrowsern akzeptiertes Sicherheitszertifikat.

Abbildung 6: Nach dem Anpassen weniger Zeilen in der Konfigurationsdatei besorgt Jitsi Meet ohne weiteres Zutun ein von den Webbrowsern akzeptiertes Sicherheitszertifikat.

Listing 1

.env-Datei

# Enable Let's Encrypt certificate generation
ENABLE_LETSENCRYPT=1
# Domain for which to generate the certificate
LETSENCRYPT_DOMAIN=dnydnsdomain.de
# E-Mail for receiving important account notifications (mandatory)
LETSENCRYPT_EMAIL=your@e-mail.de

Möchten Sie einen öffentlich erreichbaren Server ausschließlich für den Eigengebrauch nutzen, dann sichern Sie das Initiieren von Jitsi-Sitzungen per Passwort ab. Falls Sie den Jitsi-Container schon mit docker-compose up -d gestartet haben, beenden Sie ihn mit docker-compose down wieder. Eine neue Instanz mit veränderten Einstellungen erfordert später wieder den up-Befehl zum Start, während das Stoppen und Starten einer unveränderten Instanz mit docker-compose stop und docker-compose start Daten und Einstellungen beibehält.

Das weitere Vorgehen erklärt das Handbuch gut nachvollziehbar [8]. Alle dort genannten Befehle führen Sie wieder aus dem beim Einrichten erstellten Verzeichnis heraus aus. Außerdem müssen Sie nach dem Herunterfahren des Containers mit docker-compose down noch das Konfigurationsverzeichnis /root/.jitsi-meet-cfg/ löschen, was die Anleitung unterschlägt. Nach dem Editieren von .env gemäß des genannten Anleitungskapitels und dem Ausführen der dort genannten Shell-Befehle startet der Aufruf docker-compose up -d Jitsi dann beim Erstellen neuer Sitzungen mit Passwortschutz.

Bildtelefon

Webbasierte Konferenzsysteme wie Zoom, Google Meet oder eben Jitsi haben in der Pandemie viel Aufmerksamkeit erfahren. Viel älter ist das Internet-Protokoll SIP, das schon lange bei Voice-over-IP-Telefonen zum Einsatz kommt. Das Akronym steht für Session Initiation Protocol. SIP dient lediglich zum Aufbau einer Verbindung zwischen den Teilnehmern, die Art der übertragenen Daten bleibt dabei offen. Die Last pro Nutzer liegt daher auf SIP-Servern viel niedriger als auf Videokonferenz-Servern.

Eine für OpenSuse-Anwender empfehlenswerte Anwendung zur SIP-Videotelefonie ist das in den Standard-Repositories verfügbare Linphone [9]. Anders als sein Name suggeriert, steht es auch für Windows, MacOS, Android und iOS bereit (Abbildung 7). Für das schlichte Desktop-Programm fällt außer der Paketinstallation und dem Eintragen einiger Server-Adressen kein Konfigurationsaufwand an.

Abbildung 7: Das handliche SIP-Telefonprogramm Linphone beherrscht auch Videotelefonie.

Abbildung 7: Das handliche SIP-Telefonprogramm Linphone beherrscht auch Videotelefonie.

Die Linphone-Entwickler betreiben den freien SIP-Server http://sip.linphone.org. Nach einer Registrierung dort steht eine öffentliche SIP-Adresse in der Form Benutzer@linphone.org zur Verfügung, die für jede Linphone-Instanz öffentlich erreichbar ist. Aber auch andere SIP-Programme spielen dank der Standardisierung mit Linphone zusammen.

Aus dem Telefonnetz lassen sich die freien SIP-Accounts in der Regel nicht erreichen. SIP-Accounts mit einem Übergang zum klassischen Telefonnetz sind oft in Internet-Tarifen als “Telefonanschluss” enthalten. Linphone kann auch sie für Sprachtelefonie nutzen.

Neue SIP-Konten auf Linphone.org legen Sie über den im Hauptfenster sichtbaren Account Assistant durch einen Klick auf Create linphone account im Programm an (Abbildung 8). Für einen kostenlosen SIP-Account wählen Sie die Option With an email-adress. Im folgenden Dialog nennen Sie einen Benutzernamen, ein Passwort sowie eine gültige E-Mail-Adresse. Dann erhalten Sie einen im Browser zu öffnenden Aktivierungslink für das Konto. Alternativ binden Sie mit dem Account Assistant auch bestehende SIP-Konten ein.

Abbildung 8: Die Linphone-Entwickler betreiben einen kostenfreien &ouml;ffentlichen SIP-Server. Linphone bringt einen komfortablen Assistenten mit, um dort ein Konto anzulegen.

Abbildung 8: Die Linphone-Entwickler betreiben einen kostenfreien öffentlichen SIP-Server. Linphone bringt einen komfortablen Assistenten mit, um dort ein Konto anzulegen.

Um Linphone durch einen Router oder eine Firewall hindurch erreichbar zu machen, tragen Sie in den Einstellungen des Programms noch einen STUN-Server ein. Dazu nutzen Sie die Rubrik NAT and Firewall in den Preferences im Reiter Network im unteren Drittel des Dialogs. Es liegt nahe, hier den entsprechenden Linphone-Dienst http://stun.linphone.org einzutragen.

Im Reiter Video sollte im Feld Video input device ein Eintrag wie V4l2: /dev/video0 stehen. Ein Klick auf den Schalter Video Preview zeigt dann ein Testbild. Blendet das Programm hier Static Image ein, dann konnte Linphone keine Kamera finden. Außerdem lassen sich unter Video preset die Framerate und unter Video Resolution die Auflösung der Bilddaten einstellen. Im Abschnitt Video Codec darunter passt die Bitrate die Kompressionsqualität an. Im Reiter Audio finden Sie eine Option, um die Echo cancellation abzuschalten. Das empfiehlt sich zum Beispiel beim Gebrauch eines Headsets, dessen Mikrofon die Audiowiedergabe ohnehin nicht aufnimmt, sodass auch kein Feedback-Pfeifen droht.

Linphone läuft beim Schließen des Fensters im Hintergrund weiter. Allerdings erscheint in der KDE-Taskleiste dabei nur ein leeres Symbol. Das passive Anruf-Popup funktioniert aber und gestattet es, Anrufe abzulehnen oder anzunehmen, und zwar als reine Audio- oder kombinierte Video- und Audioverbindung (Abbildung 9).

Abbildung 9: Wenn ein Headset am Rechner h&auml;ngt, kann man mit Linphone nach au&szlig;en telefonieren und eingehende Anrufe per Popup-Dialog entgegennehmen.

Abbildung 9: Wenn ein Headset am Rechner hängt, kann man mit Linphone nach außen telefonieren und eingehende Anrufe per Popup-Dialog entgegennehmen.

Die Linphone-Oberfläche wirkt sehr viel handlicher als die der Webanwendung Jitsi Meet. Videotelefonie unterstützt das Programm nur für paarweise Verbindungen. Das orangefarbene Symbol rechts oben im Fenster gestattet es, über Kontakte im Adressbuch Audiokonferenzen mit mehreren Teilnehmern zu initiieren. Auch ein Text-Chat ist vorhanden, Screensharing gibt es jedoch nicht.

Der Vorteil von SIP-(Video)-Telefonen wie Linphone: Sie kommen ohne schwergewichtige Server aus. Linphone empfiehlt sich daher vor allem als einfach zu konfigurierende Lösung für paarweise Videotelefonie.

Peer to Peer

Videos ohne zentralen Server im Internet zu teilen – das gab es doch einmal? Die Entwickler der Videokonferenz-Software Jami [10] haben sich der vom Filesharing bekannten Techniken bedient, um das Teilen von Live-Videodaten ohne zentralen Server zu ermöglichen (Abbildung 10).

Abbildung 10: Das Open-Source-Programm Jami &auml;hnelt oberfl&auml;chlich der Zoom-Anwendung, legt den Fokus aber auf Wahrung der Privatsph&auml;re.

Abbildung 10: Das Open-Source-Programm Jami ähnelt oberflächlich der Zoom-Anwendung, legt den Fokus aber auf Wahrung der Privatsphäre.

Jeder Client lässt sich auf Basis seines “Fingerabdrucks” von jeder anderen Jami-Instanz per Internet auffinden und erreichen. Der Einfachheit halber nennt das Programm diesen 40-stelligen Hash-Wert Konto (Abbildung 11), doch es erfolgt kein Eintrag bei einem zentralen Dienst – zumindest, solange Sie auf das Registrieren eines Benutzernamens verzichten.

Abbildung 11: Bei den Jami-"Konten" handelt es sich um lokal vorliegende Keys, mit denen sich das Programm im Jami-Netzwerk anmeldet. Lediglich die optionale Registrierung eines einpr&auml;gsamen Benutzernamens zus&auml;tzlich zu einem 40-stelligen Hash erfolgt auf einem zentralen Server.

Abbildung 11: Bei den Jami-“Konten” handelt es sich um lokal vorliegende Keys, mit denen sich das Programm im Jami-Netzwerk anmeldet. Lediglich die optionale Registrierung eines einprägsamen Benutzernamens zusätzlich zu einem 40-stelligen Hash erfolgt auf einem zentralen Server.

Sobald Sie zum Anrufen Ihres Gesprächspartners einen Benutzernamen statt des 40-stelligen Hashs verwenden, dann vermittelt der angesprochene Verzeichnisdienst. Der Zugang zum Jami-Netzwerk erfolgt außerdem über einen Bootstrap-Server, also einen normalen Jami-Knoten, wie er auch nach dem Start von Jami auf Ihrem Rechner läuft. Nötig ist diese zentrale Instanz, weil der Jami-Client einen Einstiegspunkt mit bekannter IP-Adresse benötigt.

Da private Rechner meist indirekt via Router am Internet hängen und sich von dort aus nicht direkt erreichen lassen, braucht es einen TURN-Server, um die Verbindung zwischen Peers hinter einer Firewall zu vermitteln. Er funktioniert ähnlich wie der STUN-Server bei Linphone. Alle genannten Dienste dienen nur dem Aushandeln der Verbindung, die (ohnehin verschlüsselten) Gesprächsdaten laufen nicht über sie.

Jami findet sich bislang noch nicht im offiziellen Software-Bestand von OpenSuse. Das Projekt stellt jedoch Pakete für OpenSuse und viele andere Distributionen zur Verfügung [11]. Außerdem gibt es Versionen für Nutzer von Windows, Android und iOS.

Nach dem ersten Start fordert Jami Sie auf, ein Lokales Konto zu erstellen, das Sie im Jami-Netz identifiziert. Der Schieberegler Benutzernamen registrieren im zugehörigen Dialog (Abbildung 11) lässt Ihnen wie erwähnt die Wahl, ob Sie per Nickname oder Klarname im Jami-Verzeichnisdienst auftauchen möchten.

Deaktivieren Sie diesen Schieberegler, liegt der zu Ihrer Jami-Identität gehörige Schlüssel nur auf Ihrer Festplatte, weswegen das Programm ein Backup vorschlägt. Fakultative Passwörter dienen lediglich dem Schutz vor Fremden, die Zugriff auf Ihren Rechner haben. Ob Jami automatisch beim Login startet oder nach dem Schließen in der Taskbar als kleines Icon weiterläuft, lässt sich in den Einstellungen konfigurieren, die Sie über das kleine Zahnrad-Symbol in der Fensterleiste erreichen.

Für einen Anruf suchen Sie entweder per Suchfeld links oben nach dem Benutzernamen oder Hash des Gesprächspartners, oder Sie klicken im linken Unterfenster auf einen bekannten Kontakt. Die drei kleinen Schalter stellen die Hauptaktionen bereit: Starte Videoanruf, Starte Audioanruf und Zur Konversation hinzufügen (Hinzufügen eines neuen Teilnehmers zum laufenden Anruf). Mit den Buttons am unteren Fensterrand senden Sie eine Datei beziehungsweise eine Text-, Sprach- oder Videonachricht.

Sogenannte Rendezvous Points [12] erinnern in ihrer Funktion an Videokonferenzprogramme: Jeder Jami-Anwender, der eine solche Sonderform des Profils anruft, wird Teil der Konferenz. Der Teilnehmer, dem das Profil gehört, kann den Zutritt gestatten oder verweigern. (cla)

Glossar

STUN-Server

Ohne die Konfiguration einer Port-Weiterleitung können zwei über WLAN-Router ans Internet angebundene Rechner nicht direkt miteinander kommunizieren. Ein STUN-Server ermittelt das Vorhandensein und die Art von Firewalls und NAT-Routern und erlaubt dann den Aufbau einer bidirektionalen Verbindung zwischen den Rechnern.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 03/2021 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben