通过访问AVPlayerItemAccessLogEvent获取当前比特率没有问题,但是在强制降低质量流时丢失了.
这对HLS来说甚至可能吗?谢谢!
解决方法 它不是完全动态的,但我确实通过创建四个不同的m3u8播放列表来解决这个问题.我将每个播放列表标记为代表流质量(低,高,极端).用户将根据所需的最高质量选择一个.极端播放列表包含所有品质的URL.高播放列表的URL少于极端,URL少于高,URL少于媒体.每当用户选择不同的质量时,我只需将基本流播放列表切换到相应的质量播放列表URL.以下是四个不同播放列表的简单示例.
HLS_MovIE_Extreme.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=64000stream-0-64000/prog_index.m3u8#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=350000stream-1-350000/prog_index.m3u8#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=800000stream-2-800000/prog_index.m3u8#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1200000stream-3-1200000/index prog_index.m3u8 m3u8#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1800000stream-4-1800000/prog_index.m3u8
HLS_MovIE_High.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1200000stream-3-1200000/index prog_index.m3u8 m3u8
HLS_MovIE_Medium.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=800000stream-2-800000/prog_index.m3u8
HLS_MovIE_Low.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=350000stream-1-350000/prog_index.m3u8
就像我说的那样,它不是动态的,但你可以使用各种技术来获得用户的网络连接,并在需要时指向所需的质量播放列表.对我来说,获得用户的偏好就足够了,并相应地调整流.
总结以上是内存溢出为你收集整理的在iOS设备上以编程方式限制HLS流的比特率全部内容,希望文章能够帮你解决在iOS设备上以编程方式限制HLS流的比特率所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)