Ü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
liveBroadcastRessource'sisDefaultBroadcastEigenschaft. - Sie prüft den Wert der
liveStreamRessource'sisDefaultStreamEigenschaft. Sie ruft die
liveBroadcasts.listMethode auf und legt denbroadcastTypeParameterwert aufpersistentfest. Ab dem Datum der Einstellung gilt Folgendes:- Wenn der Parameterwert
broadcastTypepersistentist, gibt die MethodeliveBroadcasts.listkeine Ergebnisse zurück. - Wenn der
broadcastTypeParameterwertallist, gibt dieliveBroadcasts.listMethode keine persistenten Übertragungen zurück, die vor diesem Zeitpunkt vorhanden waren.
- Wenn der Parameterwert
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
broadcastTypeParameters aufpersistentfest. Mit dieser Anfrage wird nur die Standardübertragung abgerufen. - Sie legt den
broadcastTypeParameterwert aufallfest und identifiziert dann dieliveBroadcastRessource in der API-Antwort, für die derisDefaultBroadcastEigenschaftswerttrueist.
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.
cdn.frameRate-variablecdn.ingestionType-rtmpcdn.resolution-variablecontentDetails.isReusabletrue
Ü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.