M3U8是Unicode版本的M3U,用UTF-8編碼。"M3UP"和"M3U8"文件都是蘋果公司使用的HTTP Live Streaming(HLS)協議格式的基礎。這種格式能夠在IPhone和Macbook等設備播放。M3U8本質上是一個播放列表,其中多是一個媒體播放列表(Media Playist),或者是一個主列表(Master Playlist), 其內部文字使用utf-8編碼。緩存
如上圖所示,其內部提供的是同一份媒體資源的多份流列表資源(Variant Stream),該備用流資源指定了多種不一樣本報的資源內容,好比不一樣語言音頻文件,不一樣角度拍攝的視頻文件以及不一樣碼流的資源文件等,能夠根據用戶的喜愛選擇合適的資源內容。app
#EXTM3U #EXT-X-VERSION:1 #EXT-X-MEDIA-SEQUENCE:0 #EXT-X-ALLOW-CACHE:NO #EXT-X-TARGETDURATION:10 #EXTINF:3, 1-4.ts #EXTINF:8, 1-6.ts #EXTINF:8, 1-8.ts #EXTINF:3, 1-26.ts #EXT-X-ENDLIST
如上圖所示,這個是一個簡單的M3U8文件的內容:編碼
#EXTM3U
必需,表示一個擴展的m3u文件
#EXT-X-VERSION
HLS協議的版本號,暗示流媒體的兼容性
#EXT-X-MEDIA-SEQUENCE:34
標明首個分段視頻的sequence number,只能有一個字段,若沒有,則首個視頻分段的sequence number位0
#EXT-X-ALLOW-CACHE:NO
是否運行客戶端對下載的視頻分段緩存用於之後播放
#EXT-X-TARGETDURATION:10
每一個視頻分段的時長,單位秒
#EXTINF:3
當前視頻分段的播放時長,單位位秒
1-4.ts
當前視頻分段的url相對/絕對路徑
#EXT-X-ENDLIST
m3u8文件列表結束url