首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何找到AVPlayer当前比特率

如何找到AVPlayer当前比特率
EN

Stack Overflow用户
提问于 2015-09-04 21:29:12
回答 2查看 7.2K关注 0票数 6

我正在尝试获取AVPlayer播放视频流时的比特率。我尝试使用observed bit rate属性AVPlayerItemAccessLogEvent,但是它提供了对Observed-bit-rate属性的非常高的value.After探索--我知道这个属性显示了download rate of a segment.I的值,需要知道播放机播放流的比特率。

下面的图表显示了实时流的观测比特与指示比特率。

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

我尝试了以下链接,但没有成功:

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

MPMoviePlayerController MovieAccessLogEvent - Inflated observedBitrate

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-08 02:55:58

关于observedBitrate,你是对的。这显示了下载速度。

indicatedBitrate应该告诉您播放当前流所需的广告比特率。我相信价值来自HLS的主舱单。当播放一个没有多个比特率变量的流,并且只有一个比特率变量可用时,indicatedBitrate的值将是-1

如果您总是处理具有主清单的流,那么indicatedBitrate是最好的选择。

如果您正在处理没有主清单的流,那么估计比特率的一种方法是获取最后一个AVPlayerItemAccessLogEvent条目,并使用以下方法计算它:

代码语言:javascript
复制
numberOfBitsTransferred = (numberOfBytesTransferred * 8)
numberOfBitsTransferred / segmentsDownloadedDuration

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

票数 12
EN

Stack Overflow用户

发布于 2021-06-19 17:29:06

我遵循Anurag的答案,它给了我想要的解决方案,但是我注意到可以使用AVPlayerItem的访问日志事件的averageAudioBitrateaverageVideoBitrate属性获得相同的值,这取决于您感兴趣的是什么。

下面是我如何在Swift 5中设置这个

代码语言:javascript
复制
NotificationCenter.default.addObserver(forName: .AVPlayerItemNewAccessLogEntry,
                                             object: playerItem,
                                             queue: nil) { [weak self] notification in
        if let event = self?.playerItem?.accessLog()?.events.last {
          
          let bitsTransferred = Double(event.numberOfBytesTransferred * 8)
          let bitrate =  bitsTransferred / Double(event.segmentsDownloadedDuration)
          
          print("Calculated Bit Rate: \(bitrate)")
          
          // This gives the same value as Anurag's answer
          print("Average Bit Rate: \(event.averageAudioBitrate)")
        }
}

我还想补充一点,让这个通知被触发对于实时流来说是不可靠的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32406838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档