Q:当在.m3u8文件中的EXT-X-VERSIOn标记中指定了协议的版本,HLS的哪些功能可以使用?
A:标记EXT-X-VERSION可以指示出playlist文件的兼容版本,playlist和相关的媒体文件,还有服务器必须符合IETF Internet Draft of the HTTP Live Streaming Protocol specification规定的标记规范。如果playlist文件不包含EXT-X-VERSION标记,默认为协议的第一个版本。
注意:为了理解HLS的工作原理, 必须一直参考最新的IETF internet Draft,旧版本的文档记录了更新的历史。
下表是版本和标记的对应关系:
你只需要指定协议版本需要向后兼容性的一个给定的特性。
例如,您不必指定协议版本5如果你刚刚添加SUBTITLE标记。如果你不这样做,老客户会简单地忽略SUBTITLES标记,但仍然以某种形式播放。
当然,以下功能是不能乡下兼容的,老版本的客户端在使用这个标记的时候,如果没有指定相应的协议版本号可能会失败。
在EXT- X-KEY标记中使用IV必须指定协议的版本号是2
在EXTINF中使用浮点数的值必须指定协议版本号是3
使用 EXT-X-BYTERANGE
和 EXT-X-IFRAME-ONLY标记必须指定协议的版本号是4
在EXT-X-KEY标记中使用SAMPLE-AES必须指定协议的版本是5
下图是IETF internet Draft 和iOS对应的实现和支持的功能: