如何使用HTTP Live Streaming的EXT-X-MEDIA?

Hen*_*ied 5 iphone objective-c video-streaming http-live-streaming ios

我目前正在制作一个项目,该项目在一年中的不同季节已经多次拍摄.

不同的视频轨道是时间同步的,所以我想利用HTTP Live Streaming的EXT-X-MEDIA让用户在iOS设备上的季节之间切换.

我已经设置了一个包含视频的M3U8播放列表,但我似乎无法在Quicktime播放器中曝光控件 - 无论是iPhone还是iPad.

这是我的播放列表:

#EXTM3U
#EXT-X-MEDIA:TYPE=VIDEO,GROUP-ID="500kbs",NAME="Winter",AUTOSELECT=YES,DEFAULT=YES
#EXT-X-MEDIA:TYPE=VIDEO,GROUP-ID="500kbs",NAME="Spring",AUTOSELECT=NO,DEFAULT=NO,URI="spring.m3u8"
#EXT-X-MEDIA:TYPE=VIDEO,GROUP-ID="500kbs",NAME="Summer",AUTOSELECT=NO,DEFAULT=NO,URI="summer.m3u8"

#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="aac",LANGUAGE="eng",NAME="English",AUTOSELECT=YES, \
DEFAULT=YES,URI="audio.m3u8"
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=754857,VIDEO="500kbs",AUDIO="aac",CODECS="avc1.42e01e,mp4a.40.2"
./winter.m3u8
Run Code Online (Sandbox Code Playgroud)

这不应该工作吗?

vip*_*ipw 2

GROUP-ID 用于多语言支持。当然有可能以新的含义进行推销,但我不期望得到很好的客户支持。

但根据最新规范,您提供的播放列表不合法。

https://datatracker.ietf.org/doc/html/draft-pantos-http-live-streaming-10#section-3.4.9.1

AUTOSELECT 属性值为 YES 的组的所有成员都必须具有具有唯一值的 LANGUAGE [RFC5646] 属性。