AVPlayer - 获取可用带宽/比特率流的列表并强制其中一个

Ita*_*rot 7 avfoundation video-streaming http-live-streaming

我正在尝试在iOS AVFoundation上动态播放视频时更改播放比特率.
在此流:https://devimages.apple.com.edgekey.net/streaming/examples/bipbop_16x9/bipbop_16x9_variant.m3u8,有5个视频比特率,现在AV自动选择比特率.

我想让用户选择HD质量,所以我需要一种方法来强制玩家选择最高比特率而不更换源.

jr.*_*.cs 2

Apple 的文档[AVPlayerItem](请参阅docs)的preferredPeakBitRate:方法描述如下:

该项目所需的网络带宽消耗限制(以每秒位数为单位)。

如果网络带宽消耗无法降低以满足preferredPeakBitRate,则在继续播放该项目的同时会尽可能地减少网络带宽消耗。


AVPlayerItem:配置网络行为[在线]。[引用。2017-02-14]。可从: https: //developer.apple.com/reference/avfoundation/avplayeritem

这并不是硬性限制,但如果连接可以支持比特率(如 iOS 所认为的),那么它会尝试满足期望。

至于可用比特率列表,您需要手动解析文件m3u8或自己创建级别。