经常刷视频、看直播的朋友可能遇到过 .m3u8 链接。它到底是什么?为什么视频不能像普通文件一样直接下载?本文将拆解 M3U8 与 HLS 协议的原理,并演示如何用浏览器直接在线播放。
一、什么是 M3U8 和 HLS?
HLS(HTTP Live Streaming) 是 Apple 在 2009 年提出的流媒体协议,把视频切成若干 TS 分片,再通过一个播放列表文件统一索引。这个播放列表就是 M3U8 文件。
- M3U8:纯文本播放列表,记录了视频分片的 URL、时长与编码信息。
- 优点:自适应码率、天然适合直播与点播、基于普通 HTTP 分发、可跨 CDN 加速。
- 常见来源:B 站、爱奇艺、优酷等平台的 HLS 流、直播推流、海外平台视频。
二、为什么浏览器不能直接打开?
浏览器原生 <video> 标签对 HLS 的支持有限:Safari 原生支持,而 Chrome、Firefox、Edge 需要借助 hls.js 等 JavaScript 库将 HLS 转译为 MSE(Media Source Extensions)可识别的格式。这正是「M3U8 在线播放器」存在的意义。
三、3 步在线播放 M3U8 视频
- 获取链接:复制以
.m3u8结尾的视频地址。 - 粘贴播放:打开M3U8 在线播放器,粘贴链接并点击播放。
- 体验控制:支持全屏、倍速播放,部分源还可选择清晰度。
四、常见问题(FAQ)
M3U8 链接打不开或黑屏怎么办?
可能是链接失效、有防盗链(Referer 限制)或需特定 UA 才可访问。可尝试更换网络或复制纯净的 m3u8 地址。
可以下载 M3U8 视频吗?
本工具仅提供在线播放,不提供下载。请遵守平台使用条款与版权规定。
RTMP 直播流也能播吗?
RTMP/HTTP-FLV 直播请使用RTMP 视频流播放器,支持自动回退到 HLS。
参考资料
- HLS / M3U8 规范 — IETF draft-pantos-hls-rfc8216bis: https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis
- hls.js 开源播放库: https://hls-js.netlify.app/