音视频开发---M3U8 https://www.jianshu.com/p/e97f6555a070

M3U8 是一种常见的流媒体格式,主要以文件列表的形式存在,既支持直播又支持点播,尤其在 Android 、 iOS 等平台最为常用

M3U8 是 Unicode 版本的 M3U,用 UTF-8 编码。“M3U” 和 “M3U8” 文件都是苹果公司使用的 HTTP Live Streaming(HLS) 协议格式的基础,这种协议格式可以在 iPhone 和 Macbook 等设备播放。
m3u8 文件其实是 HTTP Live Streaming(缩写为 HLS) 协议的部分内容,而 HLS 是一个由苹果公司提出的基于 HTTP 的流媒体网络传输协议。

作者:Whyn
链接:https://www.jianshu.com/p/e97f6555a070
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

#EXTM3U							M3U8 文件必须包含的标签,并且必须在文件的第一行,所有的 M3U8 文件中必须包含这个标签 
#EXT-X-VERSION:3				M3U8 文件的版本,至少到7,最新多少了? 
								//不同的版本增/删了若干标签
#EXT-X-TARGETDURATION:4			一个分片都会有一个分片自己的 duration,这个标签是最大的那个分片的浮点数四舍五入后的整数值,
								例如 分片列表中的最大的 duration 的数值5.001四舍五入5 EXT-X-TARGETDURATION = 5

#EXT-X-MEDIA-SEQUENCE:O			M3U8 直播时的直播切片序列		分片必须是动态改变的,序列不能相同,并且序列必须是增序的 。
//当 M3U8 列表中没有出现 EXT-X-ENDLIST 标签时,无论这个 M3U8 列表中有多少片分片,播放分片都是从倒数第三片开始播放,如果不满三片则不应该播放 。 当然,如果有些播放器特别定制了的话,则可以不遵照这个原则 。
//EXt-X-DISCONTINUITY	解决前一片分片与后一片分片有不连续的时候播放可能会出错的问题
//以播放当前分片的 duration 时间刷新 M3U8 列表,然后做对应的加载动作 。
//如果播放列表在刷新之后与之前的列表相同,那么在播放当前分片 duration 一半的时间内再刷新一次。
#EXTINF:3.760000,				M3U8 列表中每一个分片的 duration
outO.ts
#EXTINF: 1.880000,
outl.ts
#EXTINF:l.760000,
out2.ts
#EXTINF:l.040000,
out3.ts
#EXTINF: 1.560000,
out4.ts

你可能感兴趣的:(音视频开发)