M3U8 是UTF-8 编码的纯文本媒体播放清单(索引文件),是苹果 HLS(HTTP Live Streaming)流媒体协议的核心清单文件(Manifest)。
⚠️ 重点:m3u8 本身不是视频文件,没有音视频画面,只是一份文本目录。
原理
服务端把完整视频切分成大量很短的媒体分片(一般是 .ts 或 fmp4 片段,2–10 秒);m3u8 文件记录:分片地址、分片时长、码率、加密信息、多清晰度版本等元数据。播放器读取 m3u8,按顺序逐个下载分片、实时拼接播放,实现自适应码率流媒体,网络差自动切低清、网络好切高清,广泛用于网页点播、直播、课程视频。
两类清单
- 主清单 Master Playlist:存放多种清晰度 / 码率的子 m3u8 地址,用于自动切清晰度
- 媒体清单 Media Playlist:直接列出每一段 ts 分片的 URL
典型头部标识
#EXTM3U — 文件第一行,代表这是 HLS 的 m3u8 清单
特点
- 基于 HTTP 传输,容易穿透防火墙、CDN 分发友好
- 支持 AES 加密,防盗链 / 内容 DRM
- 全平台兼容:网页、安卓、iOS、播放器(VLC 等)