1. m3u8是什么
M3U8
是 Unicode 版本的
M3U
,用 UTF-8 编码。“M3U” 和 “M3U8” 文件都是苹果公司使用的
HTTP Live Streaming(HLS)
协议格式的基础,这种协议格式可以在 iPhone 和 Macbook 等设备播放。
它主要是存放整个视频的基本信息和分片(Segment)组成。不同于mp4大文件,m3u8是由一系列的ts文件组成,一般一个ts文件大概5-10秒,这些ts文件通过一个.m3u8文件做索引。用户播放视频时,可随意拖动视频进度,会读取相应进度的ts文件继续观看视频,不必等到下载完整的视频。因此在播放m3u8的时候很少有卡顿的现象。
1.1 m3u8应用场景
可以兼容PC、移动端。相比mp4等视频源,m3u8可以减轻服务器压力(按需加载)。可用于直播。对于点播来说,客户端只需按顺序下载上述片段资源,依次进行播放即可。而对于直播来说,客户端需要
定时重新请求
该 m3u8 文件,看下是否有新的片段数据需要进行下载并播放。
1.2 m3u8文件格式
m3u8 文件实质是一个播放列表(playlist),使用utf-8 编码。
其格式如下所示:
#EXTM3U
#EXT-X-TARGETDURATION:10 --> 共10个ts片
#EXT-X-KEY:METHOD=AES-128,URI="https://xxxx/cgi-bin/xxxx/get_dk",IV=0x00000000000000000000000000000000 --> METHOD 加密方式,URI 密钥路径,初始向量IV
#EXTINF:9.009, --> 该片的时长
http://media.example.com/first.ts --> 该片的名称
#EXTINF:9.009,
http://media.example.com/second.ts
#EXTINF:3.003,
http://media.example.com/third.ts
2. m3u8文件如何下载?
使用猫爪插件获取m3u8。当然也可以自己在F12,filter一下XHR。
没有进行加密的m3u8文件,直接复制其链接使用相应的下载工具下载就行。
假如加密了,就需要看m3u8文件中的密钥路径,查找密钥,进行解密。
2.1
使用ffpegm进行m3u8文件的提取合并
2.2 使用N_m3u8DL工具对m3u8文件的下载合并解码 – 基于ffpegm上的封装,GUI工具
摘录文章:
相关Link收藏:
HTML5点播m3u8(hls)格式视频 – 云+社区 – 腾讯云
m3u8文档附录: