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 zum Streamen von Liveinhalten verwenden. Sie soll Ihnen helfen, dafür zu sorgen, dass Ihre Anwendung die Einstellung von Standard-Broadcasts und Standard-Streams ordnungsgemäß verarbeitet. Sie ist relevant für Sie, wenn eine der folgenden Aussagen auf Ihre Anwendung zutrifft:

  • Sie prüft den Wert des Attributs isDefaultBroadcast der Ressource liveBroadcast.
  • Sie prüft den Wert des Attributs isDefaultStream der Ressource liveStream.
  • Sie ruft die Methode liveBroadcasts.list auf und legt den Parameterwert broadcastType auf persistent fest. Ab dem Einstellungsdatum gilt Folgendes:

    • Wenn der Parameterwert broadcastType gleich persistent ist, gibt die Methode liveBroadcasts.list keine Ergebnisse zurück.
    • Wenn der Parameterwert broadcastType gleich all ist, gibt die Methode liveBroadcasts.list keine dauerhaften Übertragungen zurück, die vor diesem Zeitpunkt stattgefunden haben.

Wenn Ihre Anwendung betroffen ist, lesen Sie den Abschnitt Anwendung aktualisieren. Dort wird beschrieben, welche Änderungen an Ihrer Anwendung aufgrund dieser Einstellung erforderlich sein könnten. In diesem Abschnitt werden bestimmte Schritte im Leitfaden Life of a broadcast (Lebenszyklus einer Übertragung) beschrieben, die Ihr API-Client möglicherweise nicht ausführt, wenn er derzeit die Standardübertragung und den Standardstream verwendet.

Was genau ist geplant?

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

Ab dem oben genannten Datum werden auf YouTube keine Standardstreams und ‑übertragungen mehr erstellt. Diese Änderung betrifft Clientanwendungen, die auf diese Ressourcen angewiesen sind, um Liveinhalte zu übertragen. Das wirkt sich auch auf Anwendungen aus, in denen die Benutzeroberfläche angepasst ist, um zwischen diesen Standardressourcen und anderen Übertragungen und Streams zu unterscheiden, die Kanalinhaber erstellt haben.

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 Übersicht: Eine Übertragung ist eine Veranstaltung, die 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 werden.

Von Standardübertragungen migrieren

Vor dieser Einstellung konnten API-Clients zwischen der Verwendung der Standardübertragung eines Kanals oder der Erstellung einer ereignisspezifischen Übertragung wählen. Die Standardübertragung war eine dauerhafte Ressource, die für mehrere Events wiederverwendet werden konnte. Eine eventspezifische Übertragungsressource ist dagegen eine Ressource zur einmaligen Verwendung, die genau einem YouTube-Video entspricht.

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

  • Damit wird der Parameterwert broadcastType auf persistent festgelegt. Mit dieser Anfrage wird nur die Standardübertragung abgerufen.
  • Dabei wird der Parameterwert broadcastType auf all festgelegt und dann die liveBroadcast-Ressource in der API-Antwort ermittelt, für die der Wert der Eigenschaft isDefaultBroadcast true ist.

Nach der Einstellung werden auf YouTube nur noch ereignisspezifische Übertragungen unterstützt. Das bedeutet, dass Clientanwendungen anstelle des Standard-Broadcasts für jedes einzelne Broadcasting-Ereignis liveBroadcast-Ressourcen erstellen müssen.

Rufen Sie zum Erstellen einer liveBroadcast-Ressource die Methode liveBroadcasts.insert auf. Dieser Vorgang wird in Schritt 1.1 des Leitfadens „Life of a broadcast“ beschrieben.

Falls noch nicht geschehen, muss Ihre Benutzeroberfläche auch Mechanismen enthalten, mit denen Nutzer zwischen anstehenden ereignisspezifischen Übertragungen unterscheiden und diese auswählen können.

Von Standardstreams migrieren

Mit einem Stream kannst du Audio- und Videoinhalte an YouTube übertragen. Außerdem werden die Einstellungen für das Streaming deiner Inhalte an 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 zum Erstellen einer liveStream-Ressource die Methode liveStreams.insert auf. Folgen Sie dazu der Anleitung in Schritt 1.2 des Leitfadens „Life of a broadcast“. Standardmäßig sind neu erstellte Streams wiederverwendbar. Wenn Sie das möchten, können Sie die Property contentDetails.isReusable auf false festlegen, um Streams zu erstellen, die nur einmal verwendet werden können. In diesem Fall besteht eine 1:1-Beziehung zwischen Übertragungen und Streams.

Die folgende Liste enthält die vier Properties, die Sie beim Erstellen eines neuen Streams festlegen können. Dazu gehören auch der Streamtitel und die Streambeschreibung. In der Liste sehen Sie die Werte, die in Standardstreams für die einzelnen Properties verwendet werden. Das sind wahrscheinlich die Einstellungen, die Sie in einer Clientanwendung verwenden möchten, wenn Sie die Verwendung von Standardstreams einstellen.

Übertragungen an Streams binden

Jede liveBroadcast-Ressource muss genau einem Stream zugewiesen werden, bevor die Liveübertragung auf YouTube tatsächlich beginnen kann. (Die Übertragung ist zum Zeitpunkt der Erstellung nicht an Streams gebunden.)

Der Bindungsprozess wurde für die Standardübertragung automatisch durchgeführt, die untrennbar mit dem Standardstream verbunden war. Nach dem Datum der Einstellung müssen Clientanwendungen diesen Prozess jedoch für alle Übertragungen verwalten.

Wenn Sie eine Sendung an einen Stream binden möchten, rufen Sie die Methode liveBroadcasts.bind auf, wie in Schritt 1.3 des Leitfadens „Life of a broadcast“ beschrieben.

  • Wenn du einen wiederverwendbaren Stream verwendest, kannst du ihn einmal erstellen und dann jede Übertragung daran binden.
  • Wenn du keinen wiederverwendbaren Stream verwendest, musst du eine Übertragung und einen Stream erstellen und dann die beiden miteinander verknüpfen.

Übertragung testen

Wenn Sie die Standardübertragung nicht verwenden, können Sie Ihre Übertragung testen. Für einen Test bettest du einen Player ein, mit dem du dir das Broadcast-Video so ansehen kannst, wie es YouTube-Zuschauern angezeigt wird. Andere Zuschauer können das Broadcast jedoch nicht sehen.

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 Leitfadens „Life of a broadcast“.

Wenn du deinen Stream testen möchtest, musst du beim Einfügen einer Übertragung die Property contentDetails.monitorStream.enableMonitorStream auf true und die Property contentDetails.enableAutoStart auf false setzen. Dies sind die Standardwerte für beide Properties.

Funktionen zum automatischen Starten und Beenden verwenden

Die Standardübertragung wurde automatisch gestartet, wenn du mit dem Streamen von Videos im Standardstream begonnen hast. Auch die Standardübertragung wurde beendet, nachdem du das Streaming beendet hast. Jede Streaming-Sitzung, in der diese Standardressourcen verwendet wurden, wurde anschließend als Video auf deinem Kanal veröffentlicht.

Die Autostart- und Autostop-Funktionen waren das Standardverhalten für Standardübertragungen. Für andere Übertragungen sind sie optional und müssen aktiviert werden. Wenn du diese Funktionen verwenden möchtest, musst du beim Einfügen einer Übertragung die Eigenschaftswerte contentDetails.enableAutoStart und contentDetails.enableAutoStop auf true festlegen. Diese Funktionen sind unabhängig voneinander. Sie können also nur eine der beiden verwenden.

Wenn du die Funktionen „Automatisch starten“ und „Automatisch beenden“ für neue Übertragungen nicht aktivierst, muss dein API-Client die Methode liveBroadcasts.transition aufrufen, um den Status einer Übertragung zu aktualisieren, wenn du mit dem Streamen von Videos beginnst und es beendest. Im Leitfaden „Life of a Broadcast“ (Der Lebenszyklus einer Übertragung) finden Sie in Schritt 4.3 und Schritt 5.2 eine Anleitung zum Verwalten dieser Übergänge am Anfang und Ende einer Übertragung.