返回博客
流媒体 HLS

什么是 M3U8?如何在浏览器在线播放 HLS 视频

发布: 更新: 阅读时长:约 6 分钟

经常刷视频、看直播的朋友可能遇到过 .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 视频

  1. 获取链接:复制以 .m3u8 结尾的视频地址。
  2. 粘贴播放:打开M3U8 在线播放器,粘贴链接并点击播放。
  3. 体验控制:支持全屏、倍速播放,部分源还可选择清晰度。

四、常见问题(FAQ)

M3U8 链接打不开或黑屏怎么办?

可能是链接失效、有防盗链(Referer 限制)或需特定 UA 才可访问。可尝试更换网络或复制纯净的 m3u8 地址。

可以下载 M3U8 视频吗?

本工具仅提供在线播放,不提供下载。请遵守平台使用条款与版权规定。

RTMP 直播流也能播吗?

RTMP/HTTP-FLV 直播请使用RTMP 视频流播放器,支持自动回退到 HLS。

参考资料

  1. HLS / M3U8 规范 — IETF draft-pantos-hls-rfc8216bis: https://datatracker.ietf.org/doc/html/draft-pantos-hls-rfc8216bis
  2. hls.js 开源播放库: https://hls-js.netlify.app/

相关阅读