ios7 - 如何找到AVPlayer当前比特率

标签 ios7 avplayer bitrate avplayeritem

我正在尝试获取AVPlayer播放视频流的比特率。我尝试使用observed bit rateAVPlayerItemAccessLogEvent属性,但它具有很高的值(value)。进一步研究Observed-bit-rate属性后,我了解到此属性显示download rate of a segment的值。我需要知道播放器播放流的比特率。

下图显示了LIVE流的“观察到的比特率”与“指示的比特率”。
enter image description here

请就这个问题提出您的建议。

我尝试了以下链接,但没有运气:

https://stackoverflow.com/a/14845997/1730345

MPMoviePlayerController MovieAccessLogEvent - Inflated observedBitrate

最佳答案

您对observedBitrate的看法是正确的。这表明下载速度。
indicatedBitrate应该告诉您播放当前流所需的广告比特率。我相信值(value)来自HLS主 list 。当播放没有多个比特率变体的流,并且只有一个比特率变体可用时,indicatedBitrate的值将为-1

如果您一直在处理具有主 list 的流,那么indicatedBitrate是最佳选择。

如果要处理没有主 list 的流,则估算比特率的一种方法是获取最后一个AVPlayerItemAccessLogEvent条目,然后使用以下方法对其进行计算:

numberOfBitsTransferred = (numberOfBytesTransferred * 8)
numberOfBitsTransferred / segmentsDownloadedDuration

从经验上讲,每当播放器切换比特率时,它将发布一个新的访问日志条目。最新的访问日志条目将包含有关最近选择的流的数据。

关于ios7 - 如何找到AVPlayer当前比特率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32406838/

相关文章:

ios - 暂停播放时 MPNowPlayingInfoCenter react 不正确

c++ - 查找视频文件的比特率

objective-c - 如何在 cocoa 中获取音频文件的比特率

ios - 如何计算视频的比特率?

static - iOS 7 静态表格 View 选择样式错误

ios - 如何通过GCDWebServer在iOS上播放本地M3u8文件

ios7 - 自动布局 : Distribute views evenly, 中的 Spring 带有约束,在 Xcode 5 中

iphone - iOS AVPlayer 流媒体音乐问题

ios - deleteObject 在 Realm 中不起作用

ios - 如何改造 iOS 7 中的 UIAlertView?