gpt4 book ai didi

ios - MPMoviePlayerController MovieAccessLogEvent - 膨胀的观察比特率

转载 作者:可可西里 更新时间:2023-11-01 05:41:14 26 4
gpt4 key购买 nike

我目前正在使用 MPMoviePlayerController 并正在分析视频播放的指标。具体而言,分析自适应比特率。

作为测试的一部分,我以固定比特率 (995kbps) 加载特定的视频再现,但是当从我的 MPMovieAccessLogEvent 的 observedBitrate 属性读取时,这个值要膨胀得多 - 大约 15mbps

返回的比特率比回放的比特率高得多,是否有任何已知原因?我仔细检查了所有值和所有播放,肯定是 observedBitrate 膨胀了。

根据文档,这个值是:

The empirical throughput across all media downloaded for the movieplayer, in bits per second.

更新

我在开发者论坛上发布了这个问题并收到了答案,这仍然只是猜测,但我认为它可能对问题有所帮助,并且可能会引发更好的答案。

https://devforums.apple.com/thread/216659?tstart=0

It would be worth checking your HLS video with mediastreamvalidatorwhich will download and measure your segment bit rates.

最佳答案

对此有一个简单的答案 - MPMovieAccessLogEventindicatedBitrate(或 AVPlayerAVPlayerItemAccessLogEvent)是当前播放列表的比特率,因此是播放流所需的平均比特率。

但是,observedBitrate 不是平均数 - 它是播放器在下载特定视频 block 时达到的瞬时比特率(或下载速度)。

示例:播放 1000 Kb/s 流的播放列表,每 block 10 秒。该设备可以通过 WiFi 实现超过 10MB/s 的下载速度,因此每个 block 的下载时间不到 1 秒。因此,播放器在每个 block 中的下载速度超过 10,000 Kb/s。我希望播放器返回(大约)这些值:

指示比特率:1000 Kb/s

观察比特率:10,000 Kb/s

我自己也对这些巨大的值(value)感到困惑,但我认为这可以解释它。

这只是为了说明 - 这些值不是很有意义,因为我们真的不知道下载一个 block 需要多长时间,或者每个 block 有多大。所有 observedBitrate 真正告诉您的是播放器如何设法跟上播放流​​所需的比特率。如果前者比后者大 10 倍,那么它只使用 10% 的可用时间来下载每个 block 。该比率可用作服务质量指标。比如observedBitrate小于indicatedBitrate那么很有可能播放器会因为缓冲而卡顿,但是只要大于,那么一切都是很好,流很可能会流畅播放。

关于ios - MPMoviePlayerController MovieAccessLogEvent - 膨胀的观察比特率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20998052/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com