我有一个应用程序,提供视频内容使用HTTP流。我希望应用程序根据设备屏幕大小( 4x3或16x9)检索适当的分辨率。我运行了苹果的工具来创建主.m3u8播放列表文件(变量播放列表创建者),得到了以下内容:
#EXTM3U
#EXT-X-STREAM-INF:AVERAGE-BANDWIDTH=248842,BANDWIDTH=394849,CODECS="mp4a.40.2, avc1.4d4028",RESOLUTION=480x360
4x3/lo/prog_index.m3u8
#EXT-X-STREAM-INF:AVERAGE-BANDWIDTH=384278,BANDWIDTH=926092,CODECS="mp4a.40.2, avc1.4d4028",RESOLUTION=480x360
4x3/mid/prog_index.m3u8
#EXT-X-STREAM-INF:AVERAGE-BANDWIDTH=787643,BANDWIDTH=985991,CODECS="mp4a.40.2, avc1.42801e",RESOLUTION=480x360
4x3/hi/prog_index.m3u8
#EXT-X-STREAM-INF:AVERAGE-BANDWIDTH=249335,BANDWIDTH=392133,CODECS="mp4a.40.2, avc1.4d4028",RESOLUTION=640x360
16x9/lo/prog_index.m3u8
#EXT-X-STREAM-INF:AVERAGE-BANDWIDTH=384399,BANDWIDTH=950686,CODECS="mp4a.40.2, avc1.4d4028",RESOLUTION=640x360
16x9/mid/prog_index.m3u8
#EXT-X-STREAM-INF:AVERAGE-BANDWIDTH=780648,BANDWIDTH=987197,CODECS="mp4a.40.2, avc1.42801e",RESOLUTION=640x360
16x9/hi/prog_index.m3u8这确实使我的直播流在视频质量之间正确切换,但它似乎随机选择它是使用4x3还是16x9分辨率。
是否有办法让它自动选择正确的尺寸,或者我是否需要有多个播放列表文件,并有一个设备请求一个特定的?例如,如果在一个iPad上,我需要检测它的屏幕是否有一个4x3维,并请求一个只有480x360分辨率选项的4x3_playlist.m3u8?
发布于 2015-03-18 15:38:04
更新2017年:
在最新的HLS创作指南中,保持相同的纵横比只是一项建议:
1.33.所有的视频变体应该有相同的纵横比。
原始答案:
音频/视频流考虑因素: 视频的纵横比必须完全相同的,但可以是不同的尺寸。
苹果技术说明TN2224 -为iPhone和iPad创建和部署HTTP流媒体的最佳实践
选择一个基于用户代理的播放列表。
https://stackoverflow.com/questions/29125942
复制相似问题