概述
M3U8是Unicode版本的M3U,用UTF-8编码。"M3UP"和"M3U8"文件都是苹果公司使用的HTTP Live Streaming(HLS)协议格式的基础。这种格式可以在IPhone和Macbook等设备播放。M3U8本质上是一个播放列表,其中可能是一个媒体播放列表(Media Playist),或者是一个主列表(Master Playlist), 其内部文字使用utf-8编码。
主播放列表
如上图所示,其内部提供的是同一份媒体资源的多份流列表资源(Variant Stream),该备用流资源指定了多种不同本报的资源内容,比如不同语言音频文件,不同角度拍摄的视频文件以及不同码流的资源文件等,可以根据用户的喜好选择合适的资源内容。
媒体播放列表
#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文件列表结束