Migrationsanleitung für die Einstellung von standardmäßigen Übertragungen und Streams

Übersicht

Dieser Leitfaden richtet sich an Entwickler von API-Clientanwendungen, die die standardmäßigen liveStream- und liveBroadcast-Ressourcen von YouTube-Kanälen zum Streamen von Liveinhalten verwenden. Ziel ist es, sicherzustellen, dass Ihre Anwendung die standardmäßige Einstellung von Standardübertragungen und Standardstreams problemlos abwickelt und für Sie relevant ist, wenn eine der folgenden Aussagen auf Ihre Anwendung zutrifft:

  • Es prüft den Wert des Attributs isDefaultBroadcast der Ressource liveBroadcast.
  • Es 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:

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

Wenn Ihre Anwendung betroffen ist, lesen Sie den Abschnitt Anwendung aktualisieren. Dort werden die verfahrensbedingten Änderungen erläutert, die Ihre Anwendung nach dieser Einstellung möglicherweise vornehmen muss. In diesem Abschnitt werden bestimmte Schritte im Leitfaden Lebensdauer einer Übertragung beschrieben, denen Ihr API-Client in der Regel nicht entspricht, wenn er 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, als dieser Kanal für das Livestreaming aktiviert wurde. Der Standardstream existierte unbegrenzt und konnte nicht gelöscht werden. Die Standardübertragung gilt ebenfalls als persistent. Sie war immer vorhanden, hatte keine Start- oder Endzeit und war nicht an ein bestimmtes Ereignis gebunden.

Ab dem oben genannten Datum wird YouTube keine Standardstreams und -übertragungen mehr erstellen. Diese Änderung betrifft Clientanwendungen, die diese Ressourcen für die Übertragung von Liveinhalten benötigen. Sie wirkt sich auch auf Anwendungen aus, in denen die Benutzeroberfläche so angepasst wird, dass sie zwischen diesen Standardressourcen und anderen Übertragungen und Streams unterscheiden können, 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 verbinden.

Anwendung aktualisieren

Eine Übertragung steht für ein Ereignis, das auf YouTube angesehen werden kann, und ist ein Stream, mit dem die Videoinhalte an YouTube gesendet werden können. Eine Übertragung kann an genau einen Stream gebunden sein und muss gebunden sein.

Von Standardübertragungen migrieren

Vor dieser Einstellung konnten API-Clients zwischen der Standardübertragung eines Kanals oder der Erstellung einer ereignisspezifischen Übertragung wählen. Die Standardübertragung war eine persistente Ressource, die für mehrere Ereignisse wiederverwendet werden konnte, während eine ereignisspezifische Übertragungsressource eine Einwegressource ist, die genau einem YouTube-Video entspricht.

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

  • Der Wert des Parameters broadcastType wird auf persistent gesetzt. Diese Anfrage ruft nur die Standardübertragung ab.
  • Er legt den Parameterwert broadcastType auf all fest und identifiziert dann die Ressource liveBroadcast in der API-Antwort, für die der Wert der Property isDefaultBroadcast true ist.

Nach der Einstellung werden von YouTube nur noch ereignisspezifische Übertragungen unterstützt. Das bedeutet, dass Clientanwendungen nicht auf die Standardübertragung angewiesen sind, sondern für jedes einzelne Übertragungsereignis 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 „Live bei einer Übertragung“ erläutert.

Falls noch nicht geschehen, müssen auf der Benutzeroberfläche auch Mechanismen bereitgestellt werden, mit denen Nutzer anstehende ereignisspezifische Broadcasts auswählen können.

Von Standardstreams migrieren

Mit einem Stream kannst du Audio-/Videoinhalte an YouTube senden. Außerdem werden die Einstellungen für das Streaming deiner Inhalte auf YouTube definiert. Es ist üblich, dass Sender denselben Stream für viele verschiedene Übertragungen wiederverwenden, wenn diese Übertragungen zu unterschiedlichen Zeiten auftreten.

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 Handbuchs für das Senden von Nachrichten. Neu erstellte Streams sind standardmäßig wiederverwendbar. Sie können jedoch das Attribut contentDetails.isReusable auf false setzen, um Streams zur einmaligen Verwendung zu erstellen und eine 1:1-Beziehung zwischen Übertragungen und Streams zu haben.

Die folgende Liste enthält die vier Attribute neben dem Streamtitel und der Streambeschreibung, die du beim Erstellen eines neuen Streams festlegen kannst. Die Liste enthält die Werte, die von Standardstreams für die einzelnen Attribute verwendet werden. Das sind wahrscheinlich die Einstellungen, die Sie in einer Clientanwendung verwenden möchten, wenn Sie von der Verwendung von Standardstreams abwärts migrieren.

Übertragungen an Streams binden

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

Der Bindungsprozess wurde für die Standardübertragung automatisch verarbeitet, war aber unveränderlich an den Standardstream gebunden. Nach dem Einstellungsdatum müssen die Client-Anwendungen diesen Prozess jedoch für alle Übertragungen verwalten.

Wenn Sie eine Übertragung an einen Stream binden möchten, rufen Sie die Methode liveBroadcasts.bind auf, wie in Schritt 1.3 des Leitfadens „Lebensdauer einer Übertragung“ erläutert.

  • Wenn Sie einen wiederverwendbaren Stream verwenden, können Sie einen Stream einmal erstellen und dann jede Übertragung an diesen Stream binden.
  • Wenn Sie keinen wiederverwendbaren Stream verwenden, müssen Sie einen Broadcast und einen Stream erstellen und diese beiden dann miteinander verbinden.

Übertragung testen

Wenn Sie nicht die Standardübertragung verwenden, können Sie die Übertragung testen. Um einen Test durchzuführen, betten Sie einen Player ein, mit dem Sie eine Vorschau des übertragenen Videos so aufrufen können, wie es YouTube-Zuschauern erscheinen würden. Die Übertragung ist für andere Zuschauer 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, finden Sie entsprechende Informationen in Phase 3 des Leitfadens „Lebensdauer einer Übertragung“.

Wenn Sie den Stream testen möchten, müssen Sie 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 „Automatisch starten“ und „Automatisch beenden“ verwenden

Die Standardübertragung wird jedes Mal automatisch gestartet, wenn du das Video im Standardstream streamst. Ebenso wurde die Standardübertragung beendet, nachdem Sie das Streaming beendet haben. Jede Streamingsitzung, die diese Standardressourcen verwendet, wurde zu einem Video auf deinem Kanal.

Die Funktionen zum automatischen Starten und Beenden waren die Standardfunktion für Standardübertragungen. Diese Funktionen sind jedoch optional und müssen für andere Broadcasts aktiviert werden. Wenn Sie diese Funktionen verwenden möchten, müssen Sie beim Einfügen einer Übertragung die Attributwerte contentDetails.enableAutoStart und contentDetails.enableAutoStop auf true festlegen. Diese Funktionen sind unabhängig, Sie können also nur eine davon verwenden.

Wenn du die Funktionen zum automatischen Starten und 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 das Streaming-Video startest und beendest. Im Leitfaden "Lebensdauer einer Übertragung" finden Sie in Schritt 4.3 und Schritt 5.2 eine Anleitung dazu, wie Sie diese Übergänge am Anfang und Ende eines Broadcasts verwalten.