Estadísticas de calidad de servicio

Quality of service (QoS) ofrece una vista detallada del rendimiento del motor de vídeo. TVSDK proporciona estadísticas detalladas sobre la reproducción, el almacenamiento en búfer y los dispositivos.

TVSDK también proporciona información sobre los siguientes recursos descargados:

  • Archivos de lista de reproducción/manifiesto
  • Fragmentos de archivo
  • Información de seguimiento de archivos

Rastrear en el nivel de fragmento utilizando información de carga

Puede leer información sobre la calidad del servicio (QoS) acerca de los recursos descargados, como fragmentos y pistas, desde la clase LoadInformation .

  1. Implemente el detector de eventos de llamada de retorno onLoadInformationAvailable.

    private function onLoadInformationAvailable(event:LoadInformationEvent):void { 
        var loadInformation:LoadInformation = event.loadInformation; 
        // process the load information here     
    }
    
  2. Registre el detector de eventos, al que llama TVSDK cada vez que se descarga un fragmento.

    player.addEventListener(LoadInformationEvent.LOAD_INFORMATION_AVAILABLE,  
                                     onLoadInformationAvailable);
    
  3. Lea los datos de interés de LoadInformation que se pasan a la rellamada.

    Propiedad Tipo Descripción
    downloadDuration

    Número

    Duración de la descarga en milisegundos.

    TVSDK no diferencia entre el tiempo que tardó el cliente en conectarse al servidor y el tiempo que tardó en descargar el fragmento completo. Por ejemplo, si la descarga de un segmento de 10 MB tarda 8 segundos, TVSDK proporciona esa información, pero no le indica que se tardaron 4 segundos hasta el primer byte y otros 4 segundos en descargar el fragmento completo.

    mediaDuration

    Número

    Duración del contenido de los fragmentos descargados en milisegundos.
    size

    Número

    El tamaño del recurso descargado en bytes.
    trackIndex

    int

    Índice de la pista correspondiente, si se conoce; de lo contrario, 0.
    trackName

    Cadena

    el nombre de la pista correspondiente, si se conoce; de lo contrario, null.
    trackType

    Cadena

    el tipo de pista correspondiente, si se conoce; de lo contrario, null.
    type

    Cadena

    Qué ha descargado TVSDK. Uno de los siguientes:
    • MANIFIESTO: lista de reproducción/manifiesto
    • FRAGMENTO: Un fragmento
    • TRACK: fragmento asociado a una pista específica
    A veces, es posible que no sea posible detectar el tipo de recurso. Si esto ocurre, se devuelve FILE.
    url

    Cadena

    Dirección URL que señala al recurso descargado.

Leer las estadísticas de reproducción, almacenamiento en búfer y dispositivos de QOS

Puede leer las estadísticas de reproducción, almacenamiento en búfer y dispositivos desde la clase QOSProvider.

La clase QOSProvider proporciona varias estadísticas, incluida información sobre el almacenamiento en búfer, las tasas de bits, las tasas de fotogramas, los datos de tiempo, etc.

También proporciona información sobre el dispositivo, como el fabricante, el modelo, el sistema operativo, la versión del SDK y el tamaño/densidad de la pantalla.

  1. Cree una instancia de un reproductor de medios.

  2. Cree un objeto QOSProvider y adjúntelo al reproductor de medios.

    // Create Media Player. 
    _mediaQosProvider = new QOSProvider; 
    _mediaQosProvider.attachMediaPlayer(_mediaPlayer);
    
  3. (Opcional) Lea las estadísticas de reproducción.

    Una solución para leer las estadísticas de reproducción es tener un temporizador que obtenga periódicamente los nuevos valores de QoS de QOSProvider. Por ejemplo:

    var qosTimer:Timer = new Timer(1000); // every 1 second  
    qosTimer.addEventListener(TimerEvent.Timer, onQoSTimer);  
    qosTimer.start(); 
    private function onQoSTimer(event:TimerEvent):void { 
        var playbackInformation:PlaybackInformation = _mediaQosProvider.getPlaybackInformation(); 
        qosInfo["Frame rate"] = playbackInformation.frameRate.toFixed();  
        qosInfo["Dropped frames"] = playbackInformation.droppedFrameCount.toFixed(); 
        qosInfo["Bitrate"] = playbackInformation.bitrate.toFixed(); 
        qosInfo["Bandwidth"] = playbackInformation.perceivedBandwidth; 
        qosInfo["Buffering time"] = playbackInformation.bufferingTime.toFixed(); 
        qosInfo["Buffer length"] = playbackInformation.bufferLength.toFixed();  
        qosInfo["Buffer time"] = playbackInformation.bufferTime.toFixed(); 
        qosInfo["Empty buffer count"] = playbackInformation.emptyBufferCount.toFixed();  
        qosInfo["Time to load"] = playbackInformation.timeToLoad.toFixed();  
        qosInfo["Time to start"] = playbackInformation.timeToStart.toFixed(); 
        qosView.update(qosInfo); 
    }
    
  4. (Opcional) Lea la información específica del dispositivo.

    // Show device information 
    var deviceInfo:DeviceInformation = new QOSProvider.deviceInformation; 
    qosInfo["deviceModel"] = deviceInfo.manufacturer +"-" + deviceInfo.model; 
    qosInfo["os"] = deviceInfo.os;  
    qosInfo["runtime"] = deviceInfo.runtimeVersion;  
    qosInfo["widthPixels"] = deviceInfo.widthPixels;  
    qosInfo["heightPixels"] = deviceInfo.heightPixels; 
    qosView.update(qosInfo); 
    

En esta página

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now