使用HTTP直播时如何自动检测设备尺寸?

问题描述 投票:1回答:1

我有一个使用HTTP Live Streaming传送视频内容的应用程序。我希望应用程序根据设备屏幕大小(4x3或16x9)检索适当的分辨率。我运行Apple的工具来创建主.m3u8播放列表文件(variantplaylistcreator)并得到以下内容:

#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?

http-live-streaming
1个回答
5
投票

2017年更新:

保持相同的宽高比仅是最新的HLS authoring指南中的建议:

1.33。所有视频变体应该具有相同的宽高比。

原始答案:


音频/视频流注意事项:

视频宽高比必须完全相同,但可以是不同的尺寸。

Apple Technical Note TN2224 - Best Practices for Creating and Deploying HTTP Live Streaming Media for the iPhone and iPad

请改为选择基于User-Agent的播放列表。

© www.soinside.com 2019 - 2024. All rights reserved.