eshalev
eshalev

Reputation: 3265

Determening MPMovieController bit-rate

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

Upvotes: 3

Views: 2359

Answers (2)

marxy
marxy

Reputation: 416

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];

Upvotes: 4

eshalev
eshalev

Reputation: 3265

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

Upvotes: 2

Related Questions