Teilen über


Streamen von Inhalten mit CDN-Integration

Media Services-Logo v3


Warnung

Azure Media Services wird am 30. Juni 2024 eingestellt. Weitere Informationen finden Sie im AMS Retirement Guide.

Wichtig

Da Azure Media Services ab dem 30. Juni 2024 eingestellt wird und Azure CDN am 31. Oktober 2023 von Akamai eingestellt wird, empfiehlt es sich, keine neuen CDNs für die Verwendung mit Azure Media Services zu erstellen. Weitere Informationen finden Sie im Azure Media Services-Leitfaden.

Azure Content Delivery Network (CDN) bietet Entwicklern eine globale Lösung für die schnelle Bereitstellung von Inhalten mit hoher Bandbreite für Benutzer, indem sie ihre Inhalte an strategisch platzierten physischen Knoten auf der ganzen Welt zwischenspeichern.

CDN speichert Inhalte, die von einem Media Services-Streamingendpunkt (Ursprung) pro Codec, pro Streamingprotokoll, pro Bitrate, pro Containerformat und pro Verschlüsselung/DRM gestreamt werden. Für jede Kombination aus Codec-Streaming-Protokoll-Container-Format-Bitrate-Verschlüsselung gibt es einen separaten CDN-Cache.

Der beliebte Inhalt wird direkt aus dem CDN-Cache bereitgestellt, solange das Videofragment zwischengespeichert wird. Liveinhalte werden wahrscheinlich zwischengespeichert, da In der Regel viele Personen genau dasselbe ansehen. On-Demand-Inhalte können etwas komplizierter sein, da Sie einige Inhalte haben könnten, die beliebt sind und einige nicht. Wenn Sie Millionen von Videoressourcen haben, bei denen keine von ihnen beliebt ist (nur ein oder zwei Zuschauer pro Woche), aber Sie haben Tausende von Personen, die alle verschiedenen Videos ansehen, wird das CDN viel weniger effektiv.

Außerdem müssen Sie überlegen, wie adaptives Streaming funktioniert. Jedes einzelne Videofragment wird als eigene Entität zwischengespeichert. Stellen Sie sich beispielsweise vor, dass ein bestimmtes Video zum ersten Mal angezeigt wird. Wenn der Betrachter hier und dort nur ein paar Sekunden zu sehen überspringt, werden nur die Videofragmente, die mit dem verknüpft sind, was die Person beobachtet hat, im CDN zwischengespeichert. Bei adaptivem Streaming verfügen Sie in der Regel über 5 bis 7 verschiedene Bitraten von Video. Wenn eine Person eine Bitrate beobachtet und eine andere Person eine andere Bitrate beobachtet, werden sie jeweils separat im CDN zwischengespeichert. Auch wenn zwei Personen die gleiche Bitrate beobachten, könnten sie über verschiedene Protokolle streamen. Jedes Protokoll (HLS, MPEG-DASH, Smooth Streaming) wird separat zwischengespeichert. Daher werden jede Bitrate und jedes Protokoll separat zwischengespeichert, und nur die angeforderten Videofragmente werden zwischengespeichert.

Außer der Testumgebung wird empfohlen, cdN sowohl für Standard- als auch für Premium-Streaming-Endpunkte zu aktivieren. Jeder Streaming-Endpunkttyp weist einen anderen unterstützten Durchsatzgrenzwert auf.

Es ist schwierig, eine genaue Berechnung für die maximale Anzahl gleichzeitiger Datenströme durchzuführen, die von einem Streamingendpunkt unterstützt werden, da verschiedene Faktoren berücksichtigt werden müssen. Dazu gehören:

  • Maximale Bitraten, die für Streaming verwendet werden
  • Spieler vorpuffern und Wechseln. Spieler versuchen, Segmente von einem Ursprung zu berengen und die Ladegeschwindigkeit zum Berechnen des adaptiven Bitrate-Schaltvorgangs zu verwenden. Wenn sich ein Streamingendpunkt in der Nähe der Sättigung befindet, können die Reaktionszeiten variieren und die Spieler beginnen, zu einer niedrigeren Qualität zu wechseln. Da dies die Auslastung der Streamingendpunkt-Player reduziert, skalieren Sie auf eine höhere Qualität, wodurch unerwünschte Schalttrigger entstehen.

Insgesamt ist es sicher, die maximalen gleichzeitigen Datenströme zu schätzen, indem der maximale Streamingendpunktdurchsatz verwendet wird und dies durch die maximale Bitrate dividiert wird (vorausgesetzt, alle Spieler verwenden die höchste Bitrate.) Sie können z. B. über einen Standardstreamingendpunkt verfügen, der auf 600 Mbps und die höchste Bitrate von 3 Mbp beschränkt ist. In diesem Fall werden ungefähr 200 gleichzeitige Datenströme bei der oberen Bitrate unterstützt. Denken Sie daran, auch die Anforderungen an die Audiobandbreite zu berücksichtigen. Obwohl ein Audiodatenstrom nur bei 128 KPs gestreamt werden kann, addiert sich das Gesamtstreaming schnell, wenn Sie ihn mit der Anzahl gleichzeitiger Streams multiplizieren.

In diesem Thema wird die Aktivierung CDN-Integrationerläutert. Außerdem wird das Vorabfetching (aktives Zwischenspeichern) und das Origin-Assist CDN-Prefetch Konzept erläutert.

Betrachtungen

  • Der Streamingendpunkthostname und die Streaming-URL bleiben gleich, unabhängig davon, ob Sie CDN aktivieren.
  • Wenn Sie die Möglichkeit benötigen, Ihre Inhalte mit oder ohne CDN zu testen, erstellen Sie einen anderen Streamingendpunkt, der nicht CDN aktiviert ist.

Aktivieren der Azure CDN-Integration

Wichtig

Sie können CDN nicht für Azure-Konten für Testversionen oder Schüler/Studenten aktivieren.

Die CDN-Integration ist in allen Azure-Rechenzentren mit Ausnahme der Regionen Bundesregierung und China aktiviert.

Nachdem ein Streamingendpunkt mit aktiviertem CDN bereitgestellt wurde, gibt es eine definierte Wartezeit für Mediendienste, bevor das DNS-Update durchgeführt wird, um den Streamingendpunkt dem CDN-Endpunkt zuzuordnen.

Wenn Sie das CDN später deaktivieren/aktivieren möchten, muss sich Ihr Streamingendpunkt im Zustand befinden. Nachdem der Streamingendpunkt gestartet wurde, kann es bis zu vier Stunden dauern, bis die Azure CDN-Integration aktiviert ist und die Änderungen für alle CDN-POPs aktiv sind. Sie können ihren Streamingendpunkt und Stream jedoch ohne Unterbrechungen vom Streamingendpunkt starten. Sobald die Integration abgeschlossen ist, wird der Datenstrom vom CDN bereitgestellt. Während des Bereitstellungszeitraums befindet sich Ihr Streamingendpunkt in der ab Zustand, und Sie können die Leistung beeinträchtigen.

Wenn der Standardstreamingendpunkt erstellt wird, wird er standardmäßig mit Standard Verizon konfiguriert. Sie können Premium Verizon- oder Standard Akamai-Anbieter mithilfe von REST-APIs konfigurieren.

Die Azure Media Services-Integration in Azure CDN wird auf Azure CDN von Verizon für Standardstreamingendpunkte implementiert. Premium-Streaming-Endpunkte können mit Standard Verizon oder Premium Verizon konfiguriert werden. Standard Akamai kann nur mit REST-APIs oder Client-SDKs konfiguriert werden.

Anmerkung

Ausführliche Informationen zu Azure CDN finden Sie in der CDN-Übersicht.

Ermitteln, ob eine DNS-Änderung vorgenommen wurde

Mithilfe von https://www.digwebinterface.comkönnen Sie ermitteln, ob eine DNS-Änderung an einem Streamingendpunkt vorgenommen wurde (der Datenverkehr wird an das Azure CDN weitergeleitet). Wenn azureedge.net Domänennamen in den Ergebnissen angezeigt werden, wird der Datenverkehr nun auf das CDN verwiesen.

Origin-Assist CDN-Prefetch

Die CDN-Zwischenspeicherung ist ein reaktiver Prozess. Wenn das CDN das nächste angeforderte Objekt vorhersagen kann, kann das CDN proaktiv das nächste Objekt anfordern und zwischenspeichern. Mit diesem Prozess können Sie einen Cachetreffer für alle (oder die meisten) Objekte erzielen, wodurch die Leistung verbessert wird.

Prefetching ist bestrebt, Objekte am "Rand des Internets" zu positionieren, die vorausschauen, dass die Objekte vom Spieler unmittelbar angefordert werden, wodurch die Zeit reduziert wird, um dieses Objekt an den Spieler zu liefern.

Um dieses Ziel zu erreichen, muss ein Streamingendpunkt (Ursprung) und CDN auf verschiedene Arten hand in Hand arbeiten:

  • Der Ursprung der Mediendienste muss über die "Intelligenz" (Origin-Assist) verfügen, um dem CDN mitzuteilen, welches Objekt als Nächstes voreingestellt werden soll.
  • Das CDN führt den Vorabruf und die Zwischenspeicherung (CDN-Prefetch-Teil) durch. Das CDN muss außerdem über die "Intelligenz" verfügen, um:
    • informieren Sie den Ursprung, ob es sich um einen Vorabruf oder einen regulären Abruf handelt.
    • behandeln der 404 Antworten
    • und eine Möglichkeit, endlose Prefetchschleife zu vermeiden

Nützt

Zu den Vorteilen des Origin-Assist CDN-Prefetch--Features gehören:

  • Prefetch verbessert die Videowiedergabequalität, indem erwartete Videosegmente während der Wiedergabe vorab positioniert werden, die Latenz für den Betrachter reduziert und die Downloadzeiten des Videosegments verbessert werden. Dies führt zu einer schnelleren Videostartzeit und zu geringeren Wiedergeburtsereignissen.
  • Dieses Konzept gilt für ein allgemeines CDN-Ursprungsszenario und ist nicht auf Medien beschränkt.
  • Akamai hat dieses Feature Akamai Cloud Embed (ACE)hinzugefügt.

Anmerkung

Dieses Feature gilt noch nicht für das Akamai CDN, das in den Media Services-Streaming-Endpunkt integriert ist. Es ist jedoch für Media Services-Kunden verfügbar, die über einen bereits bestehenden Akamai-Vertrag verfügen und eine benutzerdefinierte Integration zwischen Akamai CDN und dem Ursprung der Mediendienste erfordern.

Funktionsweise

CDN-Unterstützung für die Origin-Assist CDN-Prefetch Header (sowohl für Live- als auch Video-On-Demand-Streaming) steht Kunden zur Verfügung, die direkten Vertrag mit Akamai CDN haben. Das Feature umfasst den folgenden HTTP-Headeraustausch zwischen Akamai CDN und dem Ursprung der Mediendienste:

HTTP-Header Werte Absender Empfänger Zweck
CDN-Origin-Assist-Prefetch-Enabled 1 (Standard) oder 0 CDN Ursprung Um anzugeben, dass CDN vorab aktiviert ist.
CDN-Origin-Assist-Prefetch-Path Beispiel:
Fragmente(video=1400000000;format=mpd-time-cmaf)
Ursprung CDN So stellen Sie prefetch-Pfad zu CDN bereit.
CDN-Origin-Assist-Prefetch-Request 1 (Prefetch-Anforderung) oder 0 (reguläre Anforderung) CDN Ursprung Um anzugeben, dass die Anforderung von CDN ein Vorabstart ist.

Um einen Teil des Headeraustauschs in Aktion zu sehen, können Sie die folgenden Schritte ausprobieren:

  1. Verwenden Sie cURL, um eine Anforderung an den Ursprung der Mediendienste für ein Audio- oder Videosegment oder -fragment auszugeben. Stellen Sie sicher, dass Sie den Header CDN-Origin-Assist-Prefetch-Enabled: 1 in der Anforderung hinzufügen.
  2. In der Antwort sollte der Header CDN-Origin-Assist-Prefetch-Path mit einem relativen Pfad als Wert angezeigt werden.

Unterstützte Streamingprotokolle

Das feature Origin-Assist CDN-Prefetch unterstützt die folgenden Streamingprotokolle für Live- und On-Demand-Streaming:

  • HLS v3
  • HLS v4
  • HLS CMAF
  • DASH (CSF)
  • DASH (CMAF)
  • Reibungsloses Streaming

Häufig gestellte Fragen

  • Was geschieht, wenn eine URL für den Prefetch-Pfad ungültig ist, sodass der CDN-Prefetch einen 404 erhält?

    CDN speichert nur eine 404-Antwort für 10 Sekunden (oder einen anderen konfigurierten Wert).

  • Angenommen, Sie haben ein On-Demand-Video. Wenn CDN-Prefetch aktiviert ist, bedeutet dieses Feature, dass prefetch eine Schleife startet, sobald ein Client das erste Videosegment anfordert, alle nachfolgenden Videosegmente mit derselben Bitrate vorab zu starten?

    Nein, CDN-Prefetch erfolgt erst nach einer vom Client initiierten Anforderung/Antwort. CDN-Prefetch wird nie durch einen Vorabstart ausgelöst, um eine Prefetch-Schleife zu vermeiden.

  • Ist Origin-Assist CDN-Prefetch Feature immer aktiviert? Wie kann es aktiviert/deaktiviert werden?

    Dieses Feature ist standardmäßig deaktiviert. Kunden müssen sie über die Akamai-API aktivieren.

  • Was geschieht bei Livestreaming mit Origin-Assist, wenn das nächste Segment oder Fragment noch nicht verfügbar ist?

    In diesem Fall stellt der Ursprung der Mediendienste nicht CDN-Origin-Assist-Prefetch-Path Header bereit, und CDN-Prefetch tritt nicht auf.

  • Wie funktioniert Origin-Assist CDN-Prefetch mit dynamischen Manifestfiltern?

    Dieses Feature funktioniert unabhängig vom Manifestfilter. Wenn sich das nächste Fragment außerhalb eines Filterfensters befindet, befindet sich die URL weiterhin, indem sie das Rohclientmanifest einsehen und dann als CDN-Vorabstartheader zurückgegeben wird. Daher ruft CDN die URL eines Fragments ab, das aus DEMH/HLS/Smooth-Manifest herausgefiltert wird. Der Spieler sendet jedoch niemals eine GET-Anforderung an CDN, um dieses Fragment abzurufen, da dieses Fragment nicht im DASH/HLS/Smooth-Manifest enthalten ist, das vom Spieler gehalten wird (der Spieler weiß nicht, dass dieses Fragment vorhanden ist).

  • Kann DASH MPD/HLS Playlist/Smooth Manifest vorab eingestellt werden?

    Nein, DASH MPD, HLS-Master-Wiedergabeliste, HLS-Variant-Wiedergabeliste oder glatte Manifest-URL wird dem Prefetch-Header nicht hinzugefügt.

  • Sind Prefetch-URLs relativ oder absolut?

    Während Akamai CDN beides zulässt, stellt der Media Services-Ursprung nur relative URLs für den Vorabstartpfad bereit, da es keinen offensichtlichen Vorteil bei der Verwendung absoluter URLs gibt.

  • Funktioniert dieses Feature mit DRM-geschützten Inhalten?

    Ja, da dieses Feature auf HTTP-Ebene funktioniert, decodiert oder analysiert es keine Segmente/Fragmente. Es ist nicht wichtig, ob der Inhalt verschlüsselt ist oder nicht.

  • Funktioniert dieses Feature mit serverseitiger Anzeigeneinfügung (SSAI)?

    Es wird für originale/Hauptinhalte (der ursprüngliche Videoinhalt vor der Anzeigeneinfügung) funktioniert, da SSAI den Zeitstempel des Quellinhalts vom Ursprung der Mediendienste nicht ändert. Ob dieses Feature mit Anzeigeninhalten funktioniert, hängt davon ab, ob Origin-Assist unterstützt wird. Wenn Anzeigeninhalte z. B. auch in Azure Media Services (identisch oder getrennt) gehostet werden, werden Auch Anzeigeninhalte vorab abgerufen.

  • Funktioniert dieses Feature mit UHD/HEVC-Inhalten?

    Ja.

Anleitungen, Lernprogramme und Beispiele

- Aktivieren von CDN-Optimierungen -Aktivieren des Origin Shield-

Hilfe und Support erhalten

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