Panoramica
Questa guida è destinata agli sviluppatori di applicazioni client API che utilizzano le risorse liveStream e liveBroadcast predefinite dei canali YouTube per lo streaming di contenuti live. Lo scopo è aiutarti ad assicurarti che la tua applicazione gestisca correttamente il ritiro delle trasmissioni e degli stream predefiniti. Questa guida è pertinente se alla tua applicazione si applica una delle seguenti affermazioni:
- Controlla il valore della
liveBroadcastrisorsa'sisDefaultBroadcastproprietà. - Controlla il valore della
liveStreamrisorsa'sisDefaultStreamproprietà. Chiama il
liveBroadcasts.listmetodo e imposta il valore delbroadcastTypeparametro supersistent. A partire dalla data di ritiro:- Se il valore del parametro
broadcastTypeèpersistent, il metodoliveBroadcasts.listnon restituirà alcun risultato. - Se il valore del parametro
broadcastTypeèall, il metodoliveBroadcasts.listnon restituirà le trasmissioni permanenti esistenti prima di quel momento.
- Se il valore del parametro
Se la tua applicazione è interessata, consulta la sezione Aggiornamento dell' applicazione, che spiega le modifiche procedurali che la tua applicazione potrebbe dover apportare in seguito a questo ritiro. Questa sezione identifica passaggi specifici della guida "Ciclo di vita di una trasmissione" che il tuo client API potrebbe non seguire in genere se attualmente utilizza la trasmissione e lo stream predefiniti.
Che cosa sta succedendo?
Dal 2015, YouTube crea automaticamente uno stream predefinito e una trasmissione predefinita per un canale quando questo viene abilitato per il live streaming. Lo stream predefinito esisteva a tempo indeterminato e non poteva essere eliminato. Allo stesso modo, la trasmissione predefinita era considerata permanente. Esisteva sempre, non aveva un'ora di inizio o di fine associata e non era vincolata a un evento specifico.
A partire dalla data di ritiro indicata sopra, YouTube non creerà più stream e trasmissioni predefiniti. Questa modifica interessa le applicazioni client che si basano su queste risorse per trasmettere contenuti live. Interesserà anche le applicazioni in cui l'interfaccia utente è personalizzata per distinguere tra queste risorse predefinite e altre trasmissioni e stream creati dai proprietari dei canali.
Anziché basarsi sulle risorse predefinite, i client API devono creare e gestire le risorse liveBroadcast e liveStream e collegarle tra loro.
Aggiornamento dell'applicazione
Per una rapida revisione della terminologia, una trasmissione rappresenta un evento che può essere guardato su YouTube in diretta e uno stream è il meccanismo per inviare i contenuti video effettivi a YouTube. Una trasmissione può essere e deve essere collegata a esattamente uno stream.
Migrazione dalle trasmissioni predefinite
Prima di questo ritiro, i client API potevano scegliere tra l'utilizzo della trasmissione predefinita di un canale o la creazione di una trasmissione specifica per l'evento. La trasmissione predefinita era una risorsa persistente che poteva essere riutilizzata per più eventi, mentre una risorsa di trasmissione specifica per l'evento è una risorsa monouso che corrisponde a esattamente un video di YouTube.
L'applicazione client utilizza la trasmissione predefinita se chiama il metodo liveBroadcasts.list ed esegue una delle seguenti operazioni:
- Imposta il valore del
broadcastTypeparametro supersistent. Questa richiesta recupera solo la trasmissione predefinita. - Imposta il valore del
broadcastTypeparametro suall, quindi identifica la risorsaliveBroadcastnella risposta dell'API per cui ilisDefaultBroadcastvalore della proprietà ètrue.
Dopo il ritiro, YouTube supporterà solo le trasmissioni specifiche per l'evento.
Ciò significa che, anziché basarsi sulla trasmissione predefinita, le applicazioni client
devono creare
liveBroadcast
risorse
per ogni singolo evento di trasmissione.
Per creare una risorsa liveBroadcast, chiama il
liveBroadcasts.insert metodo.
Questa procedura è spiegata nel passaggio 1.1 della guida "Ciclo di vita di una trasmissione".
Se non lo fa già, l'interfaccia utente deve anche fornire meccanismi che consentano agli utenti di distinguere e selezionare le trasmissioni specifiche per l'evento imminenti.
Migrazione dagli stream predefiniti
Uno stream ti consente di trasmettere contenuti audio-video a YouTube e definisce le impostazioni per lo streaming dei contenuti su YouTube. È normale che gli emittenti riutilizzino lo stesso stream per molte trasmissioni diverse se queste si verificano in momenti diversi.
Anche se l'applicazione non può utilizzare lo stream predefinito, può creare uno stream riutilizzabile che può essere riutilizzato per ogni trasmissione. Per creare una liveStream
risorsa, chiama il liveStreams.insert
metodo, seguendo le istruzioni del passaggio 1.2 della guida "Ciclo di vita di una trasmissione". Per impostazione predefinita, i nuovi stream creati sono riutilizzabili. Tuttavia, se preferisci, puoi impostare la
contentDetails.isReusable
proprietà su false per creare stream monouso e avere una relazione uno a uno
tra trasmissioni e stream.
Il seguente elenco contiene le quattro proprietà, oltre al titolo dello stream e alla descrizione dello stream, che puoi impostare quando crei un nuovo stream. L'elenco mostra i valori utilizzati dagli stream predefiniti per ogni proprietà, che sono probabilmente le impostazioni che vorresti utilizzare in un'applicazione client se stai eseguendo la migrazione dall'utilizzo degli stream predefiniti.
cdn.frameRate-variablecdn.ingestionType-rtmpcdn.resolution-variablecontentDetails.isReusabletrue
Collegamento delle trasmissioni agli stream
Ogni risorsa liveBroadcast deve essere collegata a esattamente uno stream prima che la trasmissione live su YouTube possa effettivamente iniziare. (La trasmissione non è collegata a nessuno stream al momento della creazione.)
La procedura di collegamento è stata gestita automaticamente per la trasmissione predefinita, che era indissolubilmente collegata allo stream predefinito. Tuttavia, dopo la data di ritiro, le applicazioni client devono gestire questa procedura per tutte le trasmissioni.
Per collegare una trasmissione a uno stream, chiama il
liveBroadcasts.bind metodo come
spiegato nel passaggio 1.3 della guida "Ciclo di vita di una trasmissione".
- Se utilizzi uno stream riutilizzabile, puoi creare uno stream una sola volta e poi collegare ogni trasmissione a questo stream.
- Se non utilizzi uno stream riutilizzabile, devi creare una trasmissione e uno stream, quindi collegarli tra loro.
Test della trasmissione
Quando non utilizzi la trasmissione predefinita, hai la possibilità di testare la trasmissione. Per eseguire un test, incorpora un player che ti consente di visualizzare l'anteprima del video della trasmissione così come apparirebbe agli spettatori di YouTube, ma la trasmissione non è visibile agli altri spettatori.
Se il tuo client API utilizzava in precedenza la trasmissione e lo stream predefiniti e vuoi aggiungere una fase di test alla procedura di elaborazione dei flussi, consulta la fase 3 della guida "Ciclo di vita di una trasmissione".
Se vuoi testare lo stream, quando inserisci una trasmissione devi
impostare la proprietà contentDetails.monitorStream.enableMonitorStream
su true e la proprietà contentDetails.enableAutoStart
su
false. Questi sono i valori predefiniti per entrambe le proprietà.
Utilizzo delle funzionalità di avvio e arresto automatico
La trasmissione predefinita veniva avviata automaticamente ogni volta che iniziavi lo streaming di video sullo stream predefinito. Allo stesso modo, la trasmissione predefinita terminava dopo l'interruzione dello streaming video. Ogni sessione di streaming che utilizzava queste risorse predefinite diventava quindi un video nel tuo canale.
Sebbene le funzionalità di avvio e arresto automatico fossero il comportamento predefinito per le trasmissioni predefinite, queste funzionalità sono facoltative e devono essere attivate per altre trasmissioni. Se vuoi utilizzare queste funzionalità, quando inserisci una trasmissione,
devi impostare i valori delle proprietà contentDetails.enableAutoStart
e
contentDetails.enableAutoStop
su true. Queste funzionalità sono indipendenti, quindi puoi scegliere di utilizzarne una e non l'altra.
Se non attivi le funzionalità di avvio e arresto automatico per le nuove trasmissioni, il client API deve chiamare il metodo liveBroadcasts.transition per aggiornare lo stato di una trasmissione quando inizi e termini lo streaming video. Nella guida "Ciclo di vita di una trasmissione" , consulta il passaggio 4.3 e il passaggio 5.2 per istruzioni sulla gestione di queste transizioni all'inizio e alla fine di una trasmissione.