TVSDK è in grado di rilevare le informazioni sulla riproduzione modificate nei manifesti master m3u8 per lo streaming live e aggiornare le informazioni sulla riproduzione durante la riproduzione dello streaming. TVSDK supporta un set dinamico di profili a bit rate quando i profili appaiono o scompaiono dal manifest, inclusi i bit rate di profilo non sovrapposti tra gli aggiornamenti.
Sono supportate le seguenti funzioni:
Devono essere soddisfatte tutte le seguenti condizioni:
Seguono alcune informazioni ed esempi su come TVSDK gestisce i manifesti master aggiornati.
Per impostazione predefinita, questa funzione è disattivata. Se l'applicazione lo attiva impostando una frequenza di aggiornamento in minuti, i seguenti passaggi si verificano dopo ogni intervallo di aggiornamento:
Il TVSDK controlla l'ora e il tag dell'ultima modifica del manifesto master per determinare se il file è stato aggiornato.
Se sia l’ora che il tag sono cambiati, il file viene considerato come modificato.
Il TVSDK analizza e analizza il nuovo manifesto e adotta le azioni appropriate in base alla natura dell’aggiornamento.
Se il bit rate di riproduzione corrente corrisponde al bit rate del manifesto modificato, il TVSDK passa al nuovo profilo.
Il nuovo profilo potrebbe provenire da un server diverso o dallo stesso server, allo stesso bit rate. In questo caso, la transizione è graduale.
Se il bit rate di riproduzione corrente non è più presente nel nuovo manifesto, il TVSDK cerca di trovare un bit rate nel profilo corrente che esiste anche nel nuovo manifesto.
Se l’aggiornamento ha esito positivo, TVSDK invia un evento MediaPlayerItemEvent.MASTER_UPDATED
.
Se l'aggiornamento non ha esito positivo, la riproduzione continua con la configurazione precedente a questo aggiornamento.
I seguenti bit rate sono trasmessi in diretta:
Il flusso 2100k ha alcuni problemi, quindi deve essere riavviato. Il manifesto principale viene aggiornato per contenere solo 500k e 900k. Poco dopo, gli utenti che guardano questo programma a 2100k sperimenteranno un cambio di bit rate a 900k. Gli utenti che guardano a 900k continuano a guardare a 900k. Successivamente, il flusso 2100k riprende, e viene aggiunto nuovamente nel manifesto principale. Poco dopo, gli utenti che guardano a 900k, e hanno la larghezza di banda, sono passati a 2100k.
I seguenti bit rate sono trasmessi in diretta:
Tutti questi bit rate devono essere riavviati. Ci sono due flussi temporali configurati per questo, a 400k e 1500k. Gli utenti sono passati a 400 k, che è il bit rate più basso della nuova configurazione. Alcuni degli utenti sono passati a 1500k quando la loro larghezza di banda è sufficiente. Successivamente, i tre bit rate vengono riportati di nuovo e il manifest viene aggiornato. Gli utenti tornano automaticamente a guardare a 500k, che è la larghezza di banda più bassa nel manifesto rivisto (originale). Poco dopo, gli utenti passano alla larghezza di banda più elevata (900k o 1200k) consentita dalla loro rete.
È possibile attivare questa funzione e verificare la presenza di eventi correlati.
NetworkConfiguration.masterUpdateInterval
.MediaPlayerItemEvent.MASTER_UPDATED
.