Migrationsanleitung für die Einstellung von Standardübertragungen und ‑streams

Übersicht

Dieser Leitfaden richtet sich an Entwickler von API-Clientanwendungen, die die Standardressourcen liveStream und liveBroadcast von YouTube-Kanälen verwenden, um Liveinhalte zu streamen. Er soll Ihnen helfen, sicherzustellen, dass Ihre Anwendung die Einstellung von Standardübertragungen und ‑streams ordnungsgemäß verarbeitet. Er ist relevant für Sie, wenn eine der folgenden Aussagen auf Ihre Anwendung zutrifft:

  • Sie prüft den Wert der liveBroadcast Ressource's isDefaultBroadcast Eigenschaft.
  • Sie prüft den Wert der liveStream Ressource's isDefaultStream Eigenschaft.
  • Sie ruft die liveBroadcasts.list Methode auf und legt den broadcastType Parameterwert auf persistent fest. Ab dem Datum der Einstellung gilt Folgendes:

    • Wenn der Parameterwert broadcastType persistent ist, gibt die Methode liveBroadcasts.list keine Ergebnisse zurück.
    • Wenn der broadcastType Parameterwert all ist, gibt die liveBroadcasts.list Methode keine persistenten Übertragungen zurück, die vor diesem Zeitpunkt vorhanden waren.

Wenn Ihre Anwendung betroffen ist, lesen Sie den Abschnitt Anwendung aktualisieren. Dort wird erläutert, welche Änderungen Sie möglicherweise an Ihrer Anwendung vornehmen müssen. In diesem Abschnitt werden bestimmte Schritte im Leitfaden Lebenszyklus einer Übertragung beschrieben, die Ihr API-Client normalerweise nicht ausführt, wenn er derzeit die Standardübertragung und den Standardstream verwendet.

Was genau ist geplant?

Seit 2015 erstellt YouTube automatisch einen Standardstream und eine Standardübertragung für einen Kanal, wenn dieser für Livestreaming aktiviert wurde. Der Standardstream war unbegrenzt verfügbar und konnte nicht gelöscht werden. Ebenso wurde die Standardübertragung als dauerhaft betrachtet. Sie war immer vorhanden, hatte keine Start- oder Endzeit und war nicht an ein bestimmtes Ereignis gebunden.

Ab dem oben genannten Datum der Einstellung erstellt YouTube keine Standardstreams und ‑übertragungen mehr. Diese Änderung betrifft Clientanwendungen, die auf diese Ressourcen angewiesen sind, um Liveinhalte zu übertragen. Sie betrifft auch Anwendungen, bei denen die Benutzeroberfläche angepasst ist, um zwischen diesen Standardressourcen und anderen Übertragungen und Streams zu unterscheiden, die von Kanalinhabern erstellt wurden.

Anstatt sich auf die Standardressourcen zu verlassen, müssen API-Clients liveBroadcast- und liveStream-Ressourcen erstellen und verwalten und diese Ressourcen miteinander verknüpfen.

Anwendung aktualisieren

Zur schnellen Wiederholung der Terminologie: Eine Übertragung ist ein Ereignis, das auf YouTube live angesehen werden kann. Ein Stream ist der Mechanismus zum Senden der eigentlichen Videoinhalte an YouTube. Eine Übertragung kann und muss genau einem Stream zugeordnet sein.

Von Standardübertragungen migrieren

Vor dieser Einstellung konnten API-Clients zwischen der Standardübertragung eines Kanals und einer ereignisspezifischen Übertragung wählen. Die Standardübertragung war eine dauerhafte Ressource, die für mehrere Ereignisse wiederverwendet werden konnte. Eine ereignisspezifische Übertragungsressource ist eine Ressource für den einmaligen Gebrauch, die genau einem YouTube-Video entspricht.

Ihre Clientanwendung verwendet die Standardübertragung, wenn sie die Methode liveBroadcasts.list aufruft und eine der folgenden Aktionen ausführt:

  • Sie legt den Wert des broadcastType Parameters auf persistent fest. Mit dieser Anfrage wird nur die Standardübertragung abgerufen.
  • Sie legt den broadcastType Parameterwert auf all fest und identifiziert dann die liveBroadcast Ressource in der API-Antwort, für die der isDefaultBroadcast Eigenschaftswert true ist.

Nach der Einstellung unterstützt YouTube nur noch ereignisspezifische Übertragungen. Das bedeutet, dass Clientanwendungen anstatt der Standardübertragung liveBroadcastRessourcen für jedes einzelne Übertragungsereignis erstellen müssen.

Rufen Sie die liveBroadcasts.insert Methode auf, um eine liveBroadcast Ressource zu erstellen. Dieser Vorgang wird in Schritt 1.1 des Leitfadens Lebenszyklus einer Übertragung erläutert.

Falls noch nicht geschehen, müssen Sie Ihrer Benutzeroberfläche auch Mechanismen hinzufügen, mit denen Nutzer zwischen anstehenden ereignisspezifischen Übertragungen unterscheiden und diese auswählen können.

Von Standardstreams migrieren

Mit einem Stream können Sie Audio- und Videoinhalte an YouTube übertragen. Außerdem werden die Einstellungen für das Streamen von Inhalten auf YouTube festgelegt. Es ist üblich, dass Broadcaster denselben Stream für viele verschiedene Übertragungen wiederverwenden, wenn diese zu unterschiedlichen Zeiten stattfinden.

Auch wenn Ihre Anwendung den Standardstream nicht verwenden kann, kann sie einen wiederverwendbaren Stream erstellen, der für jede Übertragung wiederverwendet werden kann. Rufen Sie die liveStreams.insert Methode auf, um eine liveStream Ressource zu erstellen. Folgen Sie dabei der Anleitung in Schritt 1.2 des Leitfadens "Lebenszyklus einer Übertragung". Standardmäßig sind neu erstellte Streams wiederverwendbar. Sie können jedoch auch die contentDetails.isReusable Eigenschaft auf false setzen, um Streams für den einmaligen Gebrauch zu erstellen und eine 1:1- Beziehung zwischen Übertragungen und Streams zu haben.

Die folgende Liste enthält die vier Eigenschaften, die Sie neben dem Streamtitel und der Streambeschreibung, festlegen können, wenn Sie einen neuen Stream erstellen. In der Liste sind die Werte aufgeführt, die für die einzelnen Eigenschaften für Standardstreams verwendet werden. Das sind wahrscheinlich die Einstellungen, die Sie in einer Clientanwendung verwenden möchten, wenn Sie von der Verwendung von Standardstreams migrieren.

Übertragungen an Streams binden

Jede liveBroadcast-Ressource muss genau einem Stream zugeordnet sein, bevor die Liveübertragung auf YouTube gestartet werden kann. Die Übertragung ist zum Zeitpunkt der Erstellung nicht an Streams gebunden.

Die Zuordnung wurde für die Standardübertragung automatisch vorgenommen, da sie untrennbar mit dem Standardstream verbunden war. Nach dem Datum der Einstellung müssen Clientanwendungen diesen Vorgang jedoch für alle Übertragungen verwalten.

Rufen Sie die liveBroadcasts.bind Methode auf, um eine Übertragung an einen Stream zu binden. Folgen Sie dabei der Anleitung in Schritt 1.3 des Leitfadens Lebenszyklus einer Übertragung.

  • Wenn Sie einen wiederverwendbaren Stream verwenden, können Sie ihn einmal erstellen und dann jede Übertragung daran binden.
  • Wenn Sie keinen wiederverwendbaren Stream verwenden, müssen Sie eine Übertragung und einen Stream erstellen und diese dann miteinander verknüpfen.

Übertragung testen

Wenn Sie die Standardübertragung nicht verwenden, können Sie Ihre Übertragung testen. Dazu betten Sie einen Player ein, mit dem Sie eine Vorschau des Übertragungsvideos so ansehen können, wie es YouTube-Nutzern angezeigt wird. Die Übertragung ist für andere Nutzer jedoch nicht sichtbar.

Wenn Ihr API-Client zuvor die Standardübertragung und den Standardstream verwendet hat und Sie Ihrem Streamingprozess eine Testphase hinzufügen möchten, lesen Sie Phase 3 des "Lebenszyklus einer Übertragung"-Leitfadens.

Wenn Sie Ihren Stream testen möchten, müssen Sie beim Einfügen einer Übertragung die Eigenschaft contentDetails.monitorStream.enableMonitorStream auf true und die Eigenschaft contentDetails.enableAutoStart auf false setzen. Das sind die Standardwerte für beide Eigenschaften.

Funktionen für automatisches Starten und Beenden verwenden

Die Standardübertragung wurde automatisch gestartet, wenn Sie mit dem Streamen von Videos im Standardstream begonnen haben. Ebenso wurde die Standardübertragung beendet, nachdem Sie das Streamen von Videos beendet hatten. Jede Streamingsitzung mit diesen Standardressourcen wurde anschließend zu einem Video auf Ihrem Kanal.

Die Funktionen für automatisches Starten und Beenden waren das Standardverhalten für Standardübertragungen. Für andere Übertragungen sind sie optional und müssen aktiviert werden. Wenn Sie diese Funktionen verwenden möchten, müssen Sie beim Einfügen einer Übertragung, die Werte der Eigenschaften contentDetails.enableAutoStart und contentDetails.enableAutoStop auf true setzen. Diese Funktionen sind unabhängig voneinander. Sie können also eine verwenden und die andere nicht.

Wenn Sie die Funktionen für automatisches Starten und Beenden für neue Übertragungen nicht aktivieren, muss Ihr API-Client die Methode liveBroadcasts.transition aufrufen, um den Status einer Übertragung zu aktualisieren, wenn Sie mit dem Streamen von Videos beginnen und es beenden. Im "Lebenszyklus einer Übertragung" Leitfaden finden Sie in Schritt 4.3 und Schritt 5.2 eine Anleitung zum Verwalten dieser Übergänge am Anfang und Ende einer Übertragung.