Actualización activa del manifiesto maestro

TVSDK puede detectar información de reproducción modificada en manifiestos m3u8 maestros para flujo en vivo y actualizar la información de reproducción mientras se reproduce el flujo. TVSDK admite un conjunto dinámico de perfiles de velocidad de bits a medida que los perfiles aparecen o desaparecen del manifiesto principal, incluidas las tasas de bits de perfil no superpuestas entre actualizaciones.

Se admiten las siguientes funciones:

  • Recuento de perfiles (aumento o disminución)
  • Velocidades de bits de perfil (superpuestas o no superpuestas)
  • Perfiles con direcciones URL en los mismos servidores (o en diferentes)
  • Cualquier estructura de failover

Deben cumplirse todas las condiciones siguientes:

  • La emisión está activa.
  • Tanto la hora como la etiqueta cambian.
  • Toda la información de representación sigue siendo la misma (excepto que las direcciones URL pueden variar).
  • La información de acceso DRM permanece igual.
  • Los segmentos se empaquetan en torno a los mismos límites de PTS y de fotogramas en un pequeño intervalo de errores.

Arquitectura de actualización del manifiesto principal activa

A continuación se proporciona información y ejemplos sobre cómo el TVSDK admite manifiestos principales actualizados.

Esta función está desactivada de forma predeterminada. Si la aplicación la activa estableciendo una frecuencia de actualización en minutos, se producirán los pasos siguientes después de cada intervalo de actualización:

  1. TVSDK comprueba la hora y la etiqueta de la última modificación del manifiesto maestro para determinar si el archivo se ha actualizado.

    Si han cambiado tanto la hora como la etiqueta, el archivo se considera modificado.

  2. TVSDK analiza el nuevo manifiesto y toma las medidas adecuadas en función de la naturaleza de la actualización.

  3. Si la velocidad de bits de reproducción actual coincide con la velocidad de bits del manifiesto modificado, TVSDK cambia al nuevo perfil.

    El nuevo perfil puede ser de un servidor diferente o del mismo servidor, con la misma velocidad de bits. En este caso, la transición es suave.

  4. Si la velocidad de bits de reproducción actual ya no está presente en el nuevo manifiesto, TVSDK intenta encontrar una velocidad de bits en el perfil actual que también exista en el nuevo manifiesto.

    • Si se encuentra una coincidencia, el reproductor primero cambia al perfil de velocidad de bits coincidente del manifiesto existente y cambia al perfil de velocidad de bits coincidente del manifiesto actualizado. Esto garantiza que la transición sea fluida.
    • Si no hay una velocidad de bits en común entre el manifiesto anterior y el nuevo, o si TVSDK no puede cambiar a la velocidad de bits que coincida, TVSDK cambia directamente al perfil de velocidad de bits más bajo del nuevo manifiesto y utiliza ABR para cambiar a cualquier velocidad de bits permitida en función del ancho de banda. Esto puede provocar un ligero fallo en la reproducción, pero debería tener un impacto mínimo.
  5. Si la actualización se realiza correctamente, TVSDK envía un MediaPlayerItemEvent.MASTER_UPDATED evento.

  6. Si la actualización no se realiza correctamente, la reproducción continúa con la configuración de antes de esta actualización.

Ejemplo 1

Las siguientes tasas de bits se transmiten en vivo:

  • 500k
  • 900k
  • 2100k

El flujo de 2100k tiene algunos problemas, por lo que debe reiniciarse. El manifiesto principal se actualiza para contener solo 500 K y 900 K. Poco después, los usuarios que vean este programa a 2100k experimentarán un cambio de velocidad de bits a 900k. Los usuarios que ven a 900.000 siguen viendo a 900.000. Posteriormente, la secuencia de 2100 K se reanuda y se agrega de nuevo en el manifiesto principal. Un tiempo después, los usuarios que ven a 900k, y tienen el ancho de banda, cambian a 2100k.

Ejemplo 2

Las siguientes tasas de bits se transmiten en vivo:

  • 500k
  • 900k
  • 2100k

Es necesario reiniciar todas estas velocidades de bits. Hay dos flujos temporales configurados para esto, a 400k y 1500k. Los usuarios se cambian a 400.000, que es la velocidad de bits más baja de la nueva configuración. Algunos de los usuarios se cambian a 1500.000 cuando su ancho de banda es suficiente. Más adelante, se realiza una copia de seguridad de las tres velocidades de bits y se actualiza el manifiesto maestro. Los usuarios vuelven automáticamente a ver a 500.000, que es el ancho de banda más bajo en el manifiesto revisado (original). Un tiempo después, los usuarios pasan al ancho de banda más alto (900k o 1200k) que permite su red.

Usar actualización activa del manifiesto maestro

Puede activar esta función y buscar eventos relacionados.

  1. Para activar las actualizaciones del manifiesto principal activo, establezca la frecuencia de actualización (en minutos) configurando NetworkConfiguration.masterUpdateInterval propiedad.
  2. De forma opcional, rastree las actualizaciones de manifiesto correctas escuchando el MediaPlayerItemEvent.MASTER_UPDATED evento.

En esta página