Achtung
Sie haben Cookies im Browser deaktiviert. Die Seite wird falsch angezeigt!

Das ausfallsichere Transcodierungssystem von G-Core Labs

Wir haben eine neue Technologie in unserer Streaming-Plattform implementiert. Es handelt sich um ein System zur ausfallsicheren Transcodierung und Übertragung von Live-Streams im HLS Format. Die neue Technologie verbessert die Transcodierungsstabilität und optimiert die Übertragung von Videoinhalten an ein Publikum mit über 1.000.000 Zuschauern.

In diesem Beitrag können Sie erfahren, wie das System unseren Kunden hilft, die Streaming-Qualität zu verbessern.

So sieht das neue System aus

Das ausfallsichere Transcodierungs- und Streamübertragungssystem ist ein Cluster bestehend aus Transcodierungsservern, die von einem Load Balancer verwaltet werden. Dieses Cluster empfängt den originalen Videostream und liefert transcodierte adaptive Dateien, die über HTTP verfügbar sind, also im HLS oder alternativ im MPEG DASH Format.

Die wichtigsten Systemelemente:

  1. Drei (oder mehr) ähnlich leistungsstarke Transcodierungsserver.
  2. Ein Load Balancer, der die Datenlast zwischen den Servern verwaltet und verteilt.
  3. Ein CDN, um die Dateien für die Nutzer bereitzustellen.

Das Schlüsselmerkmal eines solchen Transcodierungssystems ist, dass es keinen zentralisierten Speicherort gibt, an dem adaptive Dateien gespeichert werden. Wir verteilen die Elemente bei der Übertragung von Videoinhalten, wodurch wir Folgendes erreichen:

  • garantiert ununterbrochene Übermittlung der Videoinhalte an die Zuschauer;
  • verbesserte Stabilität von Live-Stream-Übertragungen;
  • Verringerung der internen Netzauslastung;
  • schnellere Übertragung von Inhalten;
  • Vereinfachung der Verbindung der verschiedenen Elemente;
  • ausschliessen eines zusätzlichen Fehlerpunktes.

Da kein zentraler Speicher vorhanden ist, können zusätzliche Hindernisse entstehen (z.B. können Daten uneinheitlich werden, wenn der Transcodierungsserver wechselt). Unsere Entwickler haben jedoch alle Details berücksichtigt und alle Probleme gelöst.

So funktioniert die ausfallsichere Transcodierung und Stream-Übertragung

1. Stream-Empfang für die Transcodierung

Zunächst generiert der Load Balancer die erforderlichen Parameter, wählt auf der Grundlage dieser den am besten geeigneten Server aus dem Cluster aus und sendet über einen Redis-basierten Messaging-Server einen Befehl an den Server.

Der Server empfängt den Befehl und den Original-Stream im RTMP oder einem anderen geeigneten Videoformat.

2. Die Transcodierung

Der Server transcodiert das Video in das HLS Format. Der Stream besteht aus zwei Dateitypen:

  1. Chunks — kurze Videoteile, die 2–5 Sekunden lang sind.
  2. Chunk-Listen — Wiedergabelisten, d.h. Listen mit den Namen der erzeugten Chunks, die ständig aktualisiert werden. Der Player fordert diese Dateien regelmäßig über eine im Voraus bekannte permanente URL an. So hat der Player immer eine aktuelle Chunk-Liste zum Abspielen verfügbar.

Jeder Chunk hat einen eigenen, einzigartigen Namen, der mit der Transcodierungszeit verbunden ist. Das ist notwendig, wenn die Transcodierungssitzung auf verschiedenen Servern neu gestartet wird (z.B. wenn die Last neu verteilt wird oder ein Server ausfällt). Durch einzigartige Namen ist es unmöglich, dass sich verschiedene Dateien überschneiden, wodurch das Problem der Datenkonsistenz gelöst wird.

Der Name der Chunk-Listendatei muss jedoch auf allen Servern gleich sein. Die Chunk-Listen werden getrennt von den Chunks gespeichert, um die Erstellung mehrerer nicht relevanter Dateien zu vermeiden. Der Ordner, in dem diese gespeichert werden, wird ständig mit jedem Server synchronisiert, sodass jeder Server immer über eine aktuelle Chunk-Liste verfügt.

Da es sich bei den Chunk-Listen um kleine Dateien handelt, entsteht durch die ständige Serversynchronisation keine nennenswerte Netzwerkbelastung und es kommt nicht zu längeren Verzögerungen.

Da alle Server über eine aktuelle Chunk-Liste verfügen, müssen fertige Chunks nicht neu codiert werden, wenn der Transcodierungsserver gewechselt wird. Alle transcodierten Teile bleiben in der Chunk-Liste und werden vom vorhergehenden Server geladen.

3. Streamübertragung über CDN

Nachdem der Stream transcodiert wurde, wird er an das Content Delivery Network (CDN) übertragen und an die Nutzer weitergeleitet.

Alle Transcoding-Cluster-Server werden als Inhaltsquelle für das CDN angegeben.

  1. Das Netz fordert eine Chunk-Liste von einem zufälligen Server des Clusters an. Das ist möglich, weil die Chunk-Listen auf allen Servern gleich sind.
  2. Bei der Anfrage nach dem gewünschten Chunk spricht das CDN alle Server an und findet das gesuchte Fragment anhand des einzigartigen Namens.
  3. Die Videobeiträge werden den Nutzern in der richtigen Reihenfolge zugestellt.

Das ausfallsichere Transcodierungssystem von G-Core Labs

4. Fehlertoleranz-Absicherung

Wie bereits erwähnt, müssen die Chunks bei einem Wechsel des Transcodierungsservers nicht neu codiert werden, da die notwendigen Fragmente vom vorherigen Server heruntergeladen werden. Was passiert aber, wenn der vorhergehende Server ausfällt und alle transkodierten Fragmente nicht mehr verfügbar sind? In diesem Fall kann der Zuschauer das Video nicht zurückspulen.

Wir können dieses Problem auf zwei Wegen lösen.

Weg 1: Zwischenspeicherung vorgefertigter Chunks auf einem Zwischenserver zwischen dem CDN und dem Transcodierungssystem. Im G-Core Labs CDN spielt das Origin Shielding die Rolle eines solchen Servers. Alle Fragmente werden ausnahmslos im Origin Shielding gespeichert und bleiben im Falle eines Ausfalls verfügbar.

Weg 2: Erstellung eines Serverpaares innerhalb eines Clusters, das vorgefertigte Chunks austauscht. Dies erhöht die Serverlast geringfügig. Wenn jedoch nur zwei Server betroffen sind, erhöht sich die Belastung nur geringfügig und die Fehlertoleranz ist gewährleistet.

Unsere Kunden können selbst entscheiden, welchen Weg sie wählen. Beachten Sie dabei bitte, dass Origin Shielding eine kostenpflichtige Option ist. Wenn Sie jedoch Videos an ein großes Publikum übertragen, ist es sinnvoll, sich für die kostenpflichtige Variante zu entscheiden, da das Origin Shielding das System auch vor extremen Belastungen schützt.

Vorteile der Technologie

  • Für Streaming mit niedrigen Latenzzeiten geeignet. Das System kann Chunk-Listen aktualisieren und fertige Chunks schnellstmöglich übermitteln. Die Streams werden mittels des HTTP Protokolls übertragen. Das bedeutet, dass unseren Kunden mit der neuen Technologie die Möglichkeit gegeben wird, ihre Videoinhalte mit einer Verzögerung von höchstens 4 Sekunden zu übertragen.
  • Gewährleistet Fehlertoleranz. Der Load Balancer verteilt die Last im Cluster gleichmäßig und die transcodierten Chunks werden auf einem Zwischenserver (Shielding) oder dem zweiten Transcodierungsserver dupliziert. Ihre Zuschauer können sich Ihre Videoinhalte auch dann ansehen, wenn einer der Server ausfällt.
  • Reduziert die Netzwerkbelastung. Da es keinen zentralen Speicherplatz gibt, wird die Netzwerkbelastung reduziert. Die stabile Übermittlung von Inhalten erfordert weniger Bandbreite.

Failsafe-Transcoding für Streaming-Zwecke verwenden

Diese Technologie ist jetzt für alle Kunden unserer Streaming-Plattform standardmäßig verfügbar.

Unsere Plattform verwendet fortschrittliche Technologien zur Übermittlung von Videoinhalten. So können Sie Ihre Videos in bis zu 8K-Qualität auf allen Gerätetypen mit minimalen Verzögerungen und ohne Buffering übertragen, selbst wenn Ihr Publikum 1.000.000 Zuschauer übersteigt.

Zusammenfassung

  1. Wir haben eine neue Technologie in unserer Streaming-Plattform implementiert. Es handelt sich um ein System zur ausfallsicheren Transcodierung und Übertragung von Live-Streams im HLS Format.
  2. Bei dem System handelt es sich um ein Cluster, der aus drei oder mehr Transcodierungsservern besteht, die von einem Load Balancer verwaltet werden. Transcodierte Streams werden über G-Core Labs CDN bereitgestellt.
  3. Der Load Balancer überträgt Befehle zur Videotranscodierung an die Server. Die Server wandeln den Stream in Chunks und Chunk-Listen um. Die Chunks werden den Nutzern über das CDN mit minimalen Verzögerungen übermittelt.
  4. Das ausfallsichere Transcodierungssystem eignet sich für das Streaming mit niedriger Latenz (mit Verzögerungen von höchstens 4 Sekunden), bietet Fehlertoleranz und trägt zur Reduzierung der Netzwerkbelastung bei.
  5. Diese neue Technologie wurde bereits auf unserer Streaming-Plattform eingeführt und ist für alle unsere Kunden verfügbar.

Stellen Sie Ihren Nutzern Ihre Videoinhalte in hoher Qualität auf jedem Gerät mit unserer Streaming-Plattform zur Verfügung.

Abonnieren Sie einen nützlichen Newsletter

Einmal monatlich schöne Angebote und wichtige Nachrichten. Kein Spam