我有mater playlist .m3u8文件包含其他索引文件类型。m3u8现在应用程序的要求是播放视频的高比特率视频,是否有可能实现这一点,并使用AVPlayer(apple tvOS)播放高比特率视频。
母版播放列表包含以下索引文件
<标题> EXTM3U h1> EXT-X-STREAM-INF:驱动程序= 1,带宽= 378000 = 256 x144决议,编解码器="avc1.42001e, mp4a.40.2"someurl.m3u8
<标题> EXT-X-STREAM-INF:驱动程序= 1,带宽= 2072000 = 480 x270决议,编解码器="avc1.42001e, mp4a.40.2"someurl.m3u8
<标题> EXT-X-STREAM-INF:驱动程序= 1,带宽= 2671000 = 640 x360的决议,编解码器="avc1.4d001f, mp4a.40.2"someurl.m3u8
现在根据要求,应用程序需要从主播放列表的url下面播放。
ID = 1、带宽= 2671000 = 640 x360的决议,编解码器="avc1.4d001f, mp4a.40.2"someurl.m3u8
是否可以使用AVPlayer来实现?
标题>标题>标题>设置
player.currentItem?.preferredPeakBitRate = 2072000
只设置比特率的上限,因此,例如,您可以使用此来排除最高比特率。
问题是,AVFoundation不会选择比特率高于网络连接的吞吐量,因为这会导致不稳定的播放,这不是一个明智的策略。
也就是说,如果你真的想要强制播放最高比特率的资产,你可以拦截外部m3u8文件的抓取并抑制较低比特率的条目,或者解析文件并直接使用AVPlayer
播放最高比特率的URL。