【发布时间】:2017-09-26 19:20:10
【问题描述】:
花了一些时间在 AWS 上设置转码过程后,我发现 HLS (m3u8) 的视频加载时间并没有像预期的那样降低。
如果我直接使用AVPlayer,没有AVPlayerViewController,我可能需要自己管理视频流质量?我的理解是,如果我有一个 m3u8,那么事情会自动完成,并且会根据网络条件/设备/等使用最好的质量?
到目前为止,如果按原样使用 AVPlayer,加载时间似乎与没有 m3u8 的情况相同,甚至稍差。
为了更好地了解发生了什么,我一直在尝试一些事情。
1) 虽然这样做可以减少加载时间,但我宁愿做更多的事情,而不仅仅是在不使用无线网络时降低它:
self.player?.currentItem?.preferredPeakBitRate = 1
这似乎给了我一个质量很差的视频,但加载速度很快。不过,我还没有弄清楚如何检测实际使用的比特率(由于设置此值显着改善了加载时间,我将假设 AVPlayer 不会自行处理调整?)。
2) 此外,没有任何运气(导致无限微调,即使将 preferredPeakBitRate 设置为 1):
self.player.automaticallyWaitsToMinimizeStalling = false
3) 我愿意使用可能会处理此问题的第三方库,但我发现了一个名为 VKVideoPlayer 的东西可能会执行此操作?
谢谢
【问题讨论】:
标签: ios swift avplayer http-live-streaming m3u8