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