我想获取AVPlayer正在播放视频流的比特率。我尝试使用AVPlayerItemAccessLogEvent
的observed bit rate
属性,但它提供了非常高的价值。在探索Observed-bit-rate
属性后,我了解到此属性显示值为download rate of a segment
。我需要知道播放器正在播放流的比特率。如何找到AVPlayer当前比特率
下图显示了LIVE流的Observed bit vs指示比特率。
请在此问题上提出您的建议。
我尝试下面的链接,但没有运气:
https://stackoverflow.com/a/14845997/1730345。
MPMoviePlayerController MovieAccessLogEvent - Inflated observedBitrate。
感谢您的回复,关于requestedBitrate - 根据我的理解,这是播放流所需的比特率,它由服务器指示。我想查找avplayer播放流的比特率。您能否帮我理解指示的比特率,并且我想知道这是否表示播放器的当前比特率。仅供参考 - 我的所有溪流都有主人清单。 – karthik
正如Anurag所说,指示的比特率仅仅是当前正在播放的m3u8变体播放列表中的“BANDWIDTH”参数。根据你的HLS服务器,这可能有任何价值。如果没有主播放列表,则此值设置为-1,表示播放列表'不表示比特率'。对于运行良好的HLS服务器,使用变体播放列表,该值应该相当准确,但要获取当前网络比特率,请使用Anurag的公式:比特率(以位/秒为单位)=(logEvent.numberOfBytesTransferred * 8)/ logEvent.segmentsDownloadedDuration –
@karthik - 我希望西蒙的意见进一步阐明了指示剂量属性的用途。如果您还有其他问题,请告诉我。 – Anurag