Welche Übertragungs­technologien sollten für Live-Video verwendet werden?

In diesem Beitrag machen wir, passend zum Beitragsbild, einen „Blick unter die Haube“ der Live-Videoübertragung. Dazu werden die neben dem Webstandard HTML5 für einen Livestream wichtigsten Übertragungsprotokolle näher vorgestellt.

Inhaltsverzeichnis

Grafische Darstellung der Protokolle

Die abgebildete Grafik veranschaulicht zur Einführung den bereits im letzten Beitrag beschriebenen Prozess eines unidirektionalen Livestreams. Dabei wurden auch die im aktuellen Beitrag beschriebenen Standards und Protokolle übersichtlich dargestellt.

Livestream von Aufnahme- zu Endgerät

HTML5

Das Internet ist für die Menschheit zur Selbstverständlichkeit geworden. Videos, Bilder, Ton und Text können bequem vom Endgerät aus abgerufen werden. Damit eine reibungslose Kompatibilität aller Websites mit den verschiedensten Anzeigegeräten gegeben ist, sind die Bestandteile von Webseiten durch eine standardisierte Programmiersprache definiert – der Hypertext Markup Language oder auch kurz „HTML“. Hypertext ist ein Kofferwort aus „Hyperlinks“, also URL-Verlinkungen und „Text“. HTML-Dateien sind reine Textdateien, die von Browsern interpretiert und angezeigt werden. Die 5. Version der Hypertext Markup Language wurde 2014 offiziell eingeführt und bot erstmals die Möglichkeit einer unkomplizierten Einbindung von Video- und Audiodateien. (Bühler et al., 2018, p. 2f)

Besonders relevant im Kontext dieser Arbeit ist HTML5, da durch HTML5-Player das moderne Livestreaming, wie es heute bekannt ist, erst ermöglicht wurde. Der HTML5-Videoplayer wurde von Apple entwickelt, um den in die Jahre gekommenen Adobe Flash Player aufgrund seiner Sicherheitslücken und Inkompatibilitäten mit Browsern zu ersetzen. Die universelle Verbreitung konnte er aufgrund hoher Kompatibilität mit Browsern bzw. Geräten, leichter Anpassung an die eigenen Bedürfnisse und guten Sicherheitsfunktionen erreichen. Für die Wiedergabe von Livestreams wird der HTML5-Player häufig mit dem HLS-Protokoll kombiniert. (Krings, 2022)

Real-Time Messaging Protocol (RTMP)

Das Real Time Messaging Protocol wurde ursprünglich von Adobe für den Flash Player entwickelt. Es baut einen bidirektionalen Übertragungskanal auf, wodurch beide Seiten – meist Server und Client – miteinander kommunizieren können. Das RTMP ist nicht nur für Videostreaming, sondern auch für andersartige Daten einsetzbar. Um die Sicherheit für sensible Umgebungen zu erhöhen, kann durch Verwendung von Real-Time Messaging Protocol Secure (RTMPS) eine SSL/TLS-Verschlüsselung bei der Übertragung genutzt werden. (Rohr, 2018, p. 319)

Bei aktuellen Livestreams wird das RTMP verwendet, um das enkodierte Video vom Encoder zum Streaming Server zu übermitteln. Die Vorteile des RTMP liegen in der geringen Latenz und in der Flexibilität in Hinsicht auf übertragbare Audio- und Videoformate. Das Protokoll erlaubt Zusehern und Zuseherinnen außerdem vor- und zurückzuspulen, sowie den Stream nach Beginn an der aktuellen Stelle zu starten – Funktionen, die von heutigen Nutzern und Nutzerinnen vorausgesetzt werden. Die generelle Inkompatibilität mit HTML macht es allerdings unmöglich, den RTMP-Stream direkt in eine Website einzubetten, weshalb der Zwischenschritt über eine Streaming-Plattform idealerweise mit CDN gemacht werden muss. Nachdem es ursprünglich in den Anfangstagen des Streamings für Flash Player entwickelt wurde, wird es heutzutage nicht mehr verwendet, um das Video an Zuseher und Zuseherinnen zu übertragen. Stattdessen wird RTMP meistens mit dem aktuelleren HLS-Protokoll, welches diese Aufgabe übernimmt, kombiniert. (Wilbert, 2021)

HTTP Live Streaming (HLS)

Das HTTP Live Streaming Protokoll verwendet HTTP (Hypertext Transfer Protocol) zur Übermittlung von Audio- und Videofiles von einem Server bzw. CDN zu wiedergebenden Endgeräten. Da gängige Standard-Webtechnologien verwendet werden, braucht es keine speziellen Server für die Verwendung. Das Protokoll kann sowohl für Live- als auch für On-Demand-Übertragungen verwendet werden. HLS unterstützt sowohl Multi- als auch Adaptive-Bitrate und ist somit dafür geeignet, dem User oder der Userin ein bestmögliches Erlebnis zu bieten. Darüber hinaus können Sicherheitsmechanismen, wie Verschlüsselung der Medien oder User-Authentifizierung, über das Protokoll implementiert werden. (Apple, n.d.)

Ursprünglich 2009 von Apple veröffentlicht, um Flash von den eigenen Geräten zu entfernen, hat sich HLS aufgrund der breiten Kompatibilität mit Desktop Browsern, Smart-TVs, sowie Smartphones mit Android oder iOS zum weitest verbreiteten Streaming-Protokoll entwickelt. In der aktuellen Version wird auch der bereits im letzten Beitrag erwähnte H.265 Codec, welcher die doppelte Bildqualität bei gleicher Dateigröße wie H.264 liefert, unterstützt. (Wilbert, 2021)

HLS könnte sogar den ganzen „Weg“ des zu übertragenden Videos übernehmen und RTMP obsolet machen. Allerdings verhindert der größte Nachteil des Protokolls, die im Vergleich hohe Latenz, die Verdrängung von RTMP. Außerdem sind kompatible Encoder aktuell noch selten und vergleichsweise teuer. (Wilbert, 2022)

WebRTC

Eine der größten Herausforderungen für den digitalen Informationsaustausch ist, latenzfreie und qualitative Video- und Audiokommunikation zu ermöglichen. Der Austausch soll in Echtzeit durchführbar sein. WebRTC ist eine quelloffene, kostenfreie und standardisierte Sammlung aus Software-Komponenten und Protokollen, die direkt in Browser implementierbare Echtzeitkommunikation ermöglicht. Dies wird auch durch den Namen verdeutlicht, da die Abkürzung RTC für „real-time communication“ steht. Der Standard wurde 2011 von Google veröffentlicht und ist heutzutage durch Kompatibilität mit den gängigsten Browsern, wie Google Chrome, Microsoft Edge, Apple Safari, Mozilla Firefox und Opera weit verbreitet. (Dutton, 2020)

WebRTC verwendet auf HTML5-basierende Komponenten, um eine bidirektionale Verbindung zwischen Endgeräten herzustellen und ist somit die wichtigste webbasierte Lösung für Videokonferenzen. Video- und Audiosignale können direkt im Browser erfasst, enkodiert und übermittelt werden. Im einfachsten Betriebsmodus werden somit sämtliche weitere Hardware- und Softwarevoraussetzungen eines „klassischen“ Livestreams eliminiert – weder werden externe Encoder benötigt noch ein Server für die Übermittlung. Da HTML5 als Basis verwendet wird, ist auch die Wiedergabe über HTML5-Player möglich. Neben Features wie Plattformunabhängigkeit, offenem Quelltext und der Fähigkeit, einen Multi-Bitrate Stream auszuliefern, liegt der größte Vorteil von WebRTC gegenüber HLS in der geringen Übertragungsverzögerung. Dies ist in folgender Grafik dargestellt. (Ruether, 2021)

Latenz von Übertragungsprotokollen (Ruether, 2021)

Da WebRTC auf der Verbindung zwischen Endgeräten aufbaut und ohne Server betrieben werden kann, liegt das größte Manko in der Skalierbarkeit. Da User-zu-User Verbindungen viel Bandbreite benötigen wird davon abgeraten, Veranstaltungen mit mehr als 50 Personen durchzuführen. Ein Nachteil gegenüber HLS ist außerdem die limitierte Unterstützung von Streams mit adaptiver Bitrate. (Ruether, 2021)

Neben der Bitrate spielen noch weitere Faktoren eine Rolle bei der visuellen Zufriedenheit von Zusehern und Zuseherinnen. Gerade bei Livestreams mit schnelleren Bewegungen können Kompressionsartefakte im Bild die wahrgenommene Qualität erheblich beeinflussen. Auch andere Verzerrungen oder Störfrequenzen können durch Bewegungen verstärkt werden, das Bild kann diskontinuierlich und somit nicht flüssig erscheinen. Unscharfe Kanten oder Bewegungsfehler sind weitere negative Einflüsse auf das Seherlebnis. Während für Streaming von Video-On-Demand-Inhalten bereits gute Qualitätsmechanismen existieren, ist im Bereich des Livestreamings noch weitere Forschung im Bereich von Algorithmen zur Qualitätssicherung der Übertragung nötig, um eine maximale Zufriedenheit von Zusehenden sicherzustellen. (Shang et al., 2021)

Im nächsten Beitrag planen wir einen Blick auf Softwarelösungen für kleinere und größere hybride/digitale Events. Welche gibt es? Welche sollten wozu verwendet werden? Und wir werden sie idealerweise verwendet? Stay tuned!


Apple. (n.d.). HTTP Live Streaming. Apple Developer Documentation. Retrieved August 19, 2022

Bühler, P., Schlaich, P., & Sinner, D. (2018). HTML5 und CSS3: Semantik – Design – Responsive Layouts. Springer-Verlag.

Dutton, S. (2020, November 24). Get started with WebRTC. Web.Dev.

Krings, E. (2022, June 22). What is Live Streaming Technology? | How Does Video Streaming Work? Dacast.

Rohr, M. (2018). Technische Sicherheitsmaßnahmen. In M. Rohr (Ed.), Sicherheit von Webanwendungen in der Praxis: Wie sich Unternehmen schützen können – Hintergründe, Maßnahmen, Prüfverfahren und Prozesse (pp. 121–344). Springer Fachmedien.

Ruether, T. (2021, October 5). What Is WebRTC | Interactive Real-Time Streaming. Wowza Media Systems.

Wilbert, M. (2021, May 25). The 6 Best Video Streaming Protocols and Streaming Formats. Dacast.

Wilbert, M. (2022, January 26). HLS Ingest: What It Is and How It Works for Video Streaming. Dacast.

Beitrag veröffentlicht von:

Christopher Zajac, MSc

Geschäftsführer & Partner bei oneand.online