Bereitstellen von Live-Streaming-Video mit CloudFront und AWS Media Services - Amazon CloudFront

Bereitstellen von Live-Streaming-Video mit CloudFront und AWS Media Services

Um AWS Media Services mit CloudFront zu verwenden, um einem globalen Publikum Live-Inhalte bereitzustellen, befolgen Sie die Anweisungen in diesem Abschnitt.

Verwenden Sie AWS Elemental MediaLive, um Live-Videostreams in Echtzeit zu kodieren. Um einen großen Videostream zu kodieren, komprimiert MediaLive ihn zu kleineren Versionen (Codierungen), die an Ihre Viewer verteilt werden können.

Nachdem Sie einen Live-Videostream komprimiert haben, können Sie eine der folgenden beiden Hauptoptionen verwenden, um den Inhalt vorzubereiten und bereitzustellen:

  • Konvertieren Sie Ihre Inhalte in die erforderlichen Formate und stellen Sie sie bereit: Wenn Sie die Inhalte in mehreren Formaten benötigen, verwenden Sie AWS Elemental MediaPackage, um die Inhalte für verschiedene Gerätetypen zu verpacken. Wenn Sie die Inhalte verpacken, können Sie auch zusätzliche Funktionen implementieren und das Digital Rights Management (digitale Rechteverwaltung, DRM) hinzufügen, um eine unbefugte Verwendung Ihrer Inhalte zu verhindern. Schritt-für-Schritt-Anleitungen für die Verwendung von CloudFront zum Bereitstellen von Inhalten, die durch MediaPackage formatiert wurden, finden Sie unter Bereitstellung von mit AWS Elemental MediaPackage formatiertem Live-Video.

  • Speichern Sie Ihre Inhalte und stellen Sie sie mit skalierbarem Ursprung bereit: Wenn von MediaLive codierte Inhalte in den Formaten vorliegen, die von allen Geräten, die Ihre Viewer verwenden, benötigt werden, verwenden Sie einen hochskalierbaren Ursprung wie AWS Elemental MediaStore, um die Inhalte bereitzustellen. Schritt-für-Schritt-Anleitungen für die Verwendung von CloudFront zum Bereitstellen von Inhalten, die in einem MediaStore-Container gespeichert sind, finden Sie unter Videos mit AWS Elemental MediaStore als Ursprung bereitstellen.

Nachdem Sie Ihren Ursprung eingerichtet haben, indem Sie eine dieser Optionen auswählen, können Sie Live-Streaming-Videos mithilfe von CloudFront an Viewer verteilen.

Tipp

Sie können mehr über eine AWS-Lösung erfahren, die automatisch Services für eine hoch verfügbare Anzeigeumgebung in Echtzeit bereitstellt. Die Schritte zur automatischen Bereitstellung dieser Lösung können Sie unter Live-Streaming – automatische Bereitstellung einsehen.

Videos mit AWS Elemental MediaStore als Ursprung bereitstellen

Wenn ein Video in einem AWS Elemental MediaStore-Container gespeichert ist, können Sie eine CloudFront-Verteilung erstellen, um den Inhalt bereitzustellen.

Zunächst gewähren Sie CloudFront-Zugriff auf Ihren MediaStore-Container. Anschließend erstellen Sie eine CloudFront-Verteilung und konfigurieren sie für die Verwendung mit MediaStore.

So stellen Sie Inhalte aus einem AWS-Elemental-MediaStore-Container bereit

  1. Befolgen Sie das Verfahren unter Amazon CloudFront Zugriff auf Ihre MediaStore-Container gewähren und kehren Sie dann zu diesen Schritten zurück, um Ihre Verteilung zu erstellen.

  2. Verwenden Sie die folgenden Einstellungen, um eine Verteilung zu erstellen:

    Ursprungsdomäne

    Der Datenendpunkt, der Ihrem MediaStore-Container zugewiesen ist. Wählen Sie aus der Dropdown-Liste den MediaStore-Container für Ihr Live-Video aus.

    Ursprungspfad

    Die Ordnerstruktur im MediaStore-Container, in dem Ihre Objekte gespeichert werden. Weitere Informationen finden Sie unter Ursprungspfad.

    Benutzerdefinierten Header hinzufügen

    Wenn Sie möchten, dass CloudFront beim Weiterleiten von Anforderungen an Ihren Ursprung benutzerdefinierte Header hinzufügt, fügen Sie Header-Namen und -Werte hinzu.

    Viewer-Protokollrichtlinien

    Wählen Sie Redirect HTTP to HTTPS. Weitere Informationen finden Sie unter Viewer-Protokollrichtlinien.

    Cache-Richtlinien und Ursprungsanforderungsrichtlinie

    Wählen Sie für Cache policy (Cache-Richtlinie) die Option Create policy (Richtlinie erstellen) aus und erstellen Sie dann eine Cache-Richtlinie, die Ihren Caching-Anforderungen und der Segmentdauer entspricht. Aktualisieren Sie nach dem Erstellen der Richtlinie die Liste der Cache-Richtlinien und wählen Sie die Richtlinie aus, die Sie gerade erstellt haben.

    Wählen Sie fürOrigin request policy (Ursprungsanforderungsrichtlinie) die Option CORS-CustomOrigin aus der Dropdown-Liste aus.

    Für die anderen Einstellungen können Sie bestimmte Werte basierend auf anderen technischen Anforderungen oder den Anforderungen Ihres Unternehmens festlegen. Eine Liste aller Optionen für Verteilungen und Informationen über ihre Einstellungen finden Sie unter Werte, die Sie beim Erstellen oder Aktualisieren einer Verteilung angeben.

  3. Geben Sie für Links in Ihrer Anwendung (z. B. einen Mediaplayer) den Namen der Mediendatei im gleichen Format ein, das Sie auch für andere Objekte verwenden, die Sie mithilfe von CloudFront verteilen.

Bereitstellung von mit AWS Elemental MediaPackage formatiertem Live-Video

Wenn Sie einen Livestream mithilfe von AWS Elemental MediaPackage formatiert haben, können Sie eine CloudFront-Verteilung erstellen und Cache-Verhaltensweisen für die Bereitstellung des Livestreams konfigurieren. Im folgenden Prozess wird davon ausgegangen, dass Sie bereits Folgendes für Ihr Live-Video mithilfe von MediaPackage durchgeführt haben: Kanal erstellt und Endpunkte hinzugefügt.

Anmerkung

Alternativ zum folgenden Prozess können Sie auch eine CloudFront-Verteilung automatisch erstellen lassen, wenn Sie einen Kanal in MediaPackage speichern. Weitere Informationen finden Sie unter Erstellen einer Verteilung aus dem AWS Elemental MediaPackage im AWS Elemental MediaPackage Benutzerhandbuch.

Um eine CloudFront-Verteilung für MediaPackage manuell zu erstellen, führen Sie die folgenden Schritte aus:

Schritt 1: Erstellen und Konfigurieren einer CloudFront-Verteilung

Führen Sie die folgenden Verfahren zum Einrichten einer CloudFront-Verteilung für den Live-Video-Kanal durch, den Sie mit MediaPackage erstellt haben.

So erstellen Sie eine Verteilung für Ihren Live-Video-Kanal

  1. Melden Sie sich bei der AWS Management Console an und öffnen Sie die CloudFront-Konsole unter https://console.aws.amazon.com/cloudfront/v3/home.

  2. Wählen Sie Create distribution (Verteilung erstellen) aus.

  3. Wählen Sie die Einstellungen für die Verteilung aus, einschließlich der folgenden:

    Ursprungsdomäne

    Der Ursprung mit Ihrem MediaPackage-Live-Video-Kanal und Endpunkten. Wählen Sie das Textfeld aus und wählen Sie dann aus der Dropdown-Liste den MediaPackage-Kanal für Ihr Live-Video aus. Sie können einen Kanal zu mehreren Ursprungsendpunkten zuordnen.

    Wenn Sie Ihren Kanal mit einem anderen AWS-Konto erstellt haben, geben Sie den Ursprung-URL-Wert in das Feld ein. Der Ursprung muss eine HTTPS-URL sein.

    Weitere Informationen finden Sie unter Ursprungsdomäne.

    Ursprungspfad

    Der Pfad zum MediaPackage-Endpunkt, von dem aus der Inhalt bereitgestellt wird. Wenn Sie einen Ursprungsdomänennamen auswählen, trägt CloudFront den Ursprungspfad automatisch ein.

    Wenn Sie einen Kanal aus einem anderen AWS-Konto für Origin domain (Ursprungsdomäne) verwendet haben, wird das Feld Origin Path (Ursprungspfad) nicht für Sie ausgefüllt. Sie müssen den richtigen Ursprungspfad im anderen Konto nachsehen, damit Sie ihn manuell eingeben können.

    Weitere Informationen über die Funktionsweise eines Ursprungspfads finden Sie unter Ursprungspfad.

    Für die anderen Verteilungseinstellungen können Sie bestimmte Werte basierend auf anderen technischen Anforderungen oder den Anforderungen Ihres Unternehmens festlegen. Eine Liste aller Optionen für Verteilungen und Informationen über ihre Einstellungen finden Sie unter Werte, die Sie beim Erstellen oder Aktualisieren einer Verteilung angeben.

    Wenn Sie die Auswahl der anderen Verteilungseinstellungen abgeschlossen haben, wählen Sie Create Distribution (Verteilung erstellen) aus.

  4. Wählen Sie die gerade erstellte Verteilung aus und klicken Sie dann auf Behaviors (Verhaltensweisen).

  5. Wählen Sie das Cache-Standardverhalten und anschließend Edit (Bearbeiten) aus. Geben Sie die korrekten Einstellungen für das Cache-Verhalten für den Kanal an, den Sie für den Ursprung auswählen. Später fügen Sie einen oder mehrere zusätzliche Ursprünge hinzu und bearbeiten deren Einstellungen für das Cache-Verhalten.

  6. Gehen Sie zur Seite CloudFront Distributions (CloudFront-Verteilungen).

  7. Warten Sie, bis der Wert der Spalte Last modified (Letzte Änderung) für Ihre Verteilung sich von Deploying (Wird bereitgestellt) in ein Datum und eine Uhrzeit geändert hat. Dies gibt an, dass CloudFront Ihre Verteilung erstellt hat.

Schritt 2: Hinzufügen der anderen Endpunkte als Ursprünge

Wiederholen Sie die Schritte hier, um jeden Ihrer MediaPackage-Kanal-Endpunkte zu Ihrer Verteilung hinzuzufügen.

So fügen Sie andere Endpunkte als Ursprünge hinzu

  1. Wählen Sie in der CloudFront-Konsole die Verteilung aus, die Sie für Ihren Kanal erstellt haben.

  2. Klicken Sie auf Origins (Ursprünge) und wählen Sie Create origin (Ursprung erstellen) aus.

  3. Wählen Sie für Origin domain (Ursprungsdomäne) in der Dropdown-Liste einen MediaPackage-Endpunkt für Ihren Kanal aus. CloudFront füllt das Feld Origin path (Ursprungspfad) automatisch aus.

  4. Für die anderen Einstellungen legen Sie die Werte basierend auf anderen technischen Anforderungen oder den Anforderungen Ihres Unternehmens fest. Weitere Informationen finden Sie unter Ursprungseinstellungen.

  5. Wählen Sie Create Origin (Ursprung erstellen) aus.

Schritt 3: Konfigurieren der Cache-Verhaltensweisen für alle Endpunkte

Für jeden Endpunkt müssen Sie Cache-Verhaltensweisen konfigurieren, um Pfadmuster hinzuzufügen, die Anfragen korrekt weiterleiten. Die Pfadmuster, die Sie angeben, hängen vom bereitgestellten Videoformat ab. Das folgende Verfahren umfasst die Pfadmuster-Informationen, die für Apple HLS-, CMAF-, DASH- und Microsoft Smooth Streaming-Formate zu verwenden sind.

Sie richten in der Regel zwei Cache-Verhaltensweisen für jeden Endpunkt ein:

  • Das übergeordnete Manifest, bei dem es sich um den Index für Ihre Dateien handelt.

  • Die Segmente, die Dateien der Videoinhalte darstellen.

So erstellen Sie ein Cache-Verhalten für einen Endpunkt

  1. Wählen Sie in der CloudFront-Konsole die Verteilung aus, die Sie für Ihren Kanal erstellt haben.

  2. Wählen Sie Behaviors (Verhaltensweisen) und anschließend die Option Create behavior (Verhalten erstellen) aus.

  3. Geben Sie für Path pattern (Pfadmuster) das erste Muster ein, das in der folgenden Anleitung für jeden Endpunkttyp angegeben ist. Geben Sie für einen DASH-Endpunkt z. B. *.mpd ein.

    Pfadmuster

    Erstellen Sie für einen HLS-Endpunkt die folgenden zwei Cache-Verhaltensweisen:

    • Verwenden Sie für übergeordnete und untergeordnete Manifeste *.m3u8.

    • Für die Inhaltssegmente verwenden Sie *.ts.

    Erstellen Sie für einen CMAF-Endpunkt die folgenden zwei Cache-Verhaltensweisen:

    • Verwenden Sie für übergeordnete und untergeordnete Manifeste *.m3u8.

    • Für die Inhaltssegmente verwenden Sie *.mp4.

    Erstellen Sie für einen DASH-Endpunkt die folgenden zwei Cache-Verhaltensweisen:

    • Verwenden Sie für das übergeordnete Manifest *.mpd.

    • Für die Inhaltssegmente verwenden Sie *.mp4.

    Für einen Microsoft Smooth Streaming-Endpunkt wird nur ein Manifest bereitgestellt, sodass Sie nur ein Cache-Verhalten erstelle: index.ism/*.

  4. Geben Sie für jedes Cache-Verhalten Werte für die folgenden Einstellungen an:

    Viewer-Protokollrichtlinien

    Wählen Sie Redirect HTTP to HTTPS (HTTP an HTTPS umleiten) aus.

    Cache-Richtlinien und Ursprungsanforderungsrichtlinie

    Wählen Sie für Cache policy (Cache-Richtlinie) die Option Create policy (Richtlinie erstellen) aus. Geben Sie für Ihre neue Cache-Richtlinie die folgenden Einstellungen an:

    Mindest-TTL

    Legen Sie diese Einstellung auf 5 Sekunden oder weniger fest, um zu verhindern, dass veralteter Inhalt bereitgestellt wird.

    Abfragezeichenfolgen

    Wählen Sie für Query strings (Abfragezeichenfolgen) (in Cache key settings (Cache-Schlüssel-Einstellungen)) die Option Include specified query strings (Angegebene Abfragezeichenfolgen einschließen) aus. Fügen Sie unter Allow (Erlauben) die folgenden Werte hinzu, indem Sie sie eingeben und anschließend Add item (Element hinzufügen) auswählen:

    • Fügen Sie m als Abfragezeichenfolgenparameter hinzu, den CloudFront als Grundlage für die Zwischenspeicherung verwenden soll. Die MediaPackage-Antwort enthält immer das Tag ?m=###, um die geänderte Zeit des Endpunkts einzuschließen. Wenn Inhalte bereits mit einem anderen Wert für dieses Tag zwischengespeichert sind, dann fordert CloudFront ein neues Manifest an, statt die zwischengespeicherte Version bereitzustellen.

    • Wenn Sie die Time-Shift-Anzeigefunktionalität in MediaPackage verwenden, geben Sie start und end als zusätzliche Abfragezeichenfolgenparameter für das Cache-Verhalten für Manifest-Anforderungen (*.m3u8, *.mpd und index.ism/*) an. Auf diese Weise werden Inhalte bereitgestellt, die spezifisch für den angeforderten Zeitraum in der Manifest-Anfrage sind. Weitere Informationen über die Start- und End-Anforderungsparameter für die Time-Shift-Anzeige und Formatierung von Inhalten finden Sie unter Time-Shift-Anzeige im AWS Elemental MediaPackage Benutzerhandbuch.

    • Wenn Sie die Manifest-Filterfunktion in MediaPackage verwenden, geben Sie aws.manifestfilter als zusätzlichen Abfragezeichenfolgenparameter für die Cache-Richtlinie an, die Sie mit dem Cache-Verhalten für Manifest-Anforderungen (*.m3u8, *.mpd und index.ism/*) verwenden. Dadurch wird die Verteilung so konfiguriert, dass die aws.manifestfilter-Abfragezeichenfolge an den MediaPackage-Ursprung weitergeleitet wird, der für die Manifest-Filterfunktion erforderlich ist. Weitere Informationen finden Sie unter Manifestfilterung im AWS Elemental MediaPackage Benutzerhandbuch.

  5. Wählen Sie Create (Erstellen) aus.

  6. Nachdem Sie die Cache-Richtlinie erstellt haben, kehren Sie zum Workflow zur Erstellung des Cacheverhaltens zurück. Aktualisieren Sie die Liste der Cache-Richtlinien und wählen Sie die Richtlinie aus, die Sie gerade erstellt haben.

  7. Wählen Sie Create behavior (Verhalten erstellen) aus.

  8. Wenn es sich bei Ihrem Endpunkt nicht um einen Microsoft-Smooth-Streaming–Endpunkt handelt, wiederholen Sie diese Schritte, um ein zweites Cache-Verhalten zu erstellen.

Schritt 4: Verwenden von CloudFront zum Bereitstellen des Live-Stream-Kanals

Nachdem Sie die Verteilung erstellt, die Ursprünge hinzugefügt und die Cache-Verhaltensweisen erstellt haben, können Sie den Live-Stream-Kanal mit CloudFront bereitstellen. CloudFront leitet Anforderungen von Viewern an die korrekten MediaPackage-Endpunkte basierend auf den Einstellungen weiter, die Sie für die Cache-Verhaltensweisen konfiguriert haben.

Geben Sie für Links in Ihrer Anwendung (z. B. einen Mediaplayer) die URL für die Mediendatei im Standardformat für CloudFront-URLs an. Weitere Informationen finden Sie unter Anpassen des URL-Formats für Dateien in CloudFront.