m3u8文件格式
M3U8是Unicode版本的M3U,用UTF-8编码。“M3U” 和 “M3U8” 文件都是苹果公司使用的 HTTP Live Streaming(HLS) 协议格式的基础,这种协议格式可以在 iPhone 和 Macbook 等设备播放。m3u8文件其实是 HTTP Live Streaming(缩写为 HLS) 协议的部分内容,而 HLS 是一个由苹果公司提出的基于 HTTP 的流媒体网络传输协议。
m3u8文件简介
M3U8文件是指UTF-8编码格式的M3U文件。M3U8文件是记录了一个索引纯文本文件,打开它时播放软件并不是播放它,而是根据它的索引找到对应的音视频文件的网络地址进行在线播放。
m3u8文件实质是一个播放列表(playlist),其可能是一个媒体播放列表(Media Playlist),或者是一个主列表(Master Playlist)。但无论是哪种播放列表,其内部文字使用的都是 utf-8 编码。 当 m3u8 文件作为媒体播放列表(Meida Playlist)时,其内部信息记录的是一系列媒体片段资源,顺序播放该片段资源,即可完整展示多媒体资源,由此可知,整个视频的总时长就是各个.ts切片资源的时长之和。
m3u8文件举例
例如一个m3u8文件内容如下:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:2.256000,
15c17dfc1b2a48b9a2e05300833938c1-00001.ts
#EXTINF:2.000000,
15c17dfc1b2a48b9a2e05300833938c1-00002.ts
#EXTINF:2.000000,
15c17dfc1b2a48b9a2e05300833938c1-00003.ts
#EXTINF:2.000000,
15c17dfc1b2a48b9a2e05300833938c1-00004.ts
#EXTINF:1.866667,
15c17dfc1b2a48b9a2e05300833938c1-00005.ts
#EXT-X-ENDLIST
M3U文件标签及属性说明
标签 |
属性说明 |
#EXTM3U |
每个M3U文件第一行必须是这个tag,起标示作用 |
#EXT-X-ALLOW-CACHE |
是否允许做cache,可以在PlayList文件中任意地方出现,并且最多出现一次,作用效果是所有的媒体段 |
#EXT-X-TARGETDURATION |
指定最大的媒体段时间长(秒)。所以#EXTINF中指定的时间长度必须小于或是等于这个最大值。这个tag在整个PlayList文件中只能出现一 次(在嵌套的情况下,一般有真正ts url的m3u8才会出现该tag) |
#EXT-X-MEDIA-SEQUENCE |
每一个media URI 在 PlayList中只有唯一的序号,相邻之间序号+1, 一个media URI并不是必须要包含的,如果没有,默认为0 |
#EXTINF |
指定每个媒体段(ts)的持续时间,这个仅对其后面的URI有效,每两个媒体段URI间被这个tag分隔开,其格式如下:#EXTINF:<duration>,<title> :duration 指定每个媒体段(ts)的持续时间(秒),仅对其后面的URI有效,title是下载资源的url |
#EXT-X-ENDLIST |
表示PlayList的末尾,它可以在PlayList中任意位置出现,但是只能出现一个 |
主界面如下:
在这里插入图片描述
参考文档:https://www.xuebuyuan.com/1726264.html