Livestreaming mit Azure Media Services v3

Media Services-Logo v3


Warnung

Azure Media Services wird am 30. Juni 2024 eingestellt. Weitere Informationen finden Sie im Leitfaden zur Einstellung von AMS.

Mit Azure Media Services können Sie Ihren Kunden Liveereignisse in der Azure Cloud anbieten. Um Ihre Liveereignisse mit Media Services zu streamen, müssen Sie einen Livevideoencoder einrichten, der Signale von einer Kamera (oder einem anderen Gerät, z. B. einem Laptop) in einen Beitragsfeed konvertiert, der an Media Services gesendet wird. Der Datenfeed kann Signale zu Werbezwecken enthalten, beispielsweise SCTE-35-Markierungen. Eine Liste mit empfohlenen Livestreaming-Encodern finden Sie hier.

Wenn Sie noch keinen lokalen Encoder verwendet haben, probieren Sie die Schnellstartanleitung Erstellen eines Azure Media Services-Livestreams mit OBS aus.

Dynamische Paketerstellung und Bereitstellung

Mit Media Services können Sie die dynamische Paketerstellung nutzen, mit der Sie Ihre Livestreams in den Formaten MPEG DASH, HLS und Smooth Streaming aus dem Beitragsfeed in der Vorschau anzeigen und übertragen können. Ihre Zuschauer können den Livestream mit einem beliebigen Player wiedergeben, der mit HLS, DASH oder Smooth Streaming kompatibel ist. Sehen Sie sich die Liste der getesteten Player an, und probieren Sie die Media Services-Playerbeispiele für Drittanbieter aus.

Liveereignistypen

Liveereignisse sind Erfassung und Verarbeitung von Livevideofeeds. Ein Liveereignis kann auf folgendes festgelegt werden:

  • passthrough , wenn ein lokaler Liveencoder einen Datenstrom mit mehreren Bitraten sendet, oder
  • Livecodierung , wenn ein lokaler Liveencoder einen Datenstrom mit einer einzelnen Bitrate sendet. Ausführliche Informationen zu Liveausgaben finden Sie unter Liveereignisse und Liveausgaben.

Pass-Through

Wenn Sie das Liveereignis vom Typ „Passthrough“ (Basic oder Standard) verwenden, stützen Sie sich auf Ihren lokalen Liveencoder, um einen Videostream mit mehreren Bitraten zu erzeugen und als Beitragsfeed an das Liveereignis zu senden (über RTMP oder das Eingabeprotokoll für fragmentiertes MP4). Das Liveereignis übergibt dann den eingehenden Videodatenstrom ohne weitere Verarbeitung an den dynamischen Packager (Streamingendpunkt). Ein Passthrough-Liveereignis ist für lange Liveereignisse oder lineares 24x365-Livestreaming optimiert.

Pass-Through-Streaming

Live Encoding

Um die Livecodierung zu verwenden, konfigurieren Sie Ihren lokalen Liveencoder so, dass ein Einzelnes Bitrate-Video (Aggregat von bis zu 32 Mbit/s) an das Liveereignis gesendet wird (mit RTMP oder fragmented-MP4-Eingabeprotokoll). Das Liveereignis transcodiert den eingehenden Datenstrom mit einer einzelnen Bitrate in Videostreams mit mehreren Bitraten mit unterschiedlichen Auflösungen. Dies verbessert die Bereitstellung für Wiedergabegeräte mit Branchenstandardprotokollen wie MPEG-DASH, Apple HTTP Live Streaming (HLS) und Microsoft Smooth Streaming.

Streaming mit Livecodierung

Optionen für Liveereignisse

Dynamische Verschlüsselung

Mit der dynamischen Verschlüsselung können Sie Ihre Live- oder On-Demand-Inhalte mit AES-128 oder einem der drei hauptsächlichen DRM-Systeme (Digital Rights Management) dynamisch verschlüsseln: Microsoft PlayReady, Google Widevine und Apple FairPlay. Media Services bietet auch einen Dienst für die Übermittlung von AES-Schlüsseln und DRM-Lizenzen (PlayReady, Widevine und FairPlay) an autorisierte Clients. Weitere Informationen finden Sie unter Dynamische Verschlüsselung.

Widevine ist ein von Google Inc. bereitgestellter Dienst, der den Vertragsbedingungen und der Datenschutzrichtlinie von Google, Inc. unterliegt.

Dynamisches Filtern

Mithilfe der dynamischen Filterung kann die Anzahl von Spuren, Formaten, Bitraten und Präsentationszeitfenstern gesteuert werden, die an die Player gesendet werden. Weitere Informationen finden Sie unter Filter und dynamische Manifeste.

Livetranskription

Die Livetranskription ist ein Feature, das Sie mit Liveereignissen verwenden können, bei denen es sich um Pass-Through oder Live Encoding handelt. Weitere Informationen finden Sie unter Livetranskription. Wenn dieses Feature aktiviert wird, nutzt der Dienst das Spracherkennungsfeature von Cognitive Services, um den gesprochenen Text in der eingehenden Audiodatei in Text zu konvertieren. Dieser Text wird dann mitsamt Video- und Audiodaten in den MPEG-DASH- und HLS-Protokollen für die Übermittlung zur Verfügung gestellt.

Wichtig

Sie sollten GOP-Größen von 2 Sekunden für Liveereignisse verwenden. Sie müssen GOP-Größen von 4 Sekunden oder unten für Passthrough-Liveereignisse mit Live-Transkriptionen verwenden, um korrekte Transkriptionsdaten zu erhalten. Wenn Sie sich für eine höhere GOP-Größe entscheiden, können die Transkriptionsdaten Fehler aufweisen, z. fehlende Inhalte.

Sicherheitsüberlegungen für Untertitel für Hörgeschädigte, Untertitel und die Übermittlung von Zeitmetadaten

Für die dynamische Verschlüsselung und die DRM-Features von Azure Media Services gelten Einschränkungen, die berücksichtigt werden müssen, wenn die Übermittlung von Inhalten geschützt werden soll, die Livetranskriptionen, Untertitel für Hörgeschädigte, Untertitel oder Zeitmetadaten umfassen. Die DRM-Subsysteme, einschließlich PlayReady, FairPlay und Widevine, unterstützen die Verschlüsselung und Lizenzierung von Textspuren nicht. Die fehlende DRM-Verschlüsselung für Textspuren schränkt Ihre Möglichkeiten ein, den Inhalt von Livetranskriptionen, manuell eingefügten Untertiteln für Hörgeschädigte, hochgeladenen Untertiteln oder Signalen mit Zeitmetadaten zu schützen, die als separate Spuren eingefügt werden.

Um Ihre Spuren mit Untertiteln für Hörgeschädigte, Untertiteln oder Zeitmetadaten zu schützen, können Sie eine der folgenden Optionen verwenden:

  1. Verwenden Sie die AES-128 Clear Key-Verschlüsselung. Wenn Sie die AES-128 Clear Key-Verschlüsselung aktivieren, können die Textspuren so konfiguriert werden, dass sie mit einem vollständigen „umschlagsbasierten“ Verschlüsselungsverfahren verschlüsselt werden, das dem gleichen Verschlüsselungsmuster folgt wie die Audio- und Videosegmente. Diese Segmente können dann von einer Clientanwendung entschlüsselt werden, nachdem der Entschlüsselungsschlüssel vom Media Services-Schlüsselübermittlungsdienst mithilfe eines authentifizierten JWT-Tokens angefordert wurde. Diese Methode wird von Azure Media Player, aber möglicherweise nicht auf allen Geräten unterstützt und kann einige clientseitige Entwicklungsarbeit erfordern, um sicherzustellen, dass sie auf allen Plattformen erfolgreich ist.
  2. Verwenden Sie die CDN-Tokenauthentifizierung, um die Textspuren (Untertitel für Hörgeschädigte, Untertitel, Metadaten) zu schützen, die mit kurzen tokenisierten URLs übermittelt werden, die auf geografische Regionen, IP-Adressen oder andere konfigurierbare Einstellungen im CDN-Portal beschränkt sind. Aktivieren Sie die CDN-Sicherheitsfeatures mit Verizon Premium CDN oder einem anderen Drittanbieter-CDN, das für die Verbindungsherstellung mit Ihren Media Services-Streamingendpunkten konfiguriert ist.

Warnung

Wenn Sie keine der oben genannten Optionen verwenden, sind Untertitel für Hörgeschädigte, Untertitel oder Text mit Zeitmetadaten als unverschlüsselte Inhalte verfügbar, die ggf. außerhalb des beabsichtigten Clientbereitstellungspfads abgefangen oder weitergegeben werden können. Dies kann zu Informationslecks führen. Wenn Sie befürchten, dass die Inhalte der Untertitel für Hörgeschädigte oder Untertitel in einem sicheren Übermittlungsszenario offengelegt werden, können Sie sich an das Media Services-Supportteam wenden, um weitere Informationen zu den oben genannten Optionen zum Schützen Ihrer Inhaltsübermittlung zu erhalten.

Workflow für das Livestreaming

Um die Livestreaming-Workflows in Media Services v3 nachvollziehen zu können, müssen Sie zunächst mit folgenden Konzepten vertraut sein:

Allgemeine Schritte

  1. Vergewissern Sie sich in Ihrem Media Services-Konto, dass der Streamingendpunkt (Ursprung) ausgeführt wird.

  2. Erstellen Sie ein Liveereignis.
    Bei der Ereigniserstellung können Sie angeben, dass das Ereignis automatisch gestartet werden soll. Starten Sie alternativ das Ereignis, wenn Sie zum Starten des Streamings bereit sind.
    Wenn für den automatischen Start „true“ festgelegt ist, wird das Liveereignis direkt nach der Erstellung gestartet. Die Abrechnung beginnt, sobald das Liveereignis startet. Sie müssen für die Liveereignisressource explizit „Beenden“ auswählen, damit keine Gebühren mehr anfallen. Weitere Informationen finden Sie im Abschnitt LiveEvent-Zustandswerte und Abrechnung.

  3. Rufen Sie die Erfassungs-URLs ab, und konfigurieren Sie Ihren lokalen Encoder vor Ort, um die URL zum Senden des Beitragsfeeds zu verwenden.
    Siehe Empfohlene Livestreaming-Encoder.

  4. Rufen Sie die Vorschau-URL ab und verwenden Sie sie, um sich zu vergewissern, dass die Eingabe des Encoders auch tatsächlich empfangen wird.

  5. Erstellen Sie ein neues Medienobjekt.

    Jeder Liveausgabe ist ein Medienobjekt zugeordnet, das zum Aufzeichnen des Videos im zugeordneten Azure Blob Storage-Container verwendet wird.

  6. Erstellen Sie eine Liveausgabe, und verwenden Sie den von Ihnen erstellten Medienobjektnamen, damit der Datenstrom im Medienobjekt archiviert werden kann.

    Liveausgaben werden bei der Erstellung gestartet und beim Löschen beendet. Wenn Sie die Liveausgabe löschen, werden das zugrunde liegende Medienobjekt und dessen Inhalt nicht gelöscht.

  7. Erstellen Sie einen Streaminglocator mit den integrierten Arten von Streamingrichtlinien.

    Zum Veröffentlichen der Liveausgabe müssen Sie einen Streaminglocator für das zugehörige Medienobjekt erstellen.

  8. Listen Sie die Pfade auf dem StreamingLocator auf, um die zu verwendenden URLs zurückzugeben (diese sind deterministisch).

  9. Rufen Sie den Hostnamen für den Streamingendpunkt (Ursprung) ab, von dem aus Sie streamen möchten.

  10. Kombinieren Sie die URL aus Schritt 8 mit dem Hostnamen aus Schritt 9, um die vollständige URL zu erhalten.

  11. Wenn Sie möchten, dass Ihr Liveereignis nicht mehr angesehen werden kann, müssen Sie das Streamen des Ereignisses beenden und den Streaminglocator löschen.

  12. Wenn die Streamingereignisse beendet sind und Sie die zuvor bereitgestellten Ressourcen bereinigen möchten, führen Sie das folgende Verfahren aus:

    • Beenden Sie die Datenstromeingabe vom Encoder.
    • Beenden Sie das Liveereignis. Nach Beendigung des Liveereignisses fallen dafür keine Kosten mehr an. Wenn Sie den Kanal erneut starten, weist er die gleiche Erfassungs-URL auf, damit Sie den Encoder nicht erneut konfigurieren müssen.
    • Sie können Ihren Streamingendpunkt beenden, sofern Sie das Archiv Ihres Liveereignisses nicht als bedarfsgesteuerten Datenstrom bereitstellen möchten. Hat das Liveereignis den Status „Beendet“, fallen dafür keine Kosten an. Wenn der Streamingendpunkt jedoch weiterhin ausgeführt wird, fallen Gebühren an.

Das Medienobjekt, in dem die Liveausgabe archiviert wird, wird automatisch zu einem bedarfsgesteuerten Medienobjekt, wenn die Liveausgabe gelöscht wird. Sie müssen alle Liveausgaben löschen, bevor ein Liveereignis angehalten werden kann. Sie können ein optionales removeOutputsOnStop-Flag verwenden, um Liveausgaben beim Anhalten automatisch zu entfernen.

Tipp

Im Artikel Tutorial zu Livestreaming wird der Code untersucht, der die oben beschriebenen Schritte implementiert.

Weitere wichtige Artikel

Häufig gestellte Fragen zum Livestreaming

Weitere Informationen finden Sie in den häufig gestellten Fragen zum Livestreaming.

Anfordern von Hilfe und Support

Sie können Media Services mit Fragen kontaktieren oder unsere Updates mit einer der folgenden Methoden verfolgen: