HLS
HLS是为移动设备开发的基于HTTP的流媒体解决方案。原理:
将视频或流切分成小片(TS), 并建立索引(M3U8).
支持视频流:H.264; 音频流:AAC
- M3U8文件解析
M3U8文件在很多地方也叫做Playlist file。
一个简单的例子:
EXTM3U
EXT-X-TARGETDURATION:10
EXT-X-MEDIA-SEQUENCE:1
EXTINF:10, http://media.example.com/segment0.ts
EXTINF:10, http://media.example.com/segment1.ts
EXTINF:10, http://media.example.com/segment2.ts
EXT-X-ENDLIST (VOD含EXT-X-ENDLIST,live stream则没有)
3.1 File
一个M3U的 Playlist 就是一个由多个独立行组成的文本文件,每行由回车/换行区分。每一行可以是一个URI 空白行或是以”#“号开头的字符串,并且空格只能存在于一行中不同元素间的分隔。
一个URI 表示一个媒体段或是”variant Playlist file“(最多支持一层嵌套,即一个mm3u8文件中嵌套另一个m3u8)
以”#EXT“开头的表示一个”tag“,否则表示注释
3.2 Tag
EXTM3U:
每个M3U文件第一行必须是这个tag。
EXTINF
指定每个媒体段(ts)的持续时间,这个仅对其后面的URI有效,每两个媒体段URI间被这个tag分隔开,其格式如下:
#EXTINF: