Información general overview
En las siguientes instrucciones se indican los pasos para la implementación en todos los kits de desarrollo de software de 2.x.
El seguimiento de la calidad de la experiencia incluye la calidad del servicio (QoS) y el seguimiento de errores. Ambos son elementos opcionales y no son necesarios para las implementaciones principales de contenido. Puede utilizar la API del reproductor de contenido para identificar las variables relacionadas con la calidad de servicio y el seguimiento de errores. Estos son los elementos clave del seguimiento de la calidad de la experiencia:
Eventos del reproductor player-events
En cualquier cambio de métrica de QoS:
Cree o actualice la instancia del objeto QoS para la reproducción. Referencia de API de QoS
En todos los eventos de cambio de velocidad de bits
La llamada trackEvent(Media.Heartbeat.Event.BitrateChange);
Implementación de QOS
-
Identifique cuándo cambia alguna de las métricas de QoS durante la reproducción de contenido, cree el objeto
MediaObject
mediante el uso de la información de QoS y actualice la nueva información de QoS.Variables QoSObject:
note tip TIP Estas variables solo son necesarias si planea realizar seguimientos de QoS. table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 3-align-center 7-align-center 11-align-center 15-align-center 19-align-center Variable Descripción Requerido bitrate
Velocidad de bits actual Sí startupTime
Hora de inicio Sí fps
Valor FPS Sí droppedFrames
Número de fotogramas perdidos Sí -
Asegúrese de que el método
getQoSObject()
devuelve la información de QoS más actual. -
Cuando la velocidad de bits de la reproducción cambie, invoque el evento
BitrateChange
en la instancia de Media Heartbeat.note important IMPORTANT Actualice el objeto QoS e invoque el evento de cambio de velocidad de bits en cada cambio. Esto proporciona los datos de QoS más precisos.
El siguiente código de ejemplo utiliza el SDK JavaScript 2.x para un reproductor de contenidos HTML5. Este código debe utilizarse con el código de reproducción de contenidos principal.
var mediaDelegate = new MediaHeartbeatDelegate();
...
// This is called periodically by MediaHeartbeat instance
mediaDelegate.prototype.getQoSObject = function() {
return this.qosInfo;
};
if (e.type == "qos_update") {
var qosInfo = MediaHeartbeat.createQoSObject(<BITRATE>,<STARTUP_TIME>,<FPS>,<DROPPED_FRAMES>);
mediaDelegate.qosInfo = qosInfo;
};
if (e.type == "bitrate_change") {
this.mediaHeartbeat.trackEvent(MediaHeartbeat.Event.BitrateChange, qosObject);
};