“A Playlist is either a Media Playlist or a Master Playlist.”
正式发布的 HLS 规范定义了播放列表结构、标签、分片、变体码流和加密信号。
RFC Editor — RFC 8216快速指南
只需四步即可查看 HLS 清单,无需将播放列表上传到 FlowPick。
粘贴公开的 M3U8 URL,或切换到“播放列表文本”并粘贴原始清单。
点击“解析播放列表”,使用 m3u8-parser 在本地解析清单。
检查不同清晰度、轨道、分片、加密及播放列表元数据。
通过健康报告发现缺失属性和常见配置问题。
M3U8 是 HTTP Live Streaming(HLS)使用的 UTF-8 播放列表。主播放列表描述可用清晰度、音轨和字幕;每个视频版本通常指向一个媒体播放列表,其中列出浏览器播放的 TS 或 fMP4 分片。
主播放列表
├── 视频版本 → 媒体播放列表 → .ts 或 .m4s 分片
├── 备用音轨 → 音频播放列表 → 媒体分片
└── 字幕轨道 → WebVTT 播放列表
| 主播放列表 | 媒体播放列表 | |
|---|---|---|
| 用途 | 描述可用码流 | 描述媒体分片 |
| 包含内容 | 视频版本、音轨和字幕 | TS 或 fMP4 分片 |
| 分辨率 | 通常按视频版本声明 | 通常从上级继承 |
| #EXT-X-STREAM-INF | 有 | 无 |
| #EXTINF | 无 | 有 |
分析器读取常见 HLS 播放列表结构,并显示清单中实际存在的元数据。
| 标签 | 含义 |
|---|---|
| #EXTM3U | 标识扩展 M3U 播放列表。 |
| #EXT-X-STREAM-INF | 描述主播放列表中的一个视频版本。 |
| #EXTINF | 指定媒体分片的时长。 |
| #EXT-X-TARGETDURATION | 声明媒体分片的最大时长。 |
| #EXT-X-MEDIA | 定义备用音轨或字幕轨道。 |
| #EXT-X-KEY | 描述加密方式和密钥信息。 |
| #EXT-X-MAP | 定义 fMP4 媒体的初始化区段。 |
| #EXT-X-ENDLIST | 表示媒体播放列表已经结束,而不是直播。 |
通过 URL 解析时,来源服务器必须允许浏览器读取播放列表。粘贴原始文本可以避开多数网络限制。
来源网站可能不允许其他网站读取播放列表响应。请粘贴播放列表内容,或在原页面使用 FlowPick。
该 URL 可能需要登录状态、Authorization 请求头或分析器不具备的权限。
部分 CDN 只接受带有原页面上下文的请求。FlowPick 扩展可在该页面检测获准访问的请求。
临时播放列表 URL 可能很快失效。请返回来源页面并重新获取 URL。
权威来源
以下一手资料为上文所述的播放列表定义、自适应码流和浏览器访问限制提供依据。
“A Playlist is either a Media Playlist or a Master Playlist.”
正式发布的 HLS 规范定义了播放列表结构、标签、分片、变体码流和加密信号。
RFC Editor — RFC 8216“HLS is designed for reliability and dynamically adapts to network conditions.”
Apple 官方概述说明了自适应播放、备用码流、直播与点播传输以及媒体加密。
Apple Developer — HTTP Live Streaming“CORS is an HTTP-header based mechanism.”
通过浏览器解析 URL 时,来源服务器必须返回允许跨域访问的响应头。
MDN Web Docs — CORS常见问题
M3U8 是 HLS 使用的 UTF-8 文本清单,可描述可用码流,也可列出某一路码流的媒体分片。
粘贴公开的 HTTP 或 HTTPS 播放列表 URL,然后点击“解析播放列表”。如果来源服务器阻止浏览器请求,请改为粘贴原始播放列表内容。
主播放列表列出视频版本、备用音轨和字幕;媒体播放列表列出某一路码流实际使用的媒体分片。
不能。此工具只显示播放列表元数据,FlowPick 不会绕过 DRM、付费墙或其他访问控制。
可以,前提是主播放列表为视频版本声明了 RESOLUTION、BANDWIDTH 或 AVERAGE-BANDWIDTH 属性。缺失的信息会显示为不可用。
来源网站可能阻止跨域请求、要求 Cookie、Referer 或登录状态,也可能是 URL 已过期。在您有权访问媒体时,可在原页面使用 FlowPick 扩展。