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對應的實現和支持的功能: