Von Google Hangouts zu WebRTC
Remy
07. September 2017 - 7 min
Die Umstellung von Google Hangouts on Air auf WebRTC für das Live-Streaming unserer Webinare war mit Abstand die größte Veränderung in der noch jungen Geschichte von WebinarGeek.
Mit nur einem Klick live gehen, in hoher Qualität senden und das alles ohne Verzögerung. Es klingt fast zu gut, um wahr zu sein. Ende Februar war es dann endlich so weit... die Einführung des neuen WebinarGeek! Von diesem Moment an standen wir wirklich auf eigenen Beinen.
Und das war ziemlich aufregend. Das Streaming der Live-Webinare lief zuvor immer über die Server von Google, doch ab sofort lag diese Verantwortung vollständig bei uns. Das brachte viele Vorteile mit sich, da wir nun viel mehr Kontrolle über Aspekte wie Qualität und Stabilität hatten. Doch natürlich war die Umstellung nicht ohne Herausforderungen. Unterwegs sind wir auf verschiedene Probleme gestoßen, haben Fehler gemacht, sind aber immer wieder aufgestanden und daran gewachsen. In diesem Blog teile ich einige dieser Erfahrungen mit euch und gebe einen Blick hinter die Kulissen dieser spannenden Zeit.
Was ist WebRTC eigentlich?
WebRTC steht für Web Real-Time Communication und ist eine Browser-Funktionalität, die es ermöglicht, in Echtzeit Audio- und Videodaten mit einem anderen Browser auszutauschen.
Ein Programm wie Skype nutzt ebenfalls diese Technologie. Der große Vorteil ist, dass dies ohne die Installation zusätzlicher Software möglich ist. Der Browser kann direkt auf die Kamera und das Mikrofon zugreifen und stellt die grundlegenden Funktionen bereit, um Daten mit einem anderen Browser auszutauschen.
Der wichtigste Vorteil von WebRTC ist die minimale Verzögerung beim Streaming. Es ermöglicht sogenanntes "Low-Latency-Streaming". Besonders beim Streaming zwischen Google Chrome-Browsern gibt es keinerlei Verzögerung bei der Übertragung.
Google Chrome ist der Vorreiter auf dem Gebiet von WebRTC und verfolgt das Ziel, diese moderne Technologie zu einem echten Web-Standard zu machen.
Für uns bei WebinarGeek bedeutet das, dass wir bestimmte Funktionalitäten direkt aus dem Browser auslesen und nutzen können, um eine Webinar-Software darauf aufzubauen. Man kann sich WebRTC als eine Werkzeugbox vorstellen, mit der wir Software entwickeln können.
WebRTC ermöglicht Echtzeitkommunikation von Browser zu Browser
WebRTC hat uns im Vergleich zu Google Hangouts on Air viel gebracht: Die Möglichkeit, ohne Verzögerung live zu streamen, in hoher Qualität zu senden und das direkt über den Browser ohne Installation von Zusatzsoftware oder komplizierte Integrationen.
WebRTC für Webinare anwenden
WebRTC wurde ursprünglich für Videokonferenzlösungen entwickelt, bei denen ein Browser mit einem anderen Browser verbunden ist. Es findet also eine direkte Kommunikation zwischen zwei Browsern statt, ähnlich wie bei Skype.
Für ein Webinar ist das nicht praktisch, da viele Menschen gleichzeitig teilnehmen. Es wäre nicht sinnvoll, wenn dein Computer oder Browser gleichzeitig mit Hunderten von anderen Computern verbunden wäre. In einem Webinar geht es vielmehr darum, Inhalte von einem Computer an viele andere zu senden, anstatt eine direkte Kommunikation hin und her zu führen.
Hier kommt die Magie von WebinarGeek ins Spiel! Wir haben es möglich gemacht, WebRTC für Webinare nutzbar zu machen. So kannst du Webinare ohne Verzögerung durchführen, ohne dass eine direkte Verbindung zwischen allen Teilnehmern erforderlich ist.
Die Magie funktioniert folgendermaßen: Du stellst von deinem Browser aus eine einzige Verbindung zu WebinarGeek her, und wir kümmern uns um den Rest. Wir verteilen deine Verbindung von unseren Servern aus an alle Zuschauer, sodass die gesamte Last der Verbindung auf unserer Seite liegt. Auf diese Weise können wir auch Aufzeichnungen aller Webinare erstellen.
Dies war mit Abstand die größte und wichtigste Herausforderung bei der Implementierung von WebRTC. Du kannst dir vorstellen, dass wir ein kleines Fest gefeiert haben, als wir eine Lösung dafür gefunden hatten.
Messen heißt wissen...
Eines der Dinge, die uns am meisten geholfen haben, ist das Speichern von Informationen. Bei WebinarGeek erfassen wir alles – wirklich alles. Die Statistiken jedes Präsentators und Zuschauers helfen uns, WebinarGeek zu verbessern. Jede Meldung, die auf einem Bildschirm erscheint, jedes Detail der Verbindung: Wir können es nachvollziehen. Ein wichtiger Aspekt unserer Technik ist die stichprobenartige Analyse von Webinaren:
Wie verlief die Übertragung aus Sicht des Präsentators?
Welche Geräte wurden von den Zuschauern genutzt?
Wer konnte nicht teilnehmen und warum?
War die Qualität für Präsentator und Zuschauer ausreichend?
Wer erhielt Fehlermeldungen und weshalb?
Diese regelmäßigen Analysen werden dokumentiert und wöchentlich im Team besprochen. Insbesondere werden Probleme identifiziert, die eine Softwareanpassung oder eine Verbesserung der Benutzerführung erfordern.
Zuschauer verfolgen Webinare unter hunderten verschiedenen Bedingungen: aus dem In- oder Ausland, von Computern, Laptops oder Tablets, über WLAN oder kabelgebunden, mit Internet Explorer, Edge, Safari, Chrome, Firefox oder anderen Browsern in unzähligen Versionen. Diese Vielfalt macht eine kontinuierliche Analyse und Verbesserung notwendig.
Zusätzlich gibt unser System seit August automatisch eine Meldung aus, wenn während eines Webinars Probleme auftreten, wie eine nicht funktionierende Mikrofonverbindung, ein Verbindungsabbruch oder eine auffällig hohe Fehlerquote bei Zuschauern. Dadurch können wir WebinarGeek gezielt weiter optimieren.
Es gibt im WebinarGeek-System buchstäblich eine "Alarmglocke", die läutet, wenn ein laufendes oder abgeschlossenes Webinar unsere Aufmerksamkeit erfordert.
Die Herausforderungen seit der Einführung von WebRTC
Seit der Einführung unserer neuen Streaming-Lösung haben wir Hunderte von Verbesserungen und Erweiterungen umgesetzt. Hier sind einige Herausforderungen, denen wir begegnet sind:
Anpassung der Qualität
Nach der Einführung stellte sich heraus, dass die Mehrheit unserer Kunden erfolgreich Webinare in hoher Qualität durchführen konnte. Einige Kunden hatten jedoch mit Qualitätsproblemen zu kämpfen, wie fehlende Videosegmente oder aussetzender Ton. Unsere Untersuchung ergab, dass dies oft auf instabile Netzwerke (z. B. WLAN auf dem Dachboden) oder niedrige Internetgeschwindigkeiten zurückzuführen war.
Daher haben wir jetzt einen automatischen Netzwerktest auf der Sendeseite eingebaut. Im Hintergrund werden bei Laden der Seite einige Geschwindigkeits- und Netzwerktests durchgeführt, um die optimale Streaming-Qualität zu bestimmen.
Falls die Internetgeschwindigkeit niedrig ist, reduzieren wir automatisch die Videoqualität, um sicherzustellen, dass dein Webinar problemlos stattfindet.
Bildschirmrotation
Unsere Zuschaueranalysen zeigten, dass einige mobile Nutzer zwar die Webinar-Seite öffneten, das Webinar jedoch nie starteten. Auf mobilen Geräten darf ein Video nicht automatisch gestartet werden – eine Einschränkung der Betriebssystemhersteller. Nach weiteren Untersuchungen stellten wir fest, dass es zwei Hauptprobleme gab:
Einige Zuschauer erkannten nicht, dass sie zuerst auf "Play" drücken mussten.
Einige Zuschauer bekamen ein Bild mit der Aufforderung, ihr Gerät zu drehen, um das Webinar im Querformat zu verfolgen. Diese Anweisung wurde nicht immer verstanden.
Als Reaktion darauf haben wir eine klarere und intuitivere Anleitung auf der Seite hinzugefügt, um das Video zu starten, und das Hinweisbild für die Bildschirmrotation überarbeitet. Seitdem sind diese Probleme nicht mehr aufgetreten!
Android-Browser
Apple-Geräte sind einfach zu unterstützen, da fast immer dieselbe Hardware und Software verwendet wird. Android hingegen ist komplexer. Es gibt Dutzende von Gerätemodellen und Versionen sowie viele verschiedene Browser.
Unsere Analysen zeigten, dass einige Android-Nutzer Probleme beim Abspielen der Streams hatten. Die Streams konnten starten, hatten jedoch oft Buffering-Probleme oder brachen vorzeitig ab. Einige Android-Browser und -Geräte unterstützen unser Streaming-Verfahren (HLS) zwar, doch oft nur unzuverlässig oder fehlerhaft.
Daher haben wir das Streaming auf Android-Geräten auf OS-Versionen 4.1 oder höher sowie die Google Chrome-Browser beschränkt (standardmäßig auf allen unterstützten Geräten vorhanden). Eine aktuelle Liste der unterstützten Browser und Versionen ist in unserem Help Center verfügbar.
Unser Fokus für die Zukunft: Skalierung und Qualität
Die WebRTC-Unterstützung in Browsern wird stetig verbessert. Dies ermöglicht uns, Webinare noch stabiler und qualitativ hochwertiger auszustrahlen. Eine der kommenden Google Chrome-Versionen wird z. B. eine neue "Noise Cancellation"-Technologie enthalten, die die Audioqualität verbessert.
Zudem werden WebRTC-Funktionen in Firefox und Safari weiterentwickelt, sodass auch wir sie bald in WebinarGeek nutzen können. Aktuell senden wir Webinare für Nutzer nicht-unterstützter Browser mit einer Verzögerung – ein Problem, das wir in Zukunft beseitigen wollen.
Falls du Fragen oder Feedback hast, kontaktiere uns gerne über den Kundensupport unten rechts!
Verwandte Artikel
Produkt-Update: E-Mail-Follow-ups für Offline-Zuschauer
Entdecke die neuesten WebinarGeek-Updates, die das Organisieren von Webinaren einfacher und effektiver machen. Von verbesserten Statistiken und automatischen Follow-ups bis hin zu erweiterten E-Mail-Optionen und API-Verbesserungen – diese neuen Funktionen helfen dir, Zeit zu sparen, dein Publikum zu binden und deine Arbeitsabläufe zu optimieren.
Produkt-Update: Automatisierte Webinare
Organisieren Sie im Handumdrehen eine Reihe vorab aufgezeichneter Webinare
Produkt-Update März 2020
Tests durchführen, Kapitel hinzufügen und Interaktionen exportieren – das alles ist jetzt möglich!