我想獲取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