在iOS上使用Reachability在m3u8(HLS)中选择适当的索引文件



根据苹果的HTTP实时流媒体指南:

如果你是iOS应用程序开发人员,你可以查询用户的设备确定初始连接是蜂窝连接还是WiFi连接,以及选择适当的主索引文件。

我知道如何使用可达性来确定连接,但我不知道如何告诉AVPlayer在m3u8的索引文件中加载不同的文件。

我有点困惑,也许它会自动这么做?但我不明白他们为什么建议你这么做。(最终,我想确保即使在3G/Edge连接上,我的视频也能尽快播放,所以我想确保我加载了合适的文件来播放)。

他们建议创建多个m3u8播放列表,而不从主播放列表中选择变体(如果网络条件发生变化,则会阻止切换到另一个流)。

为了确保用户在首次播放流时有良好的体验,无论初始网络连接如何,您都应该有多个主索引文件,这些文件由相同的备用索引文件组成,但第一个流不同

主播放列表中的第一个变体总是首先加载,用于确定播放器可以支持的比特率。

因此,您可以有两个具有不同celluar/WiFi变体的主文件两个具有相同流但经过重新排序的主文件,以使第一个流与网络类型一致。

在您的代码中,您将确定网络类型并请求一个或另一个主URL。

最新更新