Wie funktioniert die Verschlüsselung von Livestreams? | Videoverschlüsselung

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.

Share facebook icon linkedin icon twitter icon email icon

Live-Stream-Verschlüsselung

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

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 VP9, AV1 und HEVC 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 Livestreaming beschleunigen?

Bei vielen Livestreams müssen die Zuschauer immer noch 20 bis 30 Sekunden Latenz leben – mit anderen Worten, die Inhalte, die sie gerade sehen, hinkt dem Original 20 bis 30 Sekunden hinterher. Zum Teil liegt dies 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 Livestreaming noch weiter beschleunigen?

CDNs sind für Livestreaming 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.

To speed up live streaming, Cloudflare offers a feature called concurrent streaming acceleration. The Cloudflare CDN can deliver a segment of video to multiple end users at once while it is still loading, eliminating the wait time while the entire segment loads. The Cloudflare global network spans 200 cities in more than 95 countries, enabling users around the world to tune into a high-quality, real-time live stream.