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.
Puede leer las estadísticas de reproducción, almacenamiento en búfer y dispositivos desde la clase PTQOSProvider
.
La clase PTQOSProvider
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 modelo, el sistema operativo y el ID del dispositivo del fabricante.
No se puede cambiar el tamaño del búfer de reproducción, pero se puede supervisar el estado del tamaño del búfer para su depuración o análisis. PTPlaybackInformation
incluye propiedades como playbackBufferFull
y playbackLikelyToKeepUp
.
Cree una instancia de un reproductor de medios.
Cree un objeto PTQOSProvider
y adjúntelo al reproductor de medios.
El constructor PTQOSProvider
toma un contexto de reproductor para que pueda 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 NSTimer
, que obtenga periódicamente los nuevos valores de QoS de 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];