Determening MPMovieController bit-rate

后端 未结 2 1173
北恋
北恋 2021-01-14 18:19

Is there a way to determine the bit-rate of the stream an MPMovieController is playing? I am programming in objective-c on iOS

相关标签:
2条回答
  • 2021-01-14 18:28

    Found it, the "accessLog" gives you periodic stats which include the observed bitrate:

    MPMovieAccessLogEvent *evt=nil;
    MPMovieAccessLog *accessL=[moviePlayer accessLog];
    NSArray *events = accessL.events;
    for (int i=0; i<[events count]; i++) {
        evt=[events objectAtIndex:i];
    }
    return evt.observedBitrate
    
    0 讨论(0)
  • 2021-01-14 18:37

    You can get the indicated bit rate from event, which is the bit rate of the stream according to the m3u8. To calculate the actual bit rate I divide event.numberOfBytesTransferred / event.durationWatched and multiply by 8.

    NSArray *events = self.player.accessLog.events;
        MPMovieAccessLogEvent *event = (MPMovieAccessLogEvent *)[events lastObject];
    double calculatedBitRate = 8 * event.numberOfBytesTransferred / event.durationWatched;
        value = [nf stringFromNumber:[NSNumber numberWithDouble:calculatedBitRate]];
        self.calculatedBitRateLabel.text = [NSString stringWithFormat:@"My calculated bit rate = %@", value];
    
    0 讨论(0)
提交回复
热议问题