Panoramica
Questa guida è rivolta agli sviluppatori di applicazioni client API che utilizzano le risorse liveStream
e liveBroadcast
predefinite dei canali YouTube per lo streaming di contenuti live. Il suo scopo è aiutarti a garantire che la tua applicazione gestisca correttamente
il ritiro delle trasmissioni e degli stream predefiniti ed è
pertinente per te se alla tua applicazione si applica una delle seguenti affermazioni:
- Controlla il valore della proprietà
isDefaultBroadcast
della risorsaliveBroadcast
. - Controlla il valore della proprietà
isDefaultStream
della risorsaliveStream
. Chiama il metodo
liveBroadcasts.list
e imposta il valore del parametrobroadcastType
supersistent
. A partire dalla data di ritiro:- Se il valore del parametro
broadcastType
èpersistent
, il metodoliveBroadcasts.list
non restituirà alcun risultato. - Se il valore del parametro
broadcastType
èall
, il metodoliveBroadcasts.list
non restituirà le trasmissioni persistenti 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. Il flusso predefinito esisteva a tempo indeterminato e non poteva essere eliminato. Analogamente, la trasmissione predefinita è stata considerata persistente. È sempre esistito, non aveva un'ora di inizio o di fine associata e non era legato a un evento particolare.
A partire dalla data di ritiro indicata sopra, YouTube non creerà più stream e trasmissioni predefinite. Questa modifica interessa le applicazioni client che si basano su queste risorse per trasmettere contenuti live. Inoltre, influenzerà le applicazioni in cui l'interfaccia utente è personalizzata per distinguere le risorse predefinite da altre trasmissioni e stream creati dai proprietari dei canali.
Anziché fare affidamento sulle risorse predefinite, i client API devono creare e
gestire le risorse liveBroadcast
e liveStream
e associarle
tra loro.
Aggiornamento della tua richiesta
Per ripassare rapidamente la terminologia, una trasmissione rappresenta un evento che può essere guardato su YouTube mentre si svolge, mentre uno stream è il meccanismo per inviare i contenuti video effettivi a YouTube. Una trasmissione può essere e deve essere associata a un solo 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 un 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 esattamente a un video di YouTube.
L'applicazione client utilizza la trasmissione predefinita se chiama il
metodo liveBroadcasts.list
e svolge una delle seguenti operazioni:
- Imposta il valore del parametro
broadcastType
supersistent
. Questa richiesta recupera solo la trasmissione predefinita. - Imposta il valore del parametro
broadcastType
suall
, quindi identifica la risorsaliveBroadcast
nella risposta API per cui il valore della proprietàisDefaultBroadcast
ètrue
.
Dopo il ritiro, YouTube supporterà solo le trasmissioni specifiche per gli eventi.
Ciò significa che, anziché fare affidamento sulla trasmissione predefinita, le applicazioni client
devono creare risorse liveBroadcast
per ogni singolo evento di trasmissione.
Per creare una risorsa liveBroadcast
, chiama il metodo
liveBroadcasts.insert
.
Questa procedura è spiegata nel passaggio 1.1 della guida "Ciclo di vita di una trasmissione".
Se non lo fa già, la tua interfaccia utente deve anche fornire meccanismi per consentire agli utenti di distinguere e selezionare le trasmissioni specifiche per gli eventi futuri.
Migrazione dai flussi predefiniti
Uno stream ti consente di trasmettere contenuti audio e video a YouTube e definisce le impostazioni per lo streaming dei contenuti su YouTube. È normale che i broadcaster riutilizzino lo stesso stream per molte trasmissioni diverse se queste si verificano in orari diversi.
Anche se l'applicazione non può utilizzare lo stream predefinito, può creare uno stream riutilizzabile per ogni trasmissione. Per creare una risorsa liveStream
, chiama il metodo liveStreams.insert
seguendo le istruzioni del passaggio 1.2 della guida "Ciclo di vita di una trasmissione". Per
impostazione predefinita, gli stream appena creati sono riutilizzabili. Tuttavia, se preferisci, puoi impostare la proprietà
contentDetails.isReusable
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 che i flussi predefiniti utilizzano per ogni proprietà, che probabilmente sono le impostazioni che vorresti utilizzare in un'applicazione client se non utilizzi più i flussi predefiniti.
cdn.frameRate
-variable
cdn.ingestionType
-rtmp
cdn.resolution
-variable
contentDetails.isReusable
-true
Associazione di trasmissioni a stream
Ogni risorsa liveBroadcast
deve essere associata a un solo stream prima che la
trasmissione live su YouTube possa iniziare. (La trasmissione non è associata a nessuno
stream al momento della creazione.)
La procedura di binding è stata gestita automaticamente per la trasmissione predefinita, che era indissolubilmente legata allo stream predefinito. Tuttavia, dopo la data di ritiro, le applicazioni client devono gestire questo processo per tutte le trasmissioni.
Per associare una trasmissione a uno stream, chiama il
metodo liveBroadcasts.bind
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 associare ogni trasmissione a quello stream.
- Se non utilizzi uno stream riutilizzabile, devi creare una trasmissione e uno stream, quindi collegarli.
Test della trasmissione
Se non utilizzi la trasmissione predefinita, puoi testare la tua 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 al processo di streaming, 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 interruzione automatici
La trasmissione predefinita veniva avviata automaticamente ogni volta che iniziavi a riprodurre video nello stream predefinito. Analogamente, la trasmissione predefinita è terminata dopo l'interruzione dello streaming video. Ogni sessione di streaming che utilizzava queste risorse predefinite è diventata un video sul tuo canale.
Mentre le funzionalità di avvio e arresto automatici erano il comportamento predefinito per le trasmissioni predefinite, queste funzionalità sono facoltative e devono essere abilitate per le 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 automatici 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.