Calidad de servicio (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.
Puede leer las estadísticas de reproducción, almacenamiento en búfer y dispositivo desde el PTQOSProvider
clase.
El PTQOSProvider
proporciona varias estadísticas, incluida información sobre el almacenamiento en búfer, las velocidades de bits, las velocidades de fotogramas, los datos de tiempo, etc.
También proporciona información sobre el dispositivo, como el modelo, el sistema operativo y el ID de dispositivo del fabricante.
No puede cambiar el tamaño del búfer de reproducción, pero puede supervisar el estado del tamaño del búfer para la depuración o el análisis. PTPlaybackInformation
incluye propiedades como playbackBufferFull
y playbackLikelyToKeepUp
.
Cree una instancia de un reproductor multimedia.
Crear un PTQOSProvider
y adjuntarlo al reproductor de contenidos.
El PTQOSProvider
toma un contexto del reproductor para poder recuperar información específica del dispositivo.
qosProvider = [[PTQOSProvider alloc]initWithPlayer:self.player];
(Opcional) Lea las estadísticas de reproducción.
Una solución para leer las estadísticas de reproducción es tener un temporizador, como un NSTimer
, que recupera periódicamente los nuevos valores de QoS de la PTQOSProvider
. Por ejemplo:
- (void)printPlaybackInfoLog {
PTPlaybackInformation *playbackInfo = qosProvider.playbackInformation;
if (playbackInfo) {
// For example:
NSString *infoLog = [NSString stringWithFormat:@"observedBitrate :
%f\n",playbackInfo.observedBitrate];
[consoleView logMessage:@"====%@\n\n",infoLog];
}
}
(Opcional) Lea la información específica del dispositivo.
PTDeviceInformation *devInfo = qosProvider.deviceInformation;
if (devInfo) {
[consoleView logMessage:@"=== qosDeviceInfo:==\n os =%@\n model =
%@\n id =%@\n\n", devInfo.os, devInfo.model, devInfo.id];
}
[NSTimer scheduledTimerWithTimeInterval:2.0 target:self
selector:@selector(printPlaybackInfoLog) userInfo:nil repeats:YES];