Leitfaden zu bewährten Methoden für Media Services-Livestreaming

Kunden fragen oft, wie sie die Latenz ihres Livestreams reduzieren können. In diesem Artikel werden bewährte Methoden zum Erreichen von Livestreams mit geringer Latenz und zusätzlich zur Liveereigniscodierung beschrieben.

Anmerkung

Bevor Sie mit dem Lesen dieses Artikels fortfahren, lesen Sie den Artikel HLS mit niedriger Latenz (LL-HLS) Artikel, um die niedrige Latenz mit der Codierung von Liveereignissen zu verstehen. Kehren Sie dann zu diesem Leitfaden zurück, um zu verstehen, was sich sonst noch auf die Streaminglatenz auswirken kann.

Es gibt viele Faktoren, die die End-to-End-Latenz eines Datenstroms bestimmen, neben der Codierung der Medien. Hier sind einige, die Sie berücksichtigen sollten:

  1. Verzögerungen auf der Seite des Beitragsgebers. Wenn Kunden eine Codierungssoftware wie OBS Studio, Wirecast oder andere verwenden, um einen RTMP-Livestream an Mediendienste zu senden. Einstellungen für diese Software wirken sich auf die End-to-End-Latenz eines Livestreams aus.

  2. Verzögerungen in der Livestreamingpipeline in Azure Media Services

  3. CDN-Leistung

  4. Pufferalgorithmen des Videoplayers und der Netzwerkbedingungen auf clientseitiger Seite

  5. Zeitpunkt der Bereitstellung

Beitragsgeber

Sie haben die Kontrolle über die Einstellungen der Quell-Encodereinstellungen, bevor der RTMP-Stream Mediendienste erreicht. Hier sind einige Empfehlungen für die Einstellungen, die Ihnen die niedrigste mögliche Latenz bieten würden:

  1. Wählen Sie die physische Region aus, die Ihrem Beitragsgeber für Ihr Media Services-Konto am nächsten kommt,. Dadurch wird sichergestellt, dass Sie über eine großartige Netzwerkverbindung mit dem Media Services-Konto verfügen.

  2. Verwenden Sie eine konsistente Fragmentgröße. Wir empfehlen eine GOP-Größe von 2 Sekunden. Der Standardwert für einige Encoder, z. B. OBS, beträgt 8 Sekunden. Stellen Sie sicher, dass Sie diese Einstellung ändern.

  3. Verwenden Sie den GPU-Encoder, wenn Ihre Codierungssoftware dies ermöglicht. Auf diese Weise können Sie CPU-Arbeit auf die GPU auslagern.

  4. Verwenden Sie ein Codierungsprofil, das für niedrige Latenz optimiert ist. Wenn Sie z. B. mit OBS Studio den Nvidia H.264-Encoder verwenden, wird möglicherweise die Voreinstellung "Null latenz" angezeigt.

  5. Senden Sie Inhalte, die nicht höher in der Auflösung sind als das, was Sie streamen möchten. Wenn Sie beispielsweise 720p-Standardcodierungs-Liveereignisse verwenden, senden Sie einen Stream, der bereits bei 720p liegt.

  6. Halten Sie die Framerate bei 30fps oder niedriger, es sei denn, Sie verwenden Pass-Through-Liveereignisse. Während wir 60 fps-Eingaben für Liveereignisse unterstützen, liegt die Codierung der Liveereignisausgabe immer noch nicht über 30 fps. Für HLS-mit geringer Latenz wird die feste Framerate empfohlen, und die maximale Framedauer sollte 0,5 Sekunden nicht überschreiten, um optimale Ergebnisse zu erzielen.

Konfiguration des Azure Media Services-Liveereignisses

Hier sind einige Konfigurationen, mit denen Sie die Latenz in unserer Pipeline verringern können:

  1. Verwenden Sie die Streamoptionen mit geringer Latenz für Liveereignisse. Verwenden Sie für die Standardcodierungsoptionen (bis zu 720p) und Premium-Codierung (bis zu 1080p) Datenstromoptionen, es sei denn, Sie benötigen ein DVR-Fenster, das länger als 6 Stunden oder eine reibungslose Streamingausgabe ist, die Einstellung für die Latenz bei geringer Latenz.

  2. Es wird empfohlen, für die HLS- und DASH-Wiedergabe CMAF-Ausgabe auszuwählen. Auf diese Weise können Sie dieselben Fragmente für beide Formate freigeben. Es erhöht das Cachetrefferverhältnis, wenn CDN verwendet wird. Zum Beispiel:

    Art Format URL-Beispiel
    HLS CMAF format=m3u8-cmaf https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=m3u8-cmaf)
    MPEG-DASH CMAF format=mpd-time-cmaf https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=mpd-time-cmaf)
  3. Wenn Sie die TS-Ausgabe auswählen müssen, verwenden Sie ein HLS-Verpackungsverhältnis von 1. Auf diese Weise können wir nur ein Fragment in ein HLS-Segment packen. Sie erhalten nicht die vollständigen Vorteile von LL-HLS in nativen Apple-Spielern.

Spieleroptimierungen

Stellen Sie beim Auswählen und Konfigurieren eines Videoplayers sicher, dass Sie Einstellungen verwenden, die für niedrigere Latenz optimiert sind.

Media Services unterstützt verschiedene Streamingprotokollausgabeen – DASH, HLS mit TS-Ausgabe und HLS mit CMAF-Fragmenten. Wenn Sie die Option LowLatencyV2 Datenstrom verwenden, suchen Sie unbedingt einen Player, der HLS mit geringer Latenz unterstützt (LL-HLS). Abhängig von der Implementierung des Spielers wirken sich Pufferentscheidungen auf die Latenz aus, die ein Betrachter beobachtet. Schlechte Netzwerkbedingungen oder Standardalgorithmen, die Qualität und Stabilität der Wiedergabe bevorzugen, könnten dazu führen, dass spieler vorab mehr Inhalte puffern, um Unterbrechungen während der Wiedergabe zu verhindern. Diese Puffer würden vor und während der Wiedergabesitzungen zur End-to-End-Latenz hinzugefügt.

Wenn Azure Media Player verwendet wird, optimiert die Heuristik mit niedriger Latenz Profil den Player so, dass er die niedrigste mögliche Latenz auf der Playerseite hat. Dieser Player unterstützt DASH nur, wenn es auf Safari auf Apple-Geräten verwendet wird.

CDN-Auswahl und Optimierungen

Streamingendpunkte sind die Ursprungsserver, die den Live- und VOD-Streaming-Inhalt an das CDN oder direkt an den Kunden übermitteln. Es empfiehlt sich, ein Content Delivery Network (CDN) mit einem abgeschirmten Ursprung zu verwenden, um sicherzustellen, dass der Datenverkehr für Ihre Medieninhalte effizient bereitgestellt wird.

Wir empfehlen die Verwendung von Azure CDN, das von Verizon (Standard oder Premium) bereitgestellt wird. Wir haben die Integrationserfahrung optimiert, damit ein Kunde dieses CDN mit einer einzigen Auswahl im Azure-Portal konfigurieren kann. Achten Sie darauf, Origin Shield und Streamingoptimierungen für Ihren CDN-Endpunkt zu aktivieren, wenn Sie Ihren Streamingendpunkt starten.

Unsere Kunden haben auch gute Erfahrungen, um ihr eigenes CDN zu bringen. Stellen Sie sicher, dass maßnahmen auf dem CDN ergriffen werden, um den Ursprung vor übermäßigem Datenverkehr abzuschirmen.

Sie können auch die Leistung verbessern, indem Sie Regeln für das CDN-Profil konfigurieren. Weitere Informationen finden Sie unter Aktivieren von CDN-Optimierungen.

Streamingendpunktskalierung

Anmerkung

Ein Standardmäßiger Streamingendpunkt/-ursprünge ist eine freigegebene-Ressource, mit der Kunden mit geringem Datenverkehrsvolumen Inhalte zu niedrigeren Kosten streamen können. Sie würden keinen Standardmäßigen Streaming-Endpunkt verwenden, um Streamingeinheiten zu skalieren, wenn Sie große Datenverkehrsvolumen erwarten oder ein CDN verwenden möchten.

Ein Premium-Streamingendpunkt/-origin- bietet mehr Flexibilität und Isolation für Kunden, die skaliert werden können, indem dedizierte Streamingeinheiten hinzugefügt oder entfernt werden. Eine Streamingeinheit ist eine Computeressource, die einem Streamingendpunkt zugeordnet ist. Jede Streamingeinheit kann ungefähr 200 MBit/s Datenverkehr streamen.

Sie können zwar gleichzeitig viele Liveereignisse gleichzeitig mithilfe desselben Streaming-Endpunkts streamen, aber die für einen Streaming-Endpunkt erforderlichen maximalen Standardstreamingeinheiten sind 10. Sie können ein Supportticket öffnen, um mehr als die Standardversion 10 anzufordern.

Ermitteln der erforderlichen Premium-Streamingeinheiten

Es gibt zwei Schritte, um die Anzahl der Streaming-Endpunkte und Streamingeinheiten zu ermitteln, die erforderlich sind:

  1. Ermitteln Sie den gesamt benötigten Ausgang.

  2. Dividieren Sie den Gesamtausgang um 200, d. h. die maximale Anzahl von Mbps, die jede Streamingeinheit streamen kann.

Ermitteln des gesamt benötigten Ausgangs

Ermitteln Sie den Gesamtausgang, der mithilfe der folgenden Formel benötigt wird.

Gesamtausgang erforderlich = durchschnittliche Bandbreite x Anzahl gleichzeitiger Viewer x Prozentvom Streamingendpunkt verarbeitet.

Werfen wir einen Blick auf jeden der Multiplizierer wiederum:

Durchschnittliche Bandbreite. Was ist der Durchschnitt Bitrate, die Sie streamen möchten? Mit anderen Worten, wenn Sie mehrere Bitraten verfügbar haben werden, welche Bitrate der Durchschnitt aller Bitraten ist, für die Sie planen? Sie können dies mit einer der folgenden Methoden schätzen:

Für ein Liveereignis, das Codierungenthält:

  • Wenn Sie nicht wissen, was Ihre durchschnittlichen Bandbreite sein wird, könnten Sie unsere obersten Bitraten als Schätzung verwenden. Unsere top- Bitrate beträgt 5,5 Mbps für 1080p-codierte Liveereignisse, daher ist Ihre durchschnittliche Bitrate ungefähr 3,5 Mbps.

  • Sehen Sie sich die Codierungsvoreinstellung an, die zum Codieren des Liveereignisses verwendet wird, z. B. die Voreinstellung AdaptiveStreaming(H.264). Sehen Sie sich dieses Ausgabebeispielan.

Für ein Liveereignis, das einfach Pass-Through verwendet und nicht codiert:

  • Überprüfen Sie die Codierungsbitrateleiter, die von Ihrem lokalen Encoder verwendet wird.

Anzahl der gleichzeitigen Viewer. Wie viele gleichzeitige Viewer werden erwartet? Dies kann schwer zu schätzen sein, aber am besten auf Der Grundlage Ihrer Kundendaten. Streamen Sie eine Konferenz an ein globales Publikum? Planen Sie live streamen, um eine Reihe von Produkten an Ihre Kunden zu verkaufen?

Prozentsatz des DatenverkehrsvonStreamingendpunkt behandelt. Dies kann auch als "Prozentsatz des Datenverkehrs, der nicht vom CDN behandelt wird" ausgedrückt werden, da dies die Zahl ist, die tatsächlich in die Formel wechselt. Was ist also der CDN-Offload, den Sie erwarten? Wenn das CDN 90% des Livedatenverkehrs verarbeiten soll, wird nur 10% des Datenverkehrs auf dem Streamingendpunkt erwartet. Die in der Formel verwendete Zahl ist 0,10. Dies ist der Prozentsatz des Datenverkehrs, der auf dem Streamingendpunkt erwartet wird.

Ermitteln der Anzahl der erforderlichen Premium-Streaming-Einheiten

Premium-Streamingeinheiten erforderlich = Durchschnittliche Bandbreite x # der Viewer x Prozentsatz des Datenverkehrs, der nicht vom CDN /200 Mbps

Beispiel

Sie haben kürzlich ein neues Produkt veröffentlicht und möchten es Ihren etablierten Kunden präsentieren. Sie möchten eine geringe Latenz, da Sie Ihre bereits ausgelastete Zielgruppe nicht frustrieren möchten, sodass Sie Premium-Streaming-Endpunkte und ein CDN verwenden.

Sie haben ungefähr 100.000 Kunden, aber sie werden wahrscheinlich nicht alle Ihr Liveereignis ansehen. Sie vermuten, dass im besten Fall nur 1% von ihnen teilnehmen werden, was Ihre erwarteten gleichzeitigen Zuschauer auf 1.000 bringt.

Anzahl gleichzeitiger Benutzer =1.000

Sie haben entschieden, dass Sie Media Services verwenden werden, um Ihren Livestream zu codieren und nicht pass-through zu verwenden. Sie wissen nicht, was die durchschnittliche Bandbreite sein wird, aber Sie wissen, dass Sie in 1080p (top Bitrate von 5,5 MBit/s) liefern, sodass Ihre durchschnittliche Bandbreite für Ihre Berechnungen 3,5 MBit/s beträgt.

Durchschnittliche Bandbreite =3,5

Da Ihr Publikum weltweit verteilt ist, erwarten Sie, dass das CDN die meisten (90%) des Live-Datenverkehrs verarbeiten wird. Daher behandeln die Premium-Streaming-Endpunkte nur 10% des Datenverkehrs.

Prozent, das vom Streamingendpunkt verarbeitet wird =10% = 0,1

Verwenden der oben angegebenen Formel:

Gesamtausgang erforderlich = durchschnittliche Bandbreite x Anzahl gleichzeitiger Viewer x Prozent, die vom Streamingendpunkt verarbeitet werden.

Gesamtausgang erforderlich = 3,5 x 1.000 x 0,1

Gesamtausgang erforderlich = 350 MBit/s

Durch Dividieren des Gesamtausgangs um 200 bestimmen Sie, dass Sie 1,75 Premium Streaming-Einheiten benötigen.

Premium-Streaming-Einheiten benötigten = Gesamtausgang/200Mpbs

Premium-Streaming-Einheiten = 1,75

Wir runden diese Zahl auf 2 auf, sodass wir 2 Einheiten benötigen.

Verwenden sie das Portal, um Ihre Anforderungen zu schätzen.

Das Azure-Portal kann Ihnen helfen, die Berechnungen zu vereinfachen. Auf der Streamingseite können Sie den von Ihnen bereitgestellten Rechner verwenden, um die geschätzte Zielgruppe zu sehen, wenn Sie die durchschnittliche Bandbreite, das CDN-Trefferverhältnis und die Anzahl der Streamingeinheiten ändern.

  1. Wählen Sie auf der Kontoseite der Mediendienste Steaming-Endpunkte aus dem Menü aus.

  2. Fügen Sie einen neuen Streamingendpunkt hinzu, indem Sie Streaming-Endpunkt hinzufügenauswählen.

  3. Geben Sie dem Streamingendpunkt einen Namen.

  4. Wählen Sie Premium-Streamingendpunkt für den Streamingendpunkttyp aus.

  5. Da Sie an diesem Punkt gerade eine Schätzung erhalten, starten Sie den Streamingendpunkt nach der Erstellung nicht. Wählen Sie Neinaus.

  6. Wählen Sie Standard Verizon oder Premium Verizon für Ihr CDN-Preisniveau aus. Der Profilname ändert sich entsprechend. Lassen Sie den Namen so, wie er für diese Übung ist.

  7. Wählen Sie für das CDN-Profil Neueerstellen aus.

  8. Wählen Sie Erstellenaus. Sobald der Endpunkt bereitgestellt wurde, wird der Bildschirm für Streamingendpunkte angezeigt.

  9. Wählen Sie den soeben erstellten Streamingendpunkt aus. Der Bildschirm des Streamingendpunkts wird angezeigt, wenn die Benutzergruppenschätzungen erreichen.

  10. Die Standardeinstellung für den Streamingendpunkt mit 1 Streamingeinheit zeigt, dass es geschätzt wird, dass gleichzeitige Viewer mit 3,5 MBit/s mit 90% des CDN und 10% des Streamingendpunkts gestreamt werden.

  11. Ändern Sie den Prozentsatz der Ausgangsquelle von 90% vom CDN-Cache in 0%. Der Rechner schätzt, dass Sie 57 gleichzeitige Viewer mit 3,5 MBit/s bei 200 MBit/s streamen können, ohne ein CDN zu.

  12. Ändern Sie nun die Ausgangsquelle wieder auf 90%zurück.

  13. Ändern Sie dann die Streamingeinheiten in 2. Der Rechner schätzt, dass Sie 1143 gleichzeitige Viewer mit 3,5 MBit/s mit 4000Mpbs mit 90% des Datenverkehrs streamen können.

  14. Wählen Sie Speichernaus.

  15. Sie können den Streamingendpunkt starten und versuchen, Datenverkehr an ihn zu senden. Die Metriken am unteren Rand des Bildschirms verfolgen den tatsächlichen Datenverkehr.

Timing

Möglicherweise möchten Sie Streamingeinheiten 1 Stunde vor der erwarteten Spitzenauslastung bereitstellen, um sicherzustellen, dass Streamingeinheiten bereit sind.

Hilfe und Support erhalten

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