Los flujos HLS y DASH proporcionan diferentes codificaciones (perfiles) de velocidad de bits para la misma ráfaga corta de vídeo. TVSDK puede seleccionar el nivel de calidad para cada ráfaga en función del ancho de banda disponible.
TVSDK supervisa constantemente la velocidad de bits para garantizar que el contenido se reproduce a la velocidad de bits óptima para la conexión de red actual.
Puede establecer la directiva de conmutación de velocidad de bits adaptable (ABR) y las tasas de bits inicial, mínima y máxima para un flujo de velocidad de bits múltiple (MBR). TVSDK cambia automáticamente a la velocidad de bits que proporciona la mejor experiencia de reproducción en la configuración especificada.
Velocidad de bits inicial | La velocidad de bits de reproducción deseada (en bits por segundo) para el primer segmento. Cuando comienza la reproducción, se utiliza el perfil más cercano, que es igual o bueno que la velocidad de bits inicial, para el primer segmento. Si se define una velocidad de bits mínima y la velocidad de bits inicial es inferior a la velocidad mínima, TVSDK selecciona el perfil con la velocidad de bits más baja por encima de la velocidad de bits mínima. Si la tasa inicial está por encima de la tasa máxima, TVSDK selecciona la tasa más alta por debajo de la tasa máxima. Si la velocidad de bits inicial es cero o indefinida, la velocidad de bits inicial viene determinada por la directiva ABR. getABRInitialBitRate devuelve un valor entero que representa el perfil de byte por segundo. |
Velocidad de bits mínima | La velocidad de bits más baja permitida a la que ABR puede cambiar. La conmutación ABR ignora los perfiles con una velocidad de bits inferior a esta velocidad de bits. getABRMinBitRate devuelve un valor entero que representa el perfil de bits por segundo. |
Velocidad de bits máxima | La velocidad de bits más alta permitida a la que ABR puede cambiar. La conmutación ABR ignora los perfiles con una velocidad de bits superior a esta velocidad de bits. getABRMaxBitRate devuelve un valor entero que representa el perfil de bits por segundo. |
directiva de cambio ABR | La reproducción cambia gradualmente al perfil de velocidad de bits más alta cuando es posible. Puede establecer la directiva para el cambio ABR, que determina la rapidez con la que TVSDK cambia entre perfiles. El valor predeterminado es ABR_MODERATE. Cuando TVSDK decide cambiar a una velocidad de bits más alta, el reproductor selecciona el perfil de velocidad de bits ideal al que cambiar en función de la directiva ABR actual:
Si la velocidad de bits inicial es cero o no se especifica, pero se especifica una directiva, la reproducción comienza con el perfil de velocidad de bits más bajo para los perfiles conservadores, el perfil más cercano a la velocidad de bits media de los perfiles disponibles para los perfiles moderados y el perfil de velocidad de bits más alto para los agresivos. La directiva funciona en las restricciones de las tasas de bits mínima y máxima, si se especifican estas tasas. getABRPolicy devuelve la configuración actual desde el ABRControlParameters enum:
|
Tenga en cuenta lo siguiente:
El mecanismo de conmutación por error de TVSDK puede anular la configuración, ya que TVSDK prefiere una experiencia de reproducción continua en lugar de cumplir estrictamente los parámetros de control.
Cuando la velocidad de bits cambia, TVSDK envía onProfileChanged
eventos en PlaybackEventListener
.
Puede cambiar la configuración de ABR en cualquier momento, y el reproductor cambia para utilizar el perfil que más coincida con la configuración más reciente.
Por ejemplo, si una secuencia tiene los siguientes perfiles:
Si especifica un intervalo de 300000 para 2000000, TVSDK solo tiene en cuenta los perfiles 1, 2 y 3. Esto permite que las aplicaciones se ajusten a diversas condiciones de la red, como cambiar de wi-fi a 3G o a varios dispositivos, como un teléfono, una tableta o un equipo de escritorio.
Para establecer los parámetros de control ABR, establezca los parámetros en la variable ABRControlParameter
clase.