1.定义
M3U8是M3U的Unicode版本,用UTF-8编码,M3U"和"M3U8"文件都是苹果公司使用的HTTP Live Streaming(HLS)格式的基础,这种格式可以在iPhone和Macbook等设备播放。
那么M3U又是什么?
M3U是一种播放多媒体列表的文件格式,它的设计初衷是为了播放音频文件,比如MP3,但是越来越多的软件现在用来播放视频文件列表,M3U也可以指定在线流媒体音频源。很多播放器和软件都支持M3U文件格式。M3U文件是一种纯文本文件,可以指定一个或多个多媒体文件的位置,其文件扩展名是“M3U”或者“m3u”。
2.格式
M3U文件具有多个条目,每个条目的格式可以是以下几种格式之一:
一个绝对路径;比如:C:\My Music\Heavysets.mp3
一个相对路径(相对于M3U文件的路径);比如:Heavysets.mp3
一个URL
M3U文件也有注释,注释行以"#"字符开头,在扩展M3U文件中,"#"还引入了扩展M3U指令。
相关tag含义: https://tools.ietf.org/html/rfc8216#page-25
举例:
#EXTM3U //文件头,必须在文件第一行
#EXT-X-VERSION:3 //表示 HLS 的协议版本号
#EXT-X-ALLOW-CACHE:YES // was removed in protocol version 7
#EXT-X-TARGETDURATION:2 //媒体片段时长
#EXT-X-MEDIA-SEQUENCE:0 //表示播放列表第一个 URL 片段文件的序列号。
#EXTINF:2.000000,
18e1533d13744f7c8265519cadf99163-263b6b54085f722a1954b3a5df49f208-ld-00001.ts
#EXTINF:2.000000,
18e1533d13744f7c8265519cadf99163-263b6b54085f722a1954b3a5df49f208-ld-00002.ts
#EXTINF:2.000000,
18e1533d13744f7c8265519cadf99163-263b6b54085f722a1954b3a5df49f208-ld-00003.ts
#EXTINF:2.000000,
18e1533d13744f7c8265519cadf99163-263b6b54085f722a1954b3a5df49f208-ld-00004.ts
#EXTINF:2.000000,
18e1533d13744f7c8265519cadf99163-263b6b54085f722a1954b3a5df49f208-ld-00005.ts
#EXTINF:2.000000,
18e1533d13744f7c8265519cadf99163-263b6b54085f722a1954b3a5df49f208-ld-00006.ts
#EXTINF:2.000000,
18e1533d13744f7c8265519cadf99163-263b6b54085f722a1954b3a5df49f208-ld-00007.ts
#EXTINF:2.000000,
18e1533d13744f7c8265519cadf99163-263b6b54085f722a1954b3a5df49f208-ld-00008.ts
#EXTINF:2.000000,
18e1533d13744f7c8265519cadf99163-263b6b54085f722a1954b3a5df49f208-ld-00009.ts
#EXTINF:2.000000,
18e1533d13744f7c8265519cadf99163-263b6b54085f722a1954b3a5df49f208-ld-00010.ts
#EXTINF:2.000000,
18e1533d13744f7c8265519cadf99163-263b6b54085f722a1954b3a5df49f208-ld-00011.ts
#EXTINF:2.000000,
18e1533d13744f7c8265519cadf99163-263b6b54085f722a1954b3a5df49f208-ld-00012.ts
#EXTINF:0.000000,
18e1533d13744f7c8265519cadf99163-263b6b54085f722a1954b3a5df49f208-ld-00013.ts
#EXT-X-ENDLIST
3.用途
由于格式的灵活性,常用于流媒体。
4.扩展指令
扩展M3U指令如下:
#EXTM3U 文件的头部,必须是文件的第一行。 例: #EXTM3U
#EXTINF 指示多媒体文件的信息,包括播放时间和标题。 例: #EXTINF:191,Artist Name - Track Title