From e42f107a141df78774355ac70674c792e18c31b1 Mon Sep 17 00:00:00 2001 From: Philipp Rothmann Date: Tue, 2 Aug 2022 22:06:30 +0200 Subject: [PATCH] add video conferencing --- .pages | 4 +- video conferencing/Apache_OpenMeetings.md | 76 +++++++++++++++++++++++ video conferencing/BigBlueButton.md | 69 ++++++++++++++++++++ video conferencing/Jitsi_meet.md | 67 ++++++++++++++++++++ video conferencing/Nextcloud_Talk.md | 66 ++++++++++++++++++++ video conferencing/index.md | 22 +++++++ 6 files changed, 303 insertions(+), 1 deletion(-) create mode 100644 video conferencing/Apache_OpenMeetings.md create mode 100644 video conferencing/BigBlueButton.md create mode 100644 video conferencing/Jitsi_meet.md create mode 100644 video conferencing/Nextcloud_Talk.md create mode 100644 video conferencing/index.md diff --git a/.pages b/.pages index d9a4a7e..bc614c3 100644 --- a/.pages +++ b/.pages @@ -1,4 +1,6 @@ nav: - chat messenger + - cloud storage - documents - - projectmanagement \ No newline at end of file + - projectmanagement + - video conferencing \ No newline at end of file diff --git a/video conferencing/Apache_OpenMeetings.md b/video conferencing/Apache_OpenMeetings.md new file mode 100644 index 0000000..ac77339 --- /dev/null +++ b/video conferencing/Apache_OpenMeetings.md @@ -0,0 +1,76 @@ +# Apache OpenMeetings + +Apache OpenMeetings im Vergleich zu Jitsi und BBB öffentlich nicht so bekannt und könnte doch ein dritter Spieler sein. Der Fokus von Apache's OpenMeetings liegt deutlich auf der Nachbildung eines realen Konferenzraumes. Die Administration kann Konferenzäume vorbereiten, die für einen bestimmten Zweck optimiert sind. So kann ein Whiteboard für die gemeinsame Arbeit, ähnlich wie bei BBB im Zentrum für die gemeinsame arbeit sein oder z.B. ein Interview-Modus, bei dem Bewerbergespräche geführt und (nach deren Zustimmung) aufgezeichnet werden können. Optisch wirkt die Oberfläche veraltet, auf den zweiten Blick allerdings recht flexibel. Die Entwicklung basiert auf einer soliden Plattform und deren Core-Entwicklung. Das Design ist zumindest im Moment nachrangig in der Entwicklung. Insgesamt macht OpenMeetings den Eindruck einer Enterprise-Plattform, die erst durch weitere Programmier- und Designarbeit für eine Organisation angepasst werden muss. + +## Allgemeine Informationen + +* Website: https://openmeetings.apache.org/ +* Demo: + * [Hersteller](https://openmeetings.apache.org/demo.html) + * [Local IT / OSM](https://openmeetings.opensource-mentor.com:5443) admin : (oadmin, Pass: aUk93cL#sqM) +* Source Code: [https://github.com/apache/openmeetings() +* Dokumentation: [https://cwiki.apache.org/confluence/display/OPENMEETINGS/]() +* Lizenz: Apache 2.0 +* Programmiersprache (Framework): Hauptsächlich Java +* Geschäftsmodell: Offenbar wird von den Entwicklern nur eine Community-Version bereit gestellt, die somit alle Funktionen hat. + +### Kernfunktionen (Spezialisierung der Plattform) +* Videokonferenzsystem mit Nachbildung von für den Zweck vorbereiteten Konferenzräumen (verschiedene Raum-Typen) +* Whiteboardintegration +* Dokumentenupload und -download im Raum +* Screensharing +* Aufzeichnungsfunktion, bei Interviews (z.B. Bewerber) möglich +* Umfragen in der Konferenz +* Kalenderfunktion, um Konferenzen zu terminieren + +### Erweiterte Funktionen (nicht spezialisiert darauf) +* SIP-Integration möglich + + +## Technisch + +### Installation + +* coop-cloud recipe: [nein]() +* Docker: [image](), [Dockerfile]() +* Docker-Compose: link + * Healthcheck: + * Secrets: +* Installation: Es dürfte mehrere Installationswege geben. Eine gängige Variante, die im Test auch in akzeptabler Zeit zum Erfolg geführt hat, ist die Installation unter Debian (11). Dabei werden einige Abhängigkeiten über den Debian-Paketmanager installiert, wie openjdk, LibreOffice, ffmpeg, ImageMagck, Tomcat und MariaDB, um einige zu nennen. Ein wichtiges Teil im Kern ist der Kurento Media Server. Dieser wird bevorzugt über Docker installiert. Mit einem guten "Kochbuchrezept" ist die Installation in vernünftiger Zeit machbar. Final wird OpenMeetings über einen Web-Installer konfiguriert. Nüchtern betrachtet sind die Schritte etwas uneinheitlich durch die Nutzung von Debian-Boadmitteln, Docker und Web-GUI in Kombination. Auch die "offizielle" Anleitung ist etwas dünn und erklärt eigentlich nur grob, was gemacht werden muss, um ein OpenMeetings zu installieren, geht die Schritte aber nicht am Beispiel durch. Dafür gibt es alternative Anleitungen, die auch als Nicht-Entwickler, aber mit ausreichenden Linux-Kenntnissen zu einem laufenden System führen. Eine entsprechende PDF-Anleitung liegt local-it vor. + +* Konfiguration via: Nachdem die einzelnen Komponenten installiert sind, erfolgt die finale Installation in der Web-GUI von OpenMeetings. +* API-Dokumentation: https://openmeetings.apache.org/openmeetings-webservice/apidocs/index.html +* Abhängigkeiten: + * App: + * Datenbank: MariaDB (empfohlen, andere möglich) + * SMTP / Email: noreply-Postfach sollte vorhanden sein + +* Installationshinweise: + Die Original-Installationshinweise sind für eine schnelle Installation unbrauchbar + Eine Anleitung als PDF von Dritten liegt im Arbeitsordner zu dem Tool und ermöglicht eine Basis-Installation auf Debian 11 und sollte auch auf anderen auf Debian basierenden Systemen funktionieren. + Die Standardinstallation hat selbstsignierte Zertifikate und läuft auf Port 5443 für die Web-GUI und somit auch für die Konferenzen. Die Einbindung von Lets Encrypt erfolgt über einen Tomcat und ist somit ein kleines eigenes Kapitel. Die Wahl Port 5443 zu verwenden ist damit begründet, dass auf Port 80 und 443 ein Turn-Server auf dem gleichen System und der gleichen IP-Adresse installiert werden kann. Dafür liegt eine Extra-Anleitung vor. Wenn der Port 443 für die GUI verwendet werden soll, müsste der Turn-Server, wie bei anderen Systemen, auf einer eigenen VM und IP installiert oder ein vorhandener Turn-Server mitgenutzt werden. + +### Authentifizierung & SSO + +* LDAP +* weitere ggf. vorhanden, aber nicht sofort ersichtlich + +### Entwicklung + +* Maintainership:Apache Software Foundation , Massachusetts +* Contributors: 13 +* Letzte Änderung: 16.05.2022 +* Letzter Release / Zyklus: ca. 2 bis 3 Mal im Jahr +* Erweiterbarkeit: +* Geplante Entwicklung / Roadmap: Changelog ist hier: https://github.com/apache/openmeetings/blob/6.3.0/CHANGELOG.md + +Überprüft am: 07.07.22 + +### sonstiges + +* Import / Export von Userdaten --> Keine Informationen gefunden + +## Notizen +Hat Abstand zu BigBlueButton und Jitsi, ist für spezielle Zwecke allerdings ggf. interessant. + +Version 1.2 28.06.2022 diff --git a/video conferencing/BigBlueButton.md b/video conferencing/BigBlueButton.md new file mode 100644 index 0000000..e81835a --- /dev/null +++ b/video conferencing/BigBlueButton.md @@ -0,0 +1,69 @@ +# BigBlueButton + +BigBlueButton (BBB) ist eine webbasierte Videokonferenzlösung mit dem Fokus auf Bildungseinrichtungen, Schulungen und Lehrveranstaltungen. In den virtuellen Räumen von BBB gibt es verschiedene Ansichten, wobei eine gängige Standardansicht die Videos ausreichend groß und die Präsentation (im Standard auch als Whiteboard nutzbar) in den Mittelpunkt rückt. Teilt der:die Präsentator:in den Bildschirm, wird diese Präsentationsfläche gegen das geteilte Bild ersetzt. Andere Ansichten können im Raum gesetzt werden und damit bei Bedarf z.B. den Fokus auf die Teilnehmenden zu lenken. Es kann den Teilnehmenden auch freigeschaltet werden, die Bereiche selber dynamisch einzustellen. Neben Lehrveranstaltungen eignet sich BBB aufgrund seiner ausgereiften Plattform und der flexiblen Funktionen ebenfalls zur Nachbildung eines virtuellen Konferenzraumes. Rauminterne Chats, Umfragefunktionen und und einige andere Extras runden das Bild ab. BBB unterstützt auch das Aufzeichnen von Konferenzen teilweise, wenn dies durch die Administration freigeschaltet ist. + +## Allgemeine Informationen + +* Website: +* Demo: + * [Hersteller](https://bigbluebuttonserver.de/) + * [local-it](talk.local-it.org) Zugang über local-it Logins +* Source Code: [hier](https://github.com/bigbluebutton) +* Dokumentation: [hier](https://docs.bigbluebutton.org/) +* Lizenz: LGPL-3.0 (Darf auch in kommerzielle Produkte eingebaut werden, ohne copyleft) +* Programmiersprache (Framework): JavaScript (>57%), Java (>14%), Scala (>14%), Ruby (>4%) +* Geschäftsmodell: (Community Version zu gebrauchen?) + +### Kernfunktionen (Spezialisierung der Plattform) +* Videokonferenz webbasiert mit Standard-Räumen mit Vorkonfiguration über Admin-Oberfläche +* Screensharing +* Künstliche Hintergründe (Auswählbare Hintergrundbilder hinter eigenen Videobildern; Aktuell nur vorgegebenene Bilder vom Benutzer auswählbar, Benutzer können keine eigenen Bilder hochladen, Admin kann allerdings weitere Bilder auf dem Server hinterlegen) +* Um Räume zu erstellen, ist ein Login erforderlich. Räume können allerdings auch offen gestaltet werden, womit für diese eine Nutzung ohne Login möglich ist. Teilnehmer können ohne Login, über Link und optionalem Zugangscode teilnehmen. +* Chat im Konferenzraum an alle und unter Benutzern +* Break Out Räume auf Zeit möglich, um z.B. Lerngruppen zwischenzeitlich in eigenen Räumen unterbringen zu können. Ein Timer kann eingestellt werden und nach Ablauf werden die Teilnehmer automatisch wieder in den Hauptraum verschoben. Moderatoren können in die temporären Räume springen oder auch akustisch hinein hören und dort sprechen, um z.B. den Stand einer Lern- oder Arbeitsgruppe zu erfragen. + +### Erweiterte Funktionen (nicht spezialisiert darauf) +* Einbindung in Lernplattformen, wie Moodle möglich +* Große Umgebungen können über Load Balancer ein Routing auf mehrere BigBlueButton-Server zur Lastverteilung ermöglichen + + +## Technisch + +### Installation + +* coop-cloud recipe: [nein]() +* Docker: +* Docker-Compose: [link](https://github.com/bigbluebutton/docker) + * Healthcheck: + * Secrets: + +* Konfiguration via: Die empfohlene Installation ist aktuell ein für die Version freigegebenes Ubuntu, deren Version genau eingehalten werden muss und ein automatisches Installationsskript, welches vollautomatisch einen BigBlueButton-Server einrichtet, wenn alle Voraussetzungen erfüllt sind. Eine bei local-it erfolgreich eingesetzte Alternative ist über docker-compose möglich. +* API-Dokumentation: [Link](https://de.bigbluemeeting.com/docs/bigbluebutton-api) +* Abhängigkeiten: + * App: Ubuntu passend zur BigBlueButton-Version oder Docker (compose) + * Datenbank: Regelt der Installer bzw. Docker-Compose + * SMTP / Email: smtp (noreply) erforderlich für Einladungslinks etc. zu empfehlen. + +* Installationshinweise: (Was ist alles schief gelaufen?) +Der Auto-Installer geht davon aus, dass der Server mit Öffentlichen IP-Adressen direkt mit dem Internet verbunden ist. Sind diese und die passende Ubuntu-Version erfüllt, ist die Installation relativ problemlos. Abweichungen vom Standard erhöhen allerdings den Aufwand deutlich. + +### Authentifizierung & SSO + +LDAP, oAuth2 + +### Entwicklung + +* Maintainership: Gestartet von TIM program Carleton University's Institute for Technologie, Ottawa Canada +* Contributors: 181 +* Letzte Änderung: 29.06.22 +* Letzter Release / Zyklus: > 2x im Monat +* Erweiterbarkeit: Kann mit diversen Plattformen zur Lehre oder an CMS-Systeme angebunden werden. (Moodle, Wordpress, Drupal etc.) +* Geplante Entwicklung / Roadmap: [Link](https://docs.bigbluebutton.org/support/road-map.html) + +Überprüft am: 08.07.22 + +### sonstiges + +Import / Export von Userdaten ist bei Updates ein Thema. Es können Räume und Benutzerdaten durch das Kopieren von einigen Verzeichnissen auf einen neuen BigBlueButton-Server übernommen werden (aktuell noch nicht getestet). In der Regel wird von den Entwicklern empfohlen bei der direkten Ubuntu-Installation ein Update im klassischen Sinne nicht durchzuführen. Stattdessen wird ein neues System mit dafür passender Ubuntu-Version und eine BBB-Neuinstallation durchgeführt. Wenn gewünscht, werden die Konfigurationsdaten von Räumen und Benutzer (Optional Aufzeichnungen) auf die neu installierte Instanz kopiert. Bei docker-compose ist das vorgehen ggf. durch die Nutzerdaten in Volumes so nicht erforderlich. Der/die Docker-Container werden dabei ersetzt und die Benutzerdaten bleiben erhalten. + +## Notizen diff --git a/video conferencing/Jitsi_meet.md b/video conferencing/Jitsi_meet.md new file mode 100644 index 0000000..c267277 --- /dev/null +++ b/video conferencing/Jitsi_meet.md @@ -0,0 +1,67 @@ +# Jitsi Meet + +Bei Jitsi Meet werden im Gegensatz zu BBB die virtuellen Räume in der Regel nicht vorkonfiguriert. Der virtuelle Raum entsteht erst mit Beginn einer Konferenz, dabei wird der Raumname selbst gewählt und ist Teil der URL. Die erste Person im Raum kann Berechtigungen setzen, die solange gelten wie jemand in diesem Raum ist. Im Standard ist ein Jits Meet Server offen und jede:r kann ihn verwenden. Um eine eigene Instanz auf eine Organisation einzuschränken, kann Authentifizierung aktiviert werden. Dann können User:innen ohne Login erst teilnehmen, sobald ein Mitglied den Raum betreten hat. + +## Allgemeine Informationen + +* Website: https://meet.jit.si/ +* Demo: + * [Hersteller](https://meet.jit.si/) + * [local-it]() admin : (aktuell kein Demo-System) +* Source Code: [hier](https://github.com/jitsi/jitsi-meet) +* Dokumentation: [hier](https://jitsi.github.io/handbook/docs/intro) +* Lizenz: Apache 2.0 +* Programmiersprache (Framework): Hauptsächlich Java +* Geschäftsmodell: Community-Version ist uneingeschränkt + +### Kernfunktionen (Spezialisierung der Plattform) +* Videokonferenz webbasiert mit Standard-Räumen ohne Vorkonfiguration dieser +* Screensharing +* Künstliche Hintergründe (Auswählbare Hintergrundbilder hinter eigenen Videobildern; Standardbilder und eigene Bilder hochladbar) +* Offener Modus kann mit Login-Funktion eingeschränkt werden auf Organisations-Benutzer +* Chat im Konferenzraum (XMPP intern) + +### Erweiterte Funktionen (nicht spezialisiert darauf) +* Keyboard shortcuts +* SIP kann eingebunden werden +* Videostreaming von externen Quellen (Videoplattformen oder Storage) möglich + + +## Technisch + +### Installation + +* coop-cloud recipe: [nein]() +* Docker: +* Docker-Compose: [link](https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-docker) + * Healthcheck: + * Secrets: + +* Konfiguration via: (Stellen wo das Tool eingestellt wird - GUI, Config-Files, Umgebungsvariablen etc. ) +* API-Dokumentation: Link +* Abhängigkeiten: Keine bekannt, bzw. in docker-compose aufgelöst + +* Installationshinweise: +Vergangene Erfahrungen mit einer Direktinstallation auf Debian zeigen, dass es zum Teil Änderungen von abhängigen Paketen gabe, die z.B. durch ein Update über den Debian-Paketmanager eingespielt wurden, aber nicht kompatibel mit der Jitsi-Konfiguriaton waren. In diesem Fall kann ein Jits mit Auto-Update von einem Tag auf den anderen nicht mehr funktionieren. Mit einem Dockersetup sollte sich dies vom Betriebsystem des Servers besser entkoppeln lassen, weil die Komponenten so von den Entwicklern abgestimmt sind und nicht von der Distribution abhängen. + + +### Authentifizierung & SSO + +* LDAP (Nur relevant, wenn System geschlossen ist.) + +### Entwicklung + +* Maintainership: 8x8 und Community, Campbell California US +* Contributors: 341 +* Letzte Änderung: 17.06.22 +* Letzter Release / Zyklus: Oft jeden Monat +* Erweiterbarkeit: +* Geplante Entwicklung / Roadmap: nicht direkt vorhanden + +Überprüft am: 07.07.22 + +### sonstiges + +* Import / Export von Userdaten nicht bekannt (Nur bei geschlossenem System relevant.) + +## Notizen diff --git a/video conferencing/Nextcloud_Talk.md b/video conferencing/Nextcloud_Talk.md new file mode 100644 index 0000000..0634b5e --- /dev/null +++ b/video conferencing/Nextcloud_Talk.md @@ -0,0 +1,66 @@ +# Nextcloud Talk + +Nextcloud Talk ist eine offizielle Erweiterung (App) für die Nextcloud. Die App ist etwas näher an einem Messenger mit Einzel- und Gruppenchat einzusortieren. Talk ermöglicht Einzel- und Gruppenchats und webbasierte Videokonferenzen. Talk bietet sich als Einstiegslösung an, um innerhalb eine Organisation mit Kurznachrichten und kleineren Videokonferenzen zu kommunizieren. Durch das Generieren von externen Links können auch Mitglieder außerhalb der Organisation in Chats und Videokonferenzen eingebunden werden. Für größere Konferenzen bietet der Hersteller ein so genanntes High Performance Backend an. Damit verlässt die App allerdings ein bisschen den FOSS-Gedanken. Für eine schlanke Installation und wenn ohnehin eine Nextcloud vorhanden ist, kann Talk eine gute Einstiegslösung sein, sollte aber ohne größeren Aufwand nicht direkt mit spezialisierten Lösungen verglichen werden. Hier wäre ein Matrix-Server mit Videokonferenz-Einbindung ggf. die bessere und universellere Wahl. Der Raum-Gedanke ist bei Talk durch Gruppen-Konferenzen zwar ähnlich, allerdings nicht in dieser Form vorhanden. Diese App in dieser Kategorie aufzuführen ist daher mehr als Hinweis zu sehen, wenn eine Nextcloud eingesetzt wird und Videokonferenzen eher ein Nebenthema sind. + +## Allgemeine Informationen + +* Website: https://nextcloud.com/ +* Demo: + * [Hersteller]() + * [local-it](cloud.demo.local-it.org) demo : demo +* Source Code: [hier](https://github.com/nextcloud/server) +* Dokumentation: [hier](https://docs.nextcloud.com/) +* Lizenz: AGPL-3.0 +* Programmiersprache: PHP, JS +* Geschäftsmodell: enterprise hosting + +### Kernfunktionen (Spezialisierung der Plattform) +* Dateiablage + +### Erweiterte Funktionen (nicht spezialisiert darauf) +* groupware +* App Nextcloud Talk = Videokonferenzen und Chats (Gruppen- und Einzelchats/ konferenzen) +* apps für alles + + +## Technisch + +### Installation + +* coop-cloud recipe: [ja](https://git.coopcloud.tech/coop-cloud/nextcloud) +* Docker: [image](https://hub.docker.com/_/nextcloud), [Dockerfile](https://github.com/nextcloud/docker) +* Docker-Compose: https://git.coopcloud.tech/coop-cloud/nextcloud/src/branch/main/compose.yml + * Healthcheck: nein + * Secrets: ja + +* Konfiguration via: envs, config.php +* API-Dokumentation: https://docs.nextcloud.com/server/latest/developer_manual/client_apis/index.html +* Abhängigkeiten: + * php + * postgres / mariadb + * redis + * SMTP +* Installationshinweise + +### Authentifizierung & SSO + +openid-connect, ldap, saml über apps + +### Entwicklung + +* Maintainership: Nextcloud GmbH, Stuttgart Germany +* Contributors: 814 +* Letzte Änderung: 01.06.22 +* Letzter Release / Zyklus: [24.0.2](https://github.com/nextcloud/server/releases/tag/v24.0.2) wöchtentlich +* Erweiterbarkeit: ja +* Geplante Entwicklung / Roadmap: + +Überprüft am: 01.06.22 + +### sonstiges + +* Import / Export von Userdaten + +## Notizen + +Version 1.1 14.06.2022 \ No newline at end of file diff --git a/video conferencing/index.md b/video conferencing/index.md new file mode 100644 index 0000000..fddd31e --- /dev/null +++ b/video conferencing/index.md @@ -0,0 +1,22 @@ +# Videokonferenzsysteme + +Wenn Menschen von verschiedenen Orten der Welt sich virtuell treffen möchten um Gespräche in Gruppen zu führen, um Schulungen zu ermöglichen oder Interviews durchzuführen, bieten sich Videokonferenzsysteme an. Neben Video- und Audioübertragung, gibt es oft den Bedarf etwas präsentieren zu wollen, was z.B. als Screensharing, einem Whiteboard, einer eingebetteten Präsentation oder in einem gestreamten Video passiert. Für solche Ansprüche haben sich Videokonferenzsysteme bewährt, die auf Räumen basieren. Dabei wird ein virtueller Raum dauerhaft oder bei Bedarf erstellt, in den alle Teilnehmer:innen einer Konferenz über einen Link und manchmal mit optinalen Zugangscodes eingeladen werden. Alle Teilnehmer:innen können asynchron den Raum betreten und können sich ab diesem Zeitpunkt untereinander sehen und hören. Funktionale Überschneidungen gibt es mit Messengern, die Videotelefonie unterstützen. Wir konzentrieren uns hier auf spezialisierte Konferenzsysteme, die auf Räumen basieren. + +Die wohl weltweit meist genutzte kommerzielle Videokonferenzlösung ist Zoom. Aus Datenschutzssicht ist diese Plattform kritsch zu beurteilen, weil es ein zentraler Großanbieter und keine offene Plattform ist. Wir betrachten wieder drei freie Software alternativen, BigBlueutton, Jitsi Meet und Apache OpenMeetings. Weiterhin haben wir uach die Nextcloud App _Talk_ teilweise beleuchtet. Diese ist allerdings näher an den Messengern mit zusätzlicher Videofunktion dran, weshalb wir sie im Vergleich aufführen. Außerdem ist Nextcloud Talk nur für eine kleine Teilnehmerzahl zu empfehlen. + +| | BigBlueButton | Jitsi Meet | Apache OpenMeetings | +| ------------------- | ------------- | ---------------- | ------------------- | +| Lizenz | LGPL-3.0 | Apache 2.0 | Apache 2.0 | +| Installation | docker | docker | Manuell | +| Authentifizierung | LDAP, oAuth2 | LDAP | LDAP, oAuth2 | +| Öffentlicher Zugang | ✅ | ✅ | ❌ | +| Moderne Oberfläche | ✅ | ✅ | ❌ | +| Chat | ✅ | ✅ | ✅ | +| Pad | ✅ | ✅ | ❌ | +| Whiteboard | ✅ | ❌ | ✅ | +| Screenshare | ✅ | ✅ | ✅ | +| Telefon Dial-In | ✅ | ✅ | ✅ | +| Breakouträume | ✅ | ✅ | ❌ | +| Recording | ✅ | ✅ | ✅ | +| Kalender | ❌ | Google/Microsoft | ✅ | +| Abstimmungen | ✅ | ❌ | ✅ |