选择高比特率视频从主播放列表.m3u8播放视频使用AVPlayer



我有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。

最新更新