Información general

Los flujos HLS y DASH proporcionan diferentes codificaciones de velocidad de bits (perfiles) para el mismo breve estallido de vídeo. TVSDK puede seleccionar el nivel de calidad para cada explosión en función del nivel de almacenamiento en búfer actual y 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.

Tasa de bits inicial

Velocidad de bits de reproducción deseada (en bits por segundo) para el primer segmento.

Cuando se inicia 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 tasa mínima, TVSDK selecciona el perfil con la tasa de bits más baja por encima de la tasa de bits mínima. Si la tasa inicial es superior a 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.

getABRInitialBitTrack devuelve un valor entero que representa el perfil de bytes por segundo.

Tasa de bits mínima

La velocidad de bits más baja permitida a la que puede cambiar el ABR.

El cambio de ABR ignora los perfiles con una velocidad de bits inferior a esta velocidad de bits. getABRMinBitTrack devuelve un valor entero que representa el perfil de bits por segundo.

Velocidad de bits máxima

La velocidad de bits máxima permitida a la que el ABR puede cambiar.

El cambio de ABR ignora los perfiles con una velocidad de bits superior a esta velocidad de bits. getABRMaxBitTrack devuelve un valor entero que representa el perfil de bits por segundo.

Política de conmutación 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 el 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 política ABR actual:

  • ABR_CONSERVATIVE: Cambia al perfil con la siguiente velocidad de bits más alta cuando el ancho de banda es un 50% superior a la velocidad de bits actual.
  • ABR_MODERATE: Cambia al siguiente perfil de velocidad de bits más alta cuando el ancho de banda es un 20% más alto que la velocidad de bits actual.
  • ABR_AGGRESSIVE: Cambia inmediatamente al perfil de velocidad de bits más alto cuando el ancho de banda es superior a la velocidad de bits actual.

Si la velocidad de bits inicial es cero o no se especifica pero se especifica una política, la reproducción comienza con el perfil de velocidad de bits más bajo para una política conservadora, el perfil más cercano a la velocidad de bits media de los perfiles disponibles para una política moderada y el perfil de velocidad de bits más alto para una política agresiva.

La directiva funciona en las restricciones de las tasas de bits mínimas y máximas, si se especifican estas tasas.

getABRPolicydevuelve la configuración actual de ABRControlParametersenum: ABR_CONSERVATIVE, ABR_MODERATE o ABR_AGGRESSIVE.

Para obtener más información, consulte el documento API Parámetros de control ABR .

Tenga en cuenta la siguiente información:

  • El mecanismo de conmutación por error de TVSDK podría anular su configuración, ya que TVSDK prefiere una experiencia de reproducción continua en lugar de cumplir estrictamente con los parámetros de control.

  • Cuando cambia la velocidad de bits, 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 coincida más con la configuración más reciente.

Por ejemplo, si un flujo tiene los siguientes perfiles:

  • 1: 300000
  • 2: 700000
  • 3: 1500000
  • 4: 2400000
  • 5: 400000

Si especifica un intervalo de 300000 a 2000000, TVSDK solo tiene en cuenta los perfiles 1, 2 y 3. Esto permite que las aplicaciones se ajusten a diversas condiciones de red, como el cambio 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 clase ABRControlParameter .

En esta página