Wie funktioniert die Codierung eines Livestreams? | Videocodierung

Bei der Verschlüsselung von Livestreams wird ein Livevideo in kleinere Teile zerlegt, komprimiert und die Videodaten über ein CDN verteilt. Verbesserungen dieses Prozesses beschleunigen das Livestreaming.

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • Warum Videodateien codiert werden
  • Wie Live-Stream-Codierung funktioniert
  • Wie Verbesserungen des Live-Stream-Codierungsprozesses die Latenz verringern können

Ähnliche Inhalte


Möchten Sie noch mehr erfahren?

Abonnieren Sie theNET, Cloudflares monatliche Zusammenfassung der beliebtesten Einblicke in das Internet!

Lesen Sie die Cloudflare Datenschutzrichtlinie, um zu erfahren, wie wir Ihre persönlichen Daten sammeln und verarbeiten.

Link zum Artikel kopieren

Was ist Live-Streaming?

Streaming ist eine Methode zur Bereitstellung von Daten über das Internet, ohne dass die Daten beim Endbenutzer vollständig heruntergeladen werden müssen. Live-Streaming ist eine Art von Streaming, bei dem der Stream in Echtzeit im Internet übertragen wird, ohne zuvor aufgezeichnet und gespeichert zu werden.

Beispiele für Livestreaming sind Streaming bei Videospielen, Social-Media-Streams wie Periscope und Facebook Live sowie professionelle Sportübertragungen über das Internet. Man kann sowohl Audio als auch Video live streamen, aber in diesem Artikel soll es um Live-Videostreaming gehen.

Was ist Videocodierung?

Bei der Videocodierung werden Videodaten komprimiert, damit sie effizient an einen anderen Ort gesendet werden können. Das Gerät, das einen Stream empfängt – beispielsweise ein Tablet, auf dem ein Benutzer seine Lieblingssendung sieht – decodiert die verschlüsselten Daten. Für die Videocodierung gibt es öffentlich bekannte Standards, damit eine Vielzahl von Geräten den verschlüsselten Stream interpretieren kann.

Für die Verschlüsselung von Videos gibt es hauptsächlich zwei Gründe:

  1. Für praktikables Streaming würde es viel zu lange dauern, unkomprimierte Videodateien über das Internet zu versenden.
  2. Videos müssen in einem Format vorliegen, das jedes Endgerät, ob Smartphone, Laptop, PC usw., interpretieren kann.

Bei einem Video-Livestream werden audiovisuelle Daten von einem Gerät aufgenommen, codiert und gleichzeitig an das Publikum versendet. Die Codierung im Rahmen dieses Vorgangs ist wichtig, damit viele verschiedene Endgeräte das Video empfangen und abspielen können.

Wie funktioniert die Codierung eines Livestreams?

Ein Livestream wird von einer Quelle, an der Videos aufzeichnet werden – z. B. einer Webcam – an einen Server gesendet, auf dem der Videofeed über ein Streaming-Protokoll wie HLS oder MPEG-DASH in kleinere Segmente aufgeteilt wird, die jeweils einige Sekunden lang sind.

Die Videoinhalte werden nun entsprechend eines Codierungsstandards verschlüsselt. Dabei ist heute der Codierungsstandard H.264 weit verbreitet, aber auch Standards wie H.265, VP9 und AV1 werden immer häufiger verwendet. Bei diesem Verschlüsselungsvorgang wird das Video komprimiert. Dazu werden redundante visuelle Informationen entfernt. Wenn beispielsweise in einem Stream jemand abgebildet ist, der vor dem Hintergrund eines blauen Himmels spricht, muss dieser blaue Himmel nicht für jede Sekunde des Videos erneut gerendert werden, da sich nicht viel ändert. Der blaue Himmel kann also bei den meisten Videobilddaten weggelassen werden.

Die komprimierten und segmentierten Videodaten werden dann über ein Content Delivery Network (CDN) verbreitet. Ohne so ein CDN könnten nur sehr wenige Zuschauer den Livestream laden. Warum das so ist, erklären wir im letzten Abschnitt dieses Artikels.

Bei den meisten Mobilgeräten ist ein Encoder integriert. So kann auch der Normalbenutzer Livestreams auf Social-Media-Plattformen und über Messaging-Apps übertragen. Wenn für eine Marke oder ein Unternehmen ein Stream höherer Qualität benötigt wird, können eigene Codierungsprogramme, -hardware oder beides eingesetzt werden.

Wie können neue Technologien das Live-Streaming beschleunigen?

Bei vielen Livestreams müssen die Zuschauer immer noch mit 20 bis 30 Sekunden Latenz leben – mit anderen Worten, die Inhalte, die sie gerade sehen, hinken dem Original 20 bis 30 Sekunden hinterher. Zum Teil liegt das daran, dass jedes Videosegment vollständig geladen werden muss, bevor es abgespielt werden kann, und das Laden eines Videosegments kann einige Sekunden dauern.

Eine Lösung für diese Verzögerung ist ein Vorgang namens „Chunked Encoding“, also „stückweise Codierung“. Dabei werden die Videosegmente in noch kleinere Teile zerlegt. Diese kleineren Teile werden dann codiert, und die Geräte, die den Stream empfangen, können diese kleineren Teile schon abspielen, bevor das gesamte Segment geladen wurde.

Wie können CDNs das Live-Streaming noch weiter beschleunigen?

CDNs sind für Live-Streaming unerlässlich, denn nur mit ihnen kann ein Stream an Benutzer an sehr unterschiedlichen Orten verteilt werden. Außerdem haben CDNs viel mehr Bandbreite für die Verteilung eines Streams als ein einzelner Ursprungsserver. Ohne CDN kann es beim Livestream leicht Probleme bei der Bandbreite geben.

Bei den meisten CDNs muss jedoch immer noch ein vollständiges Videosegment geladen werden, bevor das Segment für mehrere Benutzer gleichzeitig bereitgestellt werden kann. Damit kehrt das Latenzproblem zurück, das durch abschnittsweise Codierung eigentlich gelöst werden sollte.

Um das Live-Streaming zu beschleunigen, bietet Cloudflare ein als „Concurrent Streaming Acceleration“ bezeichnetes Feature an. Das Cloudflare CDN kann ein Videosegment an mehrere Endbenutzer gleichzeitig liefern, während es noch geladen wird, wodurch die Wartezeit beim Laden des gesamten Segments eliminiert wird. Das globale Netzwerk von Cloudflare erstreckt sich über 330 Städte in mehr als 120 Ländern und ermöglicht es Benutzern auf der ganzen Welt, einen Live-Stream in hoher Qualität in Echtzeit zu empfangen.