Guida alla migrazione per il ritiro di trasmissioni e stream predefiniti

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 liveBroadcast risorsa's isDefaultBroadcast proprietà.
  • Controlla il valore della liveStream risorsa's isDefaultStream proprietà.
  • Chiama il liveBroadcasts.list metodo e imposta il valore del broadcastType parametro su persistent. A partire dalla data di ritiro:

    • Se il valore del parametro broadcastType è persistent, il metodo liveBroadcasts.list non restituirà alcun risultato.
    • Se il valore del parametro broadcastType è all, il metodo liveBroadcasts.list non restituirà le trasmissioni permanenti esistenti prima di quel momento.

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 broadcastType parametro su persistent. Questa richiesta recupera solo la trasmissione predefinita.
  • Imposta il valore del broadcastType parametro su all, quindi identifica la risorsa liveBroadcast nella risposta dell'API per cui il isDefaultBroadcast valore 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.

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.