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

时间:2016-09-30 07:17:20

标签: objective-c avplayer tvos

我有mater播放列表.m3u8文件包​​含其他类型为.m3u8的索引文件现在app要求是播放高比特率视频的视频,是否有可能实现此目的并播放高位使用AVPlayer(apple tvOS)评分视频。

主播放列表包含以下索引文件

EXTM3U

EXT-X-STREAM-INF:PROGRAM-ID = 1,带宽= 378000,RESOLUTION = 256x144,CODECS =" avc1.42001e,mp4a.40.2"

someurl.m3u8

EXT-X-STREAM-INF:PROGRAM-ID = 1,带宽= 2072000,RESOLUTION =小480x270,CODECS =" avc1.42001e,mp4a.40.2"

someurl.m3u8

EXT-X-STREAM-INF:PROGRAM-ID = 1,带宽= 2671000,分辨率640×360 =,CODECS =" avc1.4d001f,mp4a.40.2"

someurl.m3u8

现在根据要求app需要在主播放列表中播放下面的url ID = 1,带宽= 2671000,分辨率640×360 =,CODECS =" avc1.4d001f,mp4a.40.2" someurl.m3u8

是否可以使用AVPlayer实现此目的。

1 个答案:

答案 0 :(得分:0)

设置

player.currentItem?.preferredPeakBitRate = 2072000

仅设置比特率的上限,因此例如,您可以使用此排除最高比特率。

问题是,AVFoundation不会选择高于网络连接吞吐量的比特率,因为这会导致不稳定的播放,这不是一个明智的策略。

也就是说,如果你真的想强制播放最高比特率的资产,你可以拦截外部m3u8文件的获取并抑制较低的比特率条目,或者解析文件并直接用{{来播放最高比特率的URL。 1}}。