Media Services-Liveereignisse

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.

Tipp

Wenn Sie von Media Services v2-APIs migrieren, ersetzt die LiveereignisentitätKanal in v2, und die Liveausgabe ersetzt das Programm.

Liveereignisse

Liveereignisse erfassen und verarbeiten Livevideofeeds. Wenn Sie ein Liveereignis erstellen, wird ein Erfassungsendpunkt erstellt. Der Erfassungsendpunkt nutzt ein Livesignal von einem Remoteencoder. Der Remote-Liveencoder sendet den Feed mithilfe des Eingabeprotokolls RTMP oder Smooth Streaming (fragmented-MP4) an den Eingabeendpunkt. Der Inhalt für das RTMP-Erfassungsprotokoll kann ohne Verschlüsselung (rtmp://) oder sicher verschlüsselt über das Netzwerk (rtmps://) gesendet werden. Für das Smooth Streaming-Erfassungsprotokoll werden die URL-Schemas http:// und https:// unterstützt.

Die Standardzuordnung ist 5 Liveereignisse pro Media Services-Konto. Wenn Sie diesen Grenzwert erhöhen möchten, erstellen Sie im Azure-Portal ein Supportticket.

Liveereignistypen

Ein Liveereignis kann entweder auf eine einfache, standardmäßige Passthrough- oder Livecodierung festgelegt werden. Die Typen werden während der Erstellung mithilfe des Liveereigniscodierungstyps festgelegt.

  • Passthrough basic: Ein lokaler Liveencoder sendet einen Datenstrom mit mehreren Bitraten. Basic-Passthrough ist auf einen maximalen Eingangswert von 5 MBit/s und ein DVR-Fenster von 8 Stunden beschränkt. Außerdem wird die Livetranskription nicht unterstützt.
  • Passthroughstandard: Ein lokaler Liveencoder sendet einen Datenstrom mit mehreren Bitraten. Standard-Passthrough verfügt über höhere Erfassungsgrenzwerte, ein DVR-Fenster von 25 Stunden und Unterstützung für Livetranskriptionen.
  • Standard: Ein lokaler Liveencoder sendet einen Stream mit einer einzelnen Bitrate an das Liveereignis, und Media Services erstellt mehrere Bitratedatenströme. Wenn der Beitragsfeed eine Auflösung von 720p oder höher hat, bewirkt die Voreinstellung Default720p, dass eine Reihe von 6 Auflösungs-/Bitrate-Paaren codiert wird.
  • Premium 1080p: Ein lokaler Liveencoder sendet einen Stream mit einer einzelnen Bitrate an das Liveereignis, und Media Services erstellt mehrere Bitratedatenströme. Die Voreinstellung „Default1080p“ gibt den Ausgabesatz von Auflösungs-/Bitrate-Paaren an.

Hinweis

Die maximale Framerate für die Codierungsoptionen Standard und Premium ist 30 fps.

Passthrough-Liveereignis

Wenn Sie das Standard- oder Standard-Passthrough-Liveereignis verwenden, verwenden Sie Ihren lokalen Liveencoder, um einen Videostream mit mehreren Bitraten zu generieren und diesen an das Liveereignis zu senden (mit RTMP oder fragmented-MP4-Protokoll). Das Liveereignis leitet dann die eingehenden Videostreams ohne weitere Verarbeitung weiter. Ein Passthrough-Liveereignis ist für lang andauernde Liveereignisse oder lineares Livestreaming rund um die Uhr optimiert. Geben Sie beim Erstellen dieser Art von Liveereignis pass-through „basic“ oder „standard“ an.

Sie können den Feed mit Auflösungen von bis zu 4K und mit einer Bildfrequenz von 60 Frames/Sekunde senden, entweder mit H.264/AVC- oder H.265/HEVC-Videocodecs (Nur Smooth Ingest) und AAC-Audiocodecs (AAC-LC, HE-AACv1 oder HE-AACv2). Weitere Informationen finden Sie unter Vergleich von Liveereignistypen.

Hinweis

Die Verwendung der Pass-Through-Methode ist die wirtschaftlichste Form des Livestreamings, wenn mehrere Ereignisse über einen längeren Zeitraum gestreamt werden und Sie bereits in lokale Encoder investiert haben. Die Preisdetails finden Sie hier.

Livecodierungs-Liveereignis

Wenn Sie die Livecodierung verwenden, konfigurieren Sie Ihren lokalen Liveencoder so, dass ein Video mit einer einzelnen Bitrate an das Liveereignis gesendet wird (mithilfe von RTMP oder Fragmented-Mp4 Protokoll). Anschließend richten Sie ein Liveereignis so ein, dass es den eingehenden Datenstrom mit einer einzelnen Bitrate in einen Videostream mit mehreren Bitraten codiert. Dadurch wird die Ausgabe für die Wiedergabe von Geräten über Protokolle wie MPEG-DASH, HLS und Smooth Streaming zur Verfügung gestellt.

In diesem Fall können Sie den Beitragsfeed nur mit Auflösungen bis zu 1080p-Auflösung mit einer Bildrate von 30 Frames/Sekunde senden, mit H.264/AVC-Videocodec und AAC-Audiocodec (AAC-LC, HE-AACv1 oder HE-AACv2). Weitere Informationen finden Sie unter Vergleich von Liveereignistypen.

HLS- und DASH-Streamingoptionen mit geringer Latenz

Ausführliche Informationen zum Erreichen einer niedrigen Latenz bei der Liveereigniscodierung finden Sie in den HlS-Streamingoptionen (LOW Latency HLS, LL-HLS) und DASH sowie im Leitfaden zu bewährten Methoden für Livestreaming.

Ausgabeauflösung und Bitraten für Livecodierung

Die Auflösungen und Bitraten in der resultierenden Ausgabe des Live-Encoders werden durch die Voreinstellung bestimmt:

  • Wenn Sie den Liveencoder Standard verwenden, gibt die Default720p-Voreinstellung einen Satz von sechs Auflösungs-/Bitratenpaaren an, die von 720p bei 3,5 MBit/s bis zu 192p bei 200 KBit/s gehen.
  • Wenn Sie einen Premium1080p-Liveencoder verwenden, gibt die Default1080p-Voreinstellung einen Satz von sechs Auflösungs-/Bitratenpaaren an, die von 1080p bei 3,5 MBit/s bis zu 180p bei 200 KBit/s gehen.

Weitere Informationen finden Sie auf der Seite mit den Systemvoreinstellungen.

Hinweis

Wenn Sie die Voreinstellung für Livecodierung anpassen müssen, öffnen Sie ein Supportticket über das Azure-Portal. Geben Sie die gewünschte Tabelle mit den Angaben zur Videoauflösung und den Video- und Audiobitraten an. Für Video: Vergewissern Sie sich, dass nur eine Ebene mit 720p und maximal sechs Videoebenen vorhanden sind. Für Audio: Eine individuelle Anpassung mit folgenden AAC-Audiobitraten ist möglich: 96k, 112k, 128k, 160k, 192k, 224k, 256k, 320k, 384k, 448k, 512k. In der benutzerdefinierten Voreinstellung sind mehrere Audiospuren mit unterschiedlichen Bitraten möglich. Geben Sie im Supportticket unbedingt an, dass Sie eine benutzerdefinierte Voreinstellung anfordern.

Sehen Sie sich die REST-API für LiveEventEncodingType oder die .NET-, Node.JS- oder Python-SDKs an. Darüber hinaus können Sie den Beispielcode für live-Ereignisse ausprobieren.

Optionen für Liveereignisse

Beim Erstellen eines Liveereignisses können Sie Folgendes festlegen:

  • Name und Beschreibung.
  • Für die Standard- und Premium-Codierung können Sie den Stretchmodus des codierten Videos auswählen:
    • Keine: Berücksichtigt streng die in der Codierungsvoreinstellung angegebene Ausgabeauflösung, ohne das Pixelseitenverhältnis oder das Anzeigeseitenverhältnis des Eingabevideos zu berücksichtigen.
    • AutoSize: Überschreibt die Ausgabeauflösung und ändert sie so, dass sie dem Anzeigeseitenverhältnis der Eingabe ohne Auffüllung entspricht. Wenn die Auflösung der Eingabe beispielsweise 1920 × 1080 ist und die Codierungsvoreinstellung 1280 × 1280 fordert, wird der Wert in der Voreinstellung außer Kraft gesetzt, und die Ausgabe erfolgt in 1280 × 720, sodass das Eingabeseitenverhältnis von 16 : 9 beibehalten wird.
    • AutoFit: Polstert die Ausgabe (entweder mit Briefkasten oder Säulenfeld), um die Ausgabeauflösung zu berücksichtigen, und stellen Sie sicher, dass der aktive Videobereich in der Ausgabe das gleiche Seitenverhältnis wie die Eingabe aufweist. Wenn die Auflösung der Eingabe z. B. 1920 × 1080 ist und die Codierungsvoreinstellung 1280 × 1280 fordert, erfolgt die Ausgabe in 1280 × 1280 und besteht aus einem Rechteck mit 1280 × 720 im Seitenverhältnis 16 : 9 und einem jeweils 280 Pixel breiten Rand links und rechts im Pillarboxformat.
  • Streamingprotokoll RTMP- oder Smooth-Streaming. Hinweis: Sie können die Protokolloption nicht ändern, während das Liveereignis oder die zugehörigen Liveausgaben ausgeführt werden. Sollten Sie verschiedene Protokolle benötigen, erstellen Sie für jedes Streamingprotokoll ein separates Liveereignis.
  • Eingabe-ID , die ein global eindeutiger Bezeichner für den Liveereigniseingabestream ist.
  • Statisches Hostnamenpräfix , das keinen enthält (in diesem Fall wird eine zufällige 128-Bit-Hexzeichenfolge verwendet), Verwenden Sie den Namen des Liveereignisses oder benutzerdefinierten Namen verwenden. Wenn Sie sich für die Verwendung eines benutzerdefinierten Namens entscheiden, ist dieser Wert das benutzerdefinierte Hostnamenpräfix.
  • Eingabeschlüsselrahmenintervall, das die Dauer (in Sekunden) jedes Mediensegments in der HLS-Ausgabe darstellt. Der Wert muss eine ganze Zahl ungleich 0 (null) zwischen 0,5 und 20 Sekunden sein. Der Standardwert ist 2 Sekunden, wenn weder das Intervall des Eingabekeyframes noch das des Ausgabekeyframes festgelegt ist. Das Keyframeintervall ist nur bei Passthroughereignissen zulässig.
  • Autostart. Wenn für den automatischen Start „true“ festgelegt ist, wird das Liveereignis nach der Erstellung gestartet. Die Abrechnung beginnt, sobald das Liveereignis startet. Sie müssen das Liveereignis explizit beenden, um die weitere Abrechnung zu beenden. Alternativ können Sie das Ereignis starten, wenn Sie zum Starten des Streamings bereit sind.
  • IP-Einschränkungen für die Erfassung und Vorschau. Sie können die IP-Adressen definieren, die ein Video für dieses Liveereignis erfassen dürfen. Zulässige IP-Adressen können als einzelne IP-Adresse (Beispiel: 10.0.0.1), als IP-Adressbereiche mit einer IP-Adresse und einer CIDR-Subnetzmaske (Beispiel: 10.0.0.1/22) oder als IP-Adressbereiche mit einer IP-Adresse und einer Subnetzmaske in Punkt-Dezimalschreibweise (Beispiel: 10.0.0.1(255.255.252.0)) angegeben werden.
    • Wenn keine IP-Adressen angegeben sind und es keine Regeldefinition gibt, sind keine IP-Adressen zulässig. Um alle IP-Adressen zuzulassen, erstellen Sie eine Regel und legen 0.0.0.0/0 fest. Die IP-Adressen müssen in einem der folgenden Formate vorliegen: IpV4- oder IPv6-Adressen mit vier Zahlen oder CIDR-Adressbereich. Weitere Informationen zur Verwendung von IPv4 oder IPv6 finden Sie unter Einschränken des Zugriffs auf die DRM-Lizenz und der Übermittlung von AES-Schlüsseln mithilfe von IP-Zulassungslisten.
    • Wenn Sie bestimmte IP-Adressen für Ihre eigenen Firewalls aktivieren oder Eingaben für Ihre Liveereignisse auf Azure-IP-Adressen einschränken möchten, laden Sie eine JSON-Datei von Azure Datacenter IP address ranges (IP-Adressbereiche für Azure Datacenter) herunter. Details zu dieser Datei erhalten Sie, indem Sie auf den Bereich Details der Seite klicken.
  • Livetranskription , die standardmäßig deaktiviert ist. Weitere Informationen zur Livetranskription finden Sie unter Livetranskription (Preview).

Standbymodus

Wenn Sie ein Liveereignis erstellen, können Sie es in den Standbymodus versetzen. Während sich das Ereignis im StandBy-Modus befindet, können Sie die Beschreibung und das Präfix des statischen Hostnamens bearbeiten sowie eingabe- und Vorschauzugriffseinstellungen einschränken. Der Standbymodus ist dennoch ein abrechenbarer Modus. Der Preis unterscheidet sich jedoch von dem beim Starten eines Livestreams.

Weitere Informationen finden Sie unter Zustandswerte von Liveereignissen und Abrechnung.

Liveausgaben

Nachdem Sie einen Stream von einem lokalen Encoder zu einem Liveereignis eingerichtet haben, können Sie das Streamingereignis beginnen, indem Sie ein Medienobjekt, eine Liveausgabe und einen Streaminglocator erstellen. Durch die Liveausgabe wird der Datenstrom archiviert und über den Streamingendpunkt für die Zuschauer verfügbar gemacht.

Fragen zu Liveereignisausgaben

Weitere Informationen dazu finden Sie unter den häufig gestellten Fragen zu Liveereignissen. Informationen zu Liveereigniskontingenten finden Sie unter Kontingente und Grenzwerte.

Weitere Details zum Einrichten von Liveereignissen

Benennungsregeln

  • Die maximale Länge des Namens von Liveereignissen beträgt 32 Zeichen.
  • Der Name sollte diesem regex-Muster folgen: ^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$.

Mehr dazu erfahren Sie unter Benennungskonventionen für Streamingendpunkte.

Tipp

Um die Eindeutigkeit des Namens Ihres Liveereignisses sicherzustellen, können Sie eine GUID generieren und dann alle Bindestriche und runden Klammern entfernen (falls vorhanden). Die Zeichenfolge ist dann unter allen Liveereignissen eindeutig und ihre Länge beträgt garantiert 32 Zeichen.

Erfassungs-URLs für Liveereignisse

Sobald das Liveereignis erstellt wurde, können Sie Erfassungs-URLs abrufen, die Sie dem lokalen Liveencoder zur Verfügung stellen. Diese URLs werden vom Liveencoder zur Eingabe eines Livestreams verwendet. Weitere Informationen finden Sie unter Empfohlene lokale Liveencoder.

Hinweis

Ab dem API-Release 2020-05-01 werden Vanity-URLs als „Static Host Names“ (statische Hostnamen) bezeichnet (useStaticHostname: true).

Hinweis

Damit eine Erfassungs-URL in einem Hardwareencodersetup statisch und vorhersagbar sein kann, legen Sie die Eigenschaft useStaticHostname auf „true“ und die Eigenschaft accessToken bei jeder Erstellung auf den gleichen GUID fest.

  • Nicht statischer Hostname

    Ein nicht statischer Hostname ist der Standardmodus in Media Services v3 beim Erstellen eines Liveereignisses (LiveEvent). Sie können das Liveereignis geringfügig schneller zuweisen, jedoch ist die Erfassungs-URL, die Sie für Ihre Hard- oder Software zur Livecodierung benötigen, randomisiert. Die URL ändert sich, wenn Sie das Liveereignis starten/beenden. Nicht statische Hostnamen sind nur in Szenarien nützlich, in denen ein Endbenutzer mithilfe einer App streamen möchte, die ein Liveereignis sehr schnell abrufen muss, und die Verwendung einer dynamischen Erfassungs-URL kein Problem darstellt.

    Wenn eine Client-App die Erfassungs-URL nicht vor dem Erstellen des Liveereignisses generieren muss, lassen Sie Media Services das Zugriffstoken für das Liveereignis automatisch generieren.

  • Statische Hostnamen

    Der Modus „Statischer Hostname“ wird von den meisten Betreibern bevorzugt, die ihre Hard- oder Software zur Livecodierung mit einer RTMP-Erfassungs-URL vorkonfigurieren möchten, die sich bei der Erstellung oder beim Beenden/Starten eines bestimmten Liveereignisses nie ändert. Diese Betreiber wünschen sich eine vorhersagbare RTMP-Erfassungs-URL, die sich im Laufe der Zeit nicht ändert. Dies ist auch dann sehr nützlich, wenn Sie eine statische RTMP-Erfassungs-URL in die Konfigurationseinstellungen eines Hardwarecodierungsgeräts wie dem BlackMagic Atem Mini Pro oder ähnliche Hardwarecodierungs- und Produktionstools übermitteln müssen.

    Hinweis

    Im Azure-Portal wird die URL für den statischen Hostnamen als statisches Hostnamenpräfix bezeichnet.

    Zum Festlegen dieses Modus in der API legen Sie useStaticHostName zum Zeitpunkt der Erstellung auf true fest (der Standardwert ist false). Wenn useStaticHostname auf „true“ festgelegt ist, gibt hostnamePrefix den ersten Teil des Hostnamens an, der der Liveereignisvorschau und den Erfassungsendpunkten zugewiesen wurde. Der endgültige Hostname ist dann eine Kombination aus diesem Präfix, dem Media Services-Kontonamen und einem kurzen Code für das Azure Media Services-Rechenzentrum.

    Sie müssen bei der Erstellung auch Ihr eigenes Zugriffstoken (LiveEventInput.accessToken) übergeben, um ein zufälliges Token in der URL zu vermeiden. Das Zugriffstoken muss eine gültige GUID-Zeichenfolge (mit oder ohne Bindestriche) sein. Sobald der Modus festgelegt ist, kann er nicht mehr aktualisiert werden.

    Das Zugriffstoken muss für die Azure-Region und das Media Services-Konto eindeutig sein. Wenn für Ihre App eine statische Hostnamenerfassungs-URL erforderlich ist, sollten Sie in jedem Fall eine neue GUID-Instanz für die zutreffende Kombination aus Region, Media Services-Konto und Liveereignis erstellen.

    Verwenden Sie die folgenden APIs, um die URL für den statischen Hostnamen zu aktivieren, und legen Sie für das Zugriffstoken eine gültige GUID-Zeichenfolge fest (zum Beispiel "accessToken": "1fce2e4b-fb15-4718-8adc-68c6eb4c26a7").

    Sprache Aktivieren der URL für den statischen Hostnamen Festlegen des Zugriffstokens
    REST properties.useStaticHostname LiveEventInput.useStaticHostname
    Befehlszeilenschnittstelle (CLI) --use-static-hostname --access-token
    .NET LiveEvent.useStaticHostname LiveEventInput.AccessToken

Benennungsregeln für Liveerfassungs-URLs

  • Die nachstehende zufällige Zeichenfolge ist eine 128-Bit-Hexadezimalzahl (sie umfasst 32 Zeichen von 0 bis 9 und a bis f).
  • Ihr Zugriffstoken: Die von Ihnen festgelegte gültige GUID-Zeichenfolge bei Verwendung der Einstellung für den statischen Hostnamen. Beispiel: "1fce2e4b-fb15-4718-8adc-68c6eb4c26a7".
  • stream name: Gibt den Streamnamen für eine bestimmte Verbindung an. Der Wert des Datenstromnamens wird in der Regel von dem von Ihnen verwendeten Liveencoder hinzugefügt. Sie können den Liveencoder so konfigurieren, dass Sie zum Beschreiben der Verbindung einen beliebigen Namen verwenden können. Beispiel: „video1_audio1“, „video2_audio1“ oder „stream“.

Warnung

Wenn Sie Sonderzeichen oder Leerzeichen im Namen Ihres Streams verwenden, schlägt die Liveerfassung fehl. Weitere Informationen finden Sie unter Media Services-Ressourcenbenennungskonventionen in der Übersicht über Entwicklerkonzepte.

Erfassungs-URL für nicht statischen Hostnamen

RTMP

rtmp://<random 128bit hex string>.channel.media.azure.net:1935/live/<auto-generated access token>/<stream name>
rtmp://<random 128bit hex string>.channel.media.azure.net:1936/live/<auto-generated access token>/<stream name>
rtmps://<random 128bit hex string>.channel.media.azure.net:2935/live/<auto-generated access token>/<stream name>
rtmps://<random 128bit hex string>.channel.media.azure.net:2936/live/<auto-generated access token>/<stream name>

Smooth Streaming

http://<random 128bit hex string>.channel.media.azure.net/<auto-generated access token>/ingest.isml/streams(<stream name>)
https://<random 128bit hex string>.channel.media.azure.net/<auto-generated access token>/ingest.isml/streams(<stream name>)

Erfassungs-URL für statischen Hostnamen

In den folgenden Pfaden steht <live-event-name> entweder für den für das Ereignis festgelegten Namen oder den benutzerdefinierten Namen, der beim Erstellen des Liveereignisses verwendet wird.

RTMP

rtmp://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net:1935/live/<your access token>/<stream name>
rtmp://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net:1936/live/<your access token>/<stream name>
rtmps://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net:2935/live/<your access token>/<stream name>
rtmps://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net:2936/live/<your access token>/<stream name>

Smooth Streaming

http://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net/<your access token>/ingest.isml/streams(<stream name>)
https://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net/<your access token>/ingest.isml/streams(<stream name>)

Vorschau-URL für Liveereignisse

Sobald das Liveereignis beginnt, Daten aus dem Beitragsfeed zu empfangen, können Sie über den zugehörigen Vorschauendpunkt eine Vorschau anzeigen und sicherstellen, dass Sie den Livestream empfangen, bevor Sie mit der Veröffentlichung fortfahren. Nachdem Sie sich von der Qualität des Vorschaustreams überzeugt haben, können Sie das Liveereignis verwenden, um den Livestream durch einen oder mehrere (vorab erstellte) Streamingendpunkte für die Übertragung verfügbar zu machen. Hierzu erstellen Sie eine neue Liveausgabe für das Liveereignis.

Wichtig

Vergewissern Sie sich, dass das Video an die Vorschau-URL übertragen wird, bevor Sie fortfahren.

Zeitintensive Vorgänge für Liveereignisse

Weitere Informationen finden Sie unter Zeitintensive Vorgänge.

Anfordern von Hilfe und Support

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