▶ HLS 播放流程
01
获取播放列表 — 加载 .m3u8 文件,解析主播放列表或媒体播放列表
02
码率自适应选择 — 根据网络状况自动选择最佳清晰度
03
片段下载缓冲 — 按序下载 .ts 视频片段填充播放缓冲区
04
MSE 注入 — 通过 Media Source Extensions 将片段输入 video 元素
HLS.jsMSE APIVideo ElementWeb Worker
⇄ 转换流程
01
解析 M3U8 — 提取所有 TS 片段 URL,处理相对路径与绝对路径
02
并发下载 — 多线程并发下载所有视频片段,可配置并发数
03
内存合并 — 使用 Uint8Array 在内存中顺序拼接所有片段
04
Blob 导出 — 创建 video/mp4 Blob 并通过 Object URL 触发下载
Fetch APIUint8ArrayBlob APIPromise.all