Welche Videokonferenzplattform ist die richtige für Ihre Fitness-App?

Apr 27, 2021


Innerhalb weniger Monate eroberte COVID-19 die Welt, und die Fitnessbranche war unter den Branchen, die am stärksten betroffen waren. Diese Veränderung führte dazu, dass Videokonferenzplattformen zu einem Muss und sogar zu einer Kernfunktion für die meisten Fitness-Apps wurden.

Das bedeutete auch, dass wir sehr bald herausfinden mussten, welche Videokonferenzplattform am besten für unsere Kunden geeignet war, die ihren Nutzern (Fitnessprofis und Trainern) die Möglichkeit geben wollten, ihre Kurse virtuell abzuhalten.

Zu diesem Zweck haben wir 5 Videokonferenzplattformen analysiert, die sich leicht in Ihre Anwendung (Web, Mobile, Backend) integrieren lassen. Ausgangspunkt für die Analyse sind die folgenden Anforderungen und Annahmen:

  • Videokonferenzen sind nicht die Kernfunktion der Anwendung;
  • Das Videostreaming sollte in beide Richtungen erfolgen (der Trainer beobachtet auch die Schüler);
  • Zeit und Kosten sollten in Betracht gezogen werden;
  • Die Lösung sollte in das Web, Android und iOS integriert werden.

WebRTC

Wenn man Anforderungen an Videokonferenzen stellt, fällt einem als erstes WebRTC ein. Aber was macht WebRTC eigentlich?

WebRTC ist eine Technologie, die von den meisten Browsern und mobilen Plattformen (Bibliotheken/SDKs) unterstützt wird und als Rahmenwerk die anfängliche Signalisierung, die P2P-Kommunikation und das Videostreaming abdeckt. Für eine endgültige Lösung reicht dieses Rahmenwerk jedoch nicht aus, da Sie in der Regel mehr als die Kernfunktionen und höchstwahrscheinlich ein Rahmenwerk oder eine Plattform benötigen, die WebRTC einbettet und mit einigen weiteren "letzten" Details versieht.

Komponenten einer Videokonferenzlösung

Auch wenn jeder Dienst bzw. jede Lösung andere Bezeichnungen verwendet, sollten wir davon ausgehen, dass wir sie verwenden werden:

  • Einen Raum, um Sitzungen und Meetings auf anderen Plattformen zu benennen;
  • Eine Option für Teilnehmer, um Benutzer oder Teilnehmer zu benennen, die dem Raum beitreten werden.

Videokonferenz-Server

ist eine Serveranwendung, die das WebRTC-Framework implementiert (wraps) und die Erstellung von Konferenzräumen und das Senden von Verbindungsdetails an die Teilnehmer ermöglicht, einschließlich aller anderen unterstützenden Dienste und Tools. Dieser Server kann selbst gehostet werden (Jitsi) oder als Dienst genutzt werden (Amazon Chime, Twilio Video, Zoom usw.).

Anwendungsserver

kommuniziert zwischen den Client-Anwendungen und dem Videokonferenzserver. Der Anwendungsserver ist für die Erstellung eines Raums sowie für die Erstellung von Zugangstoken und deren sichere Übermittlung an die Client-Anwendungen verantwortlich. Der Anwendungsserver kann auch auf Ereignisse vom Videokonferenzserver/-dienst warten und darauf reagieren.

Client-Anwendung

ist eine mobile oder Web-Anwendung, die eine Verbindung zu einem Videokonferenzraum herstellen kann. Client-Anwendungen sollten ein geeignetes SDK integrieren, das mit einem Videokonferenzserver kommunizieren und eine Verbindung herstellen kann. Das integrierte SDK (Bibliothek) bietet eine Implementierung für eine erfolgreiche Kommunikation und Unterstützung für WebRTC. Es kann auch eine grundlegende oder vollständige UI-Implementierung für Videokonferenzfunktionen wie Beitreten, Verlassen, Stummschalten, Audiowechsel, Kamerawechsel, Bildschirmfreigabe usw. bieten.

In der Abbildung unten sehen Sie die erforderlichen Schritte zum Aufbau einer Videokonferenz:

Which_Video_Conferencing_Platform_Is_Right_For_Your_Fitness_App_2.webp

Jitsi

"Jitsi ist eine Sammlung von Open-Source-Projekten, die hochmoderne Videokonferenzfunktionen bereitstellen, die sicher, einfach zu bedienen und leicht selbst zu hosten sind." - Jitsi-Dokumentation.

Wie bereits erwähnt, ist die Lösung Open-Source und kann auf unserer Infrastruktur gehostet werden. Das bedeutet, dass sie in hohem Maße anpassbar ist und wir daher einen großen Aufwand für die Implementierung und Wartung erwarten sollten. Das Projekt befindet sich noch in der Entwicklung und hat eine überschaubare Community.

Auf der einen Seite nutzt unser Kunde es bereits in seinem Produkt für sichere Videokonferenzen und hat eine selbst gehostete Lösung, auf der anderen Seite arbeitet ein ganzes Team daran. Dies führte uns zu dem Schluss, dass wir für diese Art von Aufgaben einen dedizierten Backend-Entwickler mit WebRTC-Erfahrung benötigen.

Funktionen aus den Jitsi-Dokumenten:

  • automatische Anzeige des aktiven Sprechers oder Anklicken eines beliebigen Teilnehmers, um dessen Video zu sehen;
  • einen Raum mit einem Passwort sperren;
  • Live-Streaming einer Konferenz auf YouTube (wenn Jibri konfiguriert ist);
  • Gemeinsames Textdokument auf Basis von Etherpad;
  • Heben/Senken der Hand für Aufmerksamkeit;
  • Statistik der Gesprächszeit der Teilnehmer;
  • Push-to-Talk-Modus;
  • Abspielen eines YouTube-Videos für alle Teilnehmer;
  • Option "Nur Audio";
  • Integration in andere Anwendungen/Websites.

Vorteile: Es ist quelloffen und anpassbar, hat eine bestehende Community, ist nicht auf Dienste von Drittanbietern und deren Einschränkungen angewiesen

Nachteile: Erhöhter Aufwand und Kosten für Hosting, laufende Wartung und Skalierung bei steigender Nutzerzahl

Zoom SDK

Zoom ermöglicht die Integration seiner Plattform und Funktionalitäten in andere Anwendungen durch Zoom SDK und Zoom API. SDK als Service sollte alle Funktionen unterstützen, die die Zoom-Anwendung standardmäßig unterstützt.

Das Zoom SDK ermöglicht den Beitritt zum Meeting (Raum) für nicht authentifizierte Benutzer, aber die Erstellung und das Hosting des Meetings erfordern eine Benutzerkennung. Back-End-Anwendungen müssen weiterhin Meetings erstellen und Token für die Teilnehmer generieren.

Funktionen:

  • alle Zoom-Funktionen;
  • anpassbare UI;
  • geplante Meetings.

Vorteile: bewährte und bekannte Zoom-Infrastruktur und -Funktionen, vertraute Zoom-Benutzeroberfläche kann wiederverwendet werden

Nachteile: SDK-Größe (~90Mb), schlechte Dokumentation, SDK nicht auf dem neuesten Stand, unklare Preisgestaltung, Beispielcode nicht einfach zu integrieren

*Update: In der Zwischenzeit hat Zoom ein neues Video-SDK veröffentlicht, das vielversprechender aussieht. Die Hauptunterschiede sind leichtgewichtige Client-SDKs, eine einfach zu bedienende und sehr anpassbare Benutzeroberfläche, aber auch rohe Audio- und Video-Streams. Sie können den Vergleich hier nachlesen.

Twilio Video-SDK

Twilio Programmable Video ist eine Cloud-Plattform, die es Entwicklern ermöglicht, Video- und Audio-Chat zu Web-, Android- und iOS-Anwendungen hinzuzufügen. Die Plattform bietet REST-APIs, SDKs und Hilfstools, die das Erfassen, Verteilen, Aufzeichnen und Rendern von Audio, Video und Bildschirmfreigaben in hoher Qualität vereinfachen. Twilio Programmable Video wurde auf WebRTC aufgebaut.

Der Dokumentation zufolge lässt sich der Dienst zuverlässig skalieren, SDKs sind für alle wichtigen Plattformen (Web und Mobile) verfügbar und gut getestet. Schnelles Bootstrapping und die Inbetriebnahme des Dienstes werden durch Quickstarts und Codebeispiele unterstützt. Twilio unterstützt E2E-verschlüsseltes Video (für 2 Teilnehmer), was für einige Lösungen wie Gesundheitstechnologie, kleine Räume (bis zu 4 Teilnehmer) und Gruppenräume (bis zu 50 Teilnehmer) wichtig ist. In der Zwischenzeit haben wir mit der Arbeit an einem neuen Projekt begonnen, das das Twilio Video SDK erfolgreich in seine Anwendung integriert hat.

Which_Video_Conferencing_Platform_Is_Right_For_Your_Fitness_App_3.webp

Merkmale:

  • P2P-Räume;
  • Gruppenräume;
  • REST-Orchestrierung und Webhooks;
  • HIPAA (Health Information Privacy in the US) fähig, vollständige Layout- und Medienkontrolle;
  • Bildschirmfreigabe und Co-Browsing;
  • Aufzeichnungen und Kompositionen.

Vorteile: Gute und ausführliche Dokumentation, die Architektur ist detailliert beschrieben, einfache Integration, leichtes SDK, komplette Apps als Integrationsbeispiele

Nachteile: Preis, Flexibilität, Zuverlässigkeit

Amazon Chime SDK

Als Unternehmen ist Intertec auf AWS-Dienste angewiesen, daher sind die Erwartungen an das Amazon Chime SDK hoch. Das Amazon Chime SDK ist eine Reihe von Echtzeit-Kommunikationskomponenten, die Entwickler verwenden können, um ihren Web- oder Mobilanwendungen schnell Audio- und Videoanrufe sowie Screensharing-Funktionen hinzuzufügen. Entwickler können dieselbe Kommunikationsinfrastruktur und dieselben Services nutzen, die auch Amazon Chime, einen Online-Meeting-Service von AWS, antreiben, und in ihren Anwendungen ansprechende Erlebnisse bieten.

Merkmale:

  • Audioanrufe;
  • Videoanrufe;
  • Bildschirmfreigabe;
  • bis zu 250 Teilnehmer.

Vorteile: Amazon-Service (Skalierbarkeit und Leistung), unsere Anwendungsserver sind normalerweise auf AWS, Preis

Nachteile: schlechte Integration, Dokumentation und Beispielcode, großer Aufwand für die Integration in Client-Anwendungen, begrenzt auf 16 Videostreams, da es keinen zentralen Medienserver gibt.

Unsere Vergleichstabelle:

Which_Video_Conferencing_Platform_Is_Right_For_Your_Fitness_App_4.webp

*keine zentrale Medienserverkommunikation - laut Dokumentation, die nicht explizit ist, aber aus der Tatsache, dass nur 16 Videostreams erlaubt sind, Bandbreitenanforderungen und wie die Aufzeichnung implementiert werden kann, erfolgt die Medienstromkommunikation direkt zwischen den Peers und es gibt keinen zentralen Medienserver für das Streaming.

** New Zoom Video SDK wurde nicht in der Praxis getestet. Alle Daten in der Tabelle stammen aus der Dokumentationsseite.

Entscheidung und abschließende Empfehlungen

Die Analyse ist abgeschlossen. Die vorgeschlagene Lösung ist Twilio und hier sind die Gründe dafür:

  • sehr gut dokumentierte Architektur, API und Integration;
  • vollständige und nützliche Beispielanwendungen und Beispielcode;
  • einfache Integration in unsere Lösung, der geschätzte Aufwand war im Vergleich zu den anderen Lösungen geringer;
  • die Größe der mobilen SDKs ist akzeptabel. Das Zoom-SDK ist nicht akzeptabel, da es die Größe der App um 90 MB erhöhen würde, und Videokonferenzen sind nicht unsere Kernfunktion;
  • vorhersehbare, faire Preise und Kosten.

Wenn wir nicht auf Zeit und Aufwand beschränkt wären und Videokonferenzen das Kernfeature sind, würden wir Jitsi wahrscheinlich ernsthafter in Betracht ziehen und es ausprobieren, einfach weil wir gerne an Open-Source-Projekten arbeiten und wir alle Aspekte der Lösung kontrollieren können.

Goran Krstevski

Goran Krstevski

Buchen Sie eine kostenlose Beratung

Wählen Sie Ihre Branche*

Bitte wählen Sie Ihre Branche*

Wählen Sie Ihren Servicetyp

Bitte wählen Sie Ihren Servicetyp

calendarWann passt es Ihnen am besten für ein kurzes Gespräch

Die mit * gekennzeichneten Felder sind Pflichtfelder

Alle Beiträge anzeigen