Verwenden von Timeshift und Liveausgaben zum Erstellen der bedarfsgesteuerten Videowiedergabe

Media Services-Logo v3


Warnung

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

In Azure Media Services verhält sich ein Liveausgabe-Objekt wie ein digitaler Videorekorder, der Ihren Livestream erfasst und in einem Medienobjekt (Asset) in Ihrem Media Services-Konto aufzeichnet. Der aufgezeichnete Inhalt wird in dem Container gespeichert, der durch die Asset-Ressource definiert ist (der Container befindet sich in dem Azure Storage-Konto, das Ihrem Konto zugeordnet ist). Die Liveausgabe ermöglicht Ihnen auch, einige der Eigenschaften des ausgehenden Livestreams zu steuern, etwa welcher Anteil des Streams in der Archivaufzeichnung verwahrt wird (beispielsweise die Kapazität des Cloud-DVR) und wann Zuschauer mit der Wiedergabe des Livestreams beginnen können. Das Archiv auf dem Datenträger ist ein kreisförmiges „Archivfenster“, das nur die Menge an Inhalten enthält, die in der archiveWindowLength-Eigenschaft der Liveausgabe angegeben ist. Inhalt außerhalb dieses Fensters wird automatisch aus dem Speichercontainer entfernt und ist nicht wiederherstellbar. Der archiveWindowLength-Wert entspricht einer ISO-8601-Zeitspanne (z. B. PTHH:MM:SS), die die Kapazität des DVRs angibt. Der Wert kann von mindestens 1 Minute bis zu einem Höchstwert von 25 Stunden eingestellt werden.

Die Beziehung zwischen einem Liveereignis und der zugehörigen Liveausgabe ist ähnlich wie bei einer traditionellen Fernsehsendung, bei der ein Kanal (Liveereignis) einen konstanten Videodatenstrom darstellt und eine Aufzeichnung (Liveausgabe) auf ein bestimmtes Zeitsegment (z. B. Abendnachrichten von 18:30 bis 19:00 Uhr) ausgerichtet ist. Sobald der Stream an das Liveereignis übertragen wird, können Sie das Streamingereignis starten, 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. Sie können mehrere Liveausgaben (maximal bis zu drei) mit unterschiedlichen Archivlängen und Einstellungen für ein Liveereignis erstellen. Informationen zum Workflow für das Livestreaming finden Sie im Abschnitt Allgemeine Schritte.

Verwenden eines DVRs während eines Ereignisses

In diesem Abschnitt wird erläutert, wie ein DVR während eines Ereignisses verwendet werden kann, um zu steuern, welche Teile des Datenstroms für „Zurückspulen“ verfügbar sind.

Der Wert von archiveWindowLength bestimmt, wie weit zurück in der Zeit ein Zuschauer von der aktuellen Liveposition aus gehen kann. Der archiveWindowLength-Wert legt außerdem fest, auf welche Länge Clientmanifeste anwachsen können.

Angenommen, Sie streamen ein Fußballspiel, und der Wert für ArchiveWindowLength ist auf nur 30 Minuten festgelegt. Ein Zuschauer, der 45 Minuten nach Spielbeginn damit beginnt, das Ereignis zu verfolgen, kann höchstens eine Suche bis zur 15-Minuten-Markierung durchführen. Ihre Liveausgaben für das Spiel werden fortgesetzt, bis das Liveereignis beendet wird. Inhalte, die außerhalb von „archiveWindowLength“ liegen, werden kontinuierlich aus dem Speicher entfernt und sind nicht wiederherstellbar. In diesem Beispiel würden die Videodaten zwischen dem Ereignisstart und der 15-Minuten-Markierung von Ihrem DVR und aus dem Container im Blobspeicher für das Medienobjekt gelöscht werden. Das Archiv ist nicht wiederherstellbar und wird aus dem Container im Azure-Blobspeicher gelöscht.

Ein Liveereignis unterstützt bis zu drei gleichzeitig aktive Liveausgaben (Sie können maximal drei Aufzeichnungen/Archive gleichzeitig aus einem Livestream erstellen). Auf diese Weise können Sie verschiedene Teile eines Ereignisses nach Bedarf veröffentlichen und archivieren. Angenommen, Sie müssen rund um die Uhr einen linearen Livefeed senden. Sie möchten jedoch den ganzen Tag über „Aufzeichnungen“ der unterschiedlichen Programme erstellen, die Sie Ihren Kunden auf Abruf zur Nachbetrachtung anbieten können. Für dieses Szenario erstellen Sie zunächst eine primäre Liveausgabe mit einem kurzen Archivfenster von maximal einer Stunde. Dies ist der primäre Livestream, in den sich die Zuschauer einschalten können. Sie erstellen einen Streaminglocator für diese Liveausgabe und veröffentlichen ihn als „Livefeed“ in Ihrer App oder auf Ihrer Website. Während das Liveereignis ausgeführt wird, können Sie programmgesteuert eine zweite parallele Liveausgabe zu Beginn eines Programms erstellen (oder 5 Minuten früher, um Material zum späteren Schneiden bereitzustellen). Diese zweite Liveausgabe kann 5 Minuten nach Programmende gelöscht werden. Mit diesem zweiten Medienobjekt können Sie einen neuen Streaminglocator erstellen, um dieses Programm als On-Demand-Medienobjekt im Katalog Ihrer App bereitzustellen. Sie können diesen Vorgang für andere Programmgrenzen oder für Highlights, die Sie als On-Demand-Videos freischalten möchten, mehrfach wiederholen, während der „Livefeed“ für die erste Liveausgabe weiterhin den linearen Feed sendet.

Verwenden von „rewindWindowLength“

Sie können auch die Eigenschaft rewindWindowLength für eine Liveausgabe verwenden, um die Zeit zu steuern, für die ein Zuschauer während eines Liveereignisses rückwärts suchen kann. Die Einstellung hilft auch, die Manifestgröße zu verringern, die während des Livestreamings an den Client über das Netzwerk übermittelt wird. Es kann zu einer effizienteren Livestreaming-Erfahrung führen und die Speicherauslastung auf dem Client verringern. Sobald die Liveausgabe beendet wird, verwendet das archivierte Video die oben beschriebene ursprüngliche Archivfensterlänge.

Wenn der Stream beendet ist, können Sie auf die archivierte Datei im Objekt zugreifen, das durch die Eigenschaft archiveWindowLength für die Live-Ausgabe definiert ist. Auf diese Weise können Sie eine andere Archivdauer als die vorherigen Dauer des „DVR-Gleitfensters“ festlegen, die für den Spieler sichtbar ist.

Dies ist sehr nützlich, wenn Sie mit einem sehr kleinen Zeitverschiebungsfenster im Player streamen möchten, aber das gesamte Liveereignis auf dem Ausgabeobjekt archivieren möchten.

Sie können rewindWindowLength auf einen Mindestwert von 60 Sekunden festlegen.

Wenn Sie ein Liveereignis mit LowLatencyV2 erstellen, beträgt der Standardwert 30 Minuten.

Wenn Sie eine Anforderung für eine Live-Ausgabe senden, schließen Sie rewindWindowLength in die Eigenschaften ein. Im folgenden REST-Beispiel wird PT1H30M verwendet, um 1 Stunde und 30 Minuten als die Länge für das Rücklauffenster anzugeben.


{
  "properties": {
    "description": "test live output 1",
    "assetName": "6f3264f5-a189-48b4-a29a-a40f22575212",
    "archiveWindowLength": "PT5M",
    "rewindWindowLength": "PT1H30M",
    "manifestName": "testmanifest",
    "hls": {
      "fragmentsPerTsSegment": 5
    }
  }

Erstellen eines Archivs für bedarfsgesteuerte Wiedergabe (On-Demand-Wiedergabe)

Das Liveausgabeobjekt wird automatisch ein On-Demand-Objekt, wenn die Liveausgabe gelöscht wird. Sie müssen alle Liveausgaben löschen, bevor ein Liveereignis angehalten werden kann. (Sie können ein optionales Flag removeOutputsOnStop verwenden, um Liveausgaben bei Stopp automatisch zu entfernen.) Benutzer können Ihre archivierten Inhalte auf Anforderung streamen, solange Sie die Ressource nicht löschen.

Hinweis

Wenn Sie die Liveausgabe löschen, werden das zugrunde liegende Medienobjekt und dessen Inhalt nicht gelöscht.

Wenn Sie das Medienobjekt der Liveausgabe mit einem Streaminglocator veröffentlicht haben, ist das Liveereignis (bis zur DVR-Fensterlänge) weiterhin bis zum Ablauf oder der Löschung des Streaminglocators sichtbar, je nachdem, welches Ereignis zuerst eintritt.

Weitere Informationen finden Sie unter

Anfordern von Hilfe und Support

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