M3U8 入门说明:结构、字段与播放机制

M3U8 是 HLS 协议使用的播放列表文本文件。播放器并不直接播放 m3u8,而是解析里面的媒体分片地址(通常是 ts 或 fmp4),按顺序拉流并拼接播放。

1. 主清单与子清单

常见场景下,一个入口 m3u8 是“主清单”,里面列出了多路码率;播放器会根据网络状况选择一个子清单继续播放。

#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=800000,RESOLUTION=640x360
low/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2400000,RESOLUTION=1280x720
high/index.m3u8

2. 子清单里的关键字段

3. 直播与点播差异

点播(VOD)清单一般稳定且有 ENDLIST;直播清单会不断更新,播放器需要轮询拉取新分片,因此直播对网络波动更敏感。

4. 为什么“能打开链接但不能播放”