【问题标题】:AVPlayer seekToTime download an insane amount of media segment files consuming a lot of dataAVPlayer seekToTime 下载大量消耗大量数据的媒体片段文件
【发布时间】:2015-02-04 15:55:36
【问题描述】:

我正在一个应用程序中工作,我可以使用 AVPlayer 实例毫无问题地播放流式收音机的 HLS m3u8 播放列表(仅限音频)。使用 Charles,我可以看到播放列表如何以正常速度正确更新(每 9-10 秒,需要一个媒体片段文件)。当我执行 seekToTime: (及时返回)时,播放器成功地播放了我想要的流,但在 Charles 中,我观察到播放器如何开始下载大量媒体片段文件,消耗大量数据。似乎播放器在此之前下载了所有媒体段文件,然后再次保持正常行为。

我知道正确的行为是在我想要的时间下载媒体片段文件,开始播放它,然后每 9-10 秒不断下载 1 或 2 个媒体片段文件,就像我在无需时移播放流。

我的问题是这是否是正常行为,或者我的 m3u8 播放列表或客户端实现是否有问题。谁能帮我澄清一下?

更新:我可以确认这在 iOS 7 中不会发生,所以这似乎是 iOS 8 引入的错误。

【问题讨论】:

  • 尝试使用 [Apple 的 Stream Sample: Bip Bop: devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8
  • 我做了,它的行为是一样的。我还创建了一个新项目和一个使用三个不同流(包括 Apple 的流)初始化的 AVPlayer 实例,并使用 seekToDate: 到三分钟前。结果是一样的:执行那个方法你可以看到它是如何成功的,但是它会很快下载很多媒体片段文件,所以我猜这是正常的行为,至少使用 AVPlayer。

标签: ios avplayer http-live-streaming avplayeritem seektotime


【解决方案1】:

Apple 告诉我这不是错误,而是一项功能。自 iOS 8 以来,他们使缓冲区更大。

【讨论】:

    猜你喜欢
    • 2014-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多