I flussi HLS e DASH forniscono codifiche (profili) di bitrate diverse per lo stesso breve burst di video. TVSDK può selezionare il livello di qualità per ogni burst in base al livello di buffering corrente e alla larghezza di banda disponibile.
TVSDK controlla costantemente il bit rate per garantire che il contenuto venga riprodotto al bit rate ottimale per la connessione di rete corrente. È possibile impostare il criterio di commutazione ABR (Adaptive Bit Rate) e i bit rate iniziale, minimo e massimo per un flusso MBR (Multiple Bit Rate). TVSDK passa automaticamente al bitrate che offre la migliore esperienza di riproduzione nella configurazione specificata.
Bitrate iniziale | Velocità in bit di riproduzione desiderata (in bit al secondo) per il primo segmento. All’avvio della riproduzione, per il primo segmento viene utilizzato il profilo più vicino, corrispondente o superiore alla velocità in bit iniziale. Se viene definita una velocità in bit minima e la velocità in bit iniziale è inferiore alla velocità in bit minima, TVSDK seleziona il profilo con la velocità in bit più bassa al di sopra della velocità in bit minima. Se il tasso iniziale è superiore al tasso massimo, TVSDK seleziona il tasso più alto al di sotto del tasso massimo. Se il bit rate iniziale è zero o non definito, il bit rate iniziale è determinato dalla policy ABR. getABRInitialBitRate restituisce un valore intero che rappresenta il profilo byte al secondo. |
Velocità bit minima | La velocità bit minima consentita alla quale l'ABR può passare. La commutazione ABR ignora i profili con una velocità di trasmissione inferiore a questa. getABRMinBitRate restituisce un valore intero che rappresenta il profilo bit al secondo. |
Velocità bit massima | La velocità bit massima consentita alla quale l'ABR può passare. Quando si cambia ABR, vengono ignorati i profili con una velocità di trasmissione superiore a questa. getABRMaxBitRate restituisce un valore intero che rappresenta il profilo bit al secondo. |
Criteri di cambio ABR | Quando possibile, la riproduzione passa gradualmente al profilo con il bit rate più alto. È possibile impostare il criterio per il passaggio ABR, che determina la velocità con cui TVSDK passa da un profilo all’altro. Il valore predefinito è ABR_MODERATE. Quando TVSDK decide di passare a una velocità bit più alta, il lettore seleziona il profilo della velocità bit ideale su cui passare in base alla policy ABR corrente:
Se la velocità in bit iniziale è zero, o non viene specificata ma viene specificato un criterio, la riproduzione inizia con il profilo di velocità in bit più basso per un criterio conservativo, il profilo più vicino alla velocità in bit mediana dei profili disponibili per un criterio moderato e il profilo di velocità in bit più alto per un criterio aggressivo. Se specificate, le velocità bit minima e massima funzionano in modo limitato. getABRPolicy restituisce l'impostazione corrente dalla ABRControlParameters enum: ABR_CONSERVATIVE, ABR_MODERATE, o ABR_AGGRESSIVO. Per ulteriori informazioni, consulta il documento API sui parametri di controllo ABR. |
Considera le seguenti informazioni:
Il meccanismo di failover di TVSDK potrebbe ignorare le impostazioni, perché TVSDK favorisce un’esperienza di riproduzione continua rispetto all’aderenza rigorosa ai parametri di controllo.
Quando la velocità di trasmissione cambia, TVSDK invia onProfileChanged
eventi in PlaybackEventListener
.
È possibile modificare le impostazioni ABR in qualsiasi momento e il lettore passa all'uso del profilo che corrisponde maggiormente alle impostazioni più recenti.
Ad esempio, se un flusso ha i seguenti profili:
Se specifichi un intervallo di 300000 da 2000000, TVSDK considera solo i profili 1, 2 e 3. Questo consente alle applicazioni di adattarsi a varie condizioni di rete, ad esempio passare dal wi-fi al 3G o a vari dispositivi, come un telefono, un tablet o un computer desktop.
Per impostare i parametri di controllo ABR, impostate i parametri su ABRControlParameter
classe.