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

时间:2015-12-15 02:28:23

标签: ios avplayer hls m3u8 avplayeritem

根据Apple's HTTP Live Streaming Guide

  

如果您是iOS应用开发者,则可以查询用户的设备   确定初始连接是蜂窝还是WiFi   选择合适的主索引文件。

我理解如何使用Reachability来确定连接,但是,我不明白如何告诉AVPlayer在m3u8的索引文件中加载不同的文件。

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

1 个答案:

答案 0 :(得分:0)

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

  

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

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

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

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