M3U8文件中仅有3个类型的数据
URI
空行
#开头的行
#EXT开头的为 大小写敏感,且为M3U8处理数据
#EXT-X-VERSION:7 版本号为7
#EXT-X-TARGETDURATION:20 最长切片20秒
#EXT-X-PLAYLIST-TYPE:VOD 视频类型,VOD为点播,EVENT为直播,且不存在结束标签#EXT-X-ENDLIST
#EXTINF:2.627625, 切片时长2.627625秒
广告
#EXT-X-DISCONTINUITY 用于插入切片广告,表示与其上一段的视频码参数或者序列什么的不同。
#EXTINF:8.0,
v1.ts
#更换到广告
#EXT-X-DISCONTINUITY
#EXTINF:10.0,
Ad1.ts
#EXTINF:10.0,
Ad2.ts
#广告结束更换会原来的源头
#EXT-X-DISCONTINUITY
#EXTINF:8.0,
v2.ts
#EXTINF:8.0,
v3.ts
范例
“` #EXTM3U
#EXT-X-VERSION:7
#EXT-X-TARGETDURATION:20
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-MAP:URI="init.mp4"
#EXTINF:5.005000,
10.m4s
#EXTINF:11.261250,
11.m4s
#EXTINF:13.513500,
12.m4s
#EXTINF:3.253250,
13.m4s
#EXTINF:3.253250,
……
1267.m4s
#EXTINF:9.009000,
1268.m4s
#EXTINF:20.020000,
1269.m4s
#EXTINF:2.627625,
1270.m4s
1267.m4s
#EXTINF:9.009000,
1268.m4s
#EXTINF:20.020000,
1269.m4s
#EXTINF:2.627625,
1270.m4s
#EXT-X-ENDLIST
<pre><code class=""><br /><br />#### 开始标志
</code></pre>
#EXTM3U
#EXT-X-VERSION:7
#EXT-X-TARGETDURATION:20 #切片最大视频长度
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-MAP:URI="init.mp4"
<pre><code class="">#### 切片视频:
</code></pre>
#EXTINF:9.009000,
1268.m4s
“`
#EXTINF: 每个切片的时间 (ckplayer下删除可以使用)
切片视频地址(hls下会使用ajax传输)
结束标志 #EXT-X-ENDLIST 删除可以播放
#EXT-X-MAP:URI=”init.mp4″ 删除此行无法使用,但可以在其中加入参数如#EXT-X-MAP:URI=”init.mp4?key=bsdhabhsb121″
这个字段是视频的初始化片段, 简而言之,有了这个字段,说明后续的每一个分片文件必须和通过这个初始化片段才能完整解读,缺少这个初始化片段, M3U8视频根本播放不了.
可以对切片视频地址加入相应的参数?key=1263716371
m3u8 文件可以使用即时生成文件,组合相应的切片视频