m3u8 在线播放检测

粘贴视频流地址(.m3u8 / .mpd / MP4),即可在浏览器中测试能否播放。播放失败时会诊断跨域(CORS)、HTTP 状态码、加密等原因,并显示 m3u8 播放列表的内容和每个分片的加载速度。

✨ 操作步骤

  • 在“视频流地址”中粘贴 .m3u8 / .mpd / MP4 地址,点击“检测”(按回车键也可以)。
  • 切换播放器下方的标签页,可以随时查看诊断、播放列表、统计和日志。
  • 清晰度、音轨、字幕和倍速可以在播放器下方的菜单中手动切换。直播时点击“回到直播最新”可以跳回最新位置。
  • 在“分享·嵌入”标签页可以生成短链接、iframe 代码和命令行。之前检测过的地址可以在“历史”标签页中重新检测。

🪄 支持的格式和各标签页说明

支持的格式

HLS(.m3u8)用 hls.js 播放,DASH(.mpd)用 dash.js 播放,MP4/WebM 直链用 video 元素播放。在 Safari 等不支持 MSE 的环境中会自动改用原生 HLS。

诊断标签页

从混合内容到编码支持,共 10 项,分别标为正常 / 注意 / 异常,异常项会写明原因和处理方法。“复制诊断报告”可以生成附带环境信息的文本。

播放列表 · 统计标签页

显示码流列表、直播/点播判断、加密情况和播放列表原文,还有每个分片的下载用时和吞吐量,可以用来判断卡顿是网络问题还是服务器问题。

URL 参数

像 ?url=视频流地址&autoplay=1&muted=1&t=30&ui=embed 这样加上参数,打开页面时就是相同状态。完整参数表在“分享·嵌入”标签页中。

🔒 数据处理 · 联系我们

视频流由你的浏览器直接访问,不经过本站服务器。历史记录只保存在当前浏览器(localStorage)中。只有在生成短链接时,该链接才会登记到 share.omikuji.dev。发现问题可以通过页面底部的联系表单告诉我们。

❓ 遇到问题时

无法播放,播放器一直是黑屏

先看诊断标签页中的“获取播放列表”和“CORS”两项。如果 CORS 异常,需要视频源服务器返回 Access-Control-Allow-Origin。日志标签页会带时间记录 hls.js 的错误类型(networkError、mediaError 等)。

没有声音,或者不自动播放

由于浏览器限制有声自动播放,默认会以静音开始播放。想听到声音,请取消选项中的“静音”,再点击播放器的播放按钮。

加密一栏显示 AES-128 或 DRM

AES-128 加密的视频流,只要浏览器也能访问密钥地址(EXT-X-KEY 的 URI)就能播放。SAMPLE-AES 或 Widevine 等 DRM 需要获取许可证,在本工具中可能无法播放。

截图无法保存

视频源不允许跨域时,canvas 会被“污染”,无法导出为图片。只要视频源返回 Access-Control-Allow-Origin,就可以正常截图。

  1. 1

    粘贴视频流地址

    把要测试的 .m3u8 / .mpd / MP4 地址粘贴到输入框。

  2. 2

    点击“检测”

    播放器尝试播放的同时,工具会诊断 CORS、HTTP 状态码和播放列表内容。

  3. 3

    分享结果

    在“分享·嵌入”标签页可以生成短链接、iframe 代码和命令行。把链接发给别人,对方打开就是同样的状态。

选项
输入地址后点击“检测”,就会在这里播放。
待机

能否播放的诊断

检测地址后,诊断结果会显示在这里。

    播放列表解析

    检测地址后,会显示 m3u8 播放列表的内容。

    播放统计

    开始播放后会显示统计数据。

    分片加载(最近 20 个)

    还没有加载分片。

    事件日志

    • 暂无事件。

    分享当前状态

    这个链接可以原样复现当前输入的地址和选项。短链接由 share.omikuji.dev 生成。

    iframe 嵌入代码

    以只显示播放器的模式(ui=embed)嵌入。

    用命令行检查

    浏览器无法播放时,也可以用本机命令进一步排查。

      URL 参数

      在网址后面加上参数,打开页面时就会按相同设置开始播放。可用于监控书签或操作手册中的链接。

      参数 值 说明
      url https://…/x.m3u8 要检测的视频流地址(也可用 src)
      autoplay 1 / 0 自动播放(默认:1)
      muted 1 / 0 静音播放(默认:1)
      loop 1 / 0 循环播放
      t 30 起始位置(秒,仅点播)
      ui full / embed embed 时只显示播放器
      hud 1 / 0 显示统计浮层
      lowlatency 1 / 0 LL-HLS 低延迟模式(默认:1)
      tab diag / manifest / … 默认打开的标签页(diag/manifest/stats/log/share/history)

      检测历史

        历史记录只保存在当前浏览器中。

        功能特点

        • 粘贴地址即可在浏览器中在线播放 m3u8(HLS)、mpd(DASH)和 MP4 直链,测试能否正常播放。
        • 播放失败时诊断原因:跨域(CORS)、HTTP 状态码、混合内容、加密和编码支持。
        • 显示主播放列表的多码率列表、分片加载速度、直播延迟和缓冲量。
        • 可以用 URL 参数(?url=...)分享当前状态,还能生成 iframe 嵌入代码和 ffplay 命令。免费使用,无需注册。

        适用场景

        测试直播/点播地址能否播放

        修改编码器、CDN 或推流设置后,用和观众相同的浏览器环境马上确认能否播放。

        排查“播放不了”的原因

        是没配跨域、404、链接过期还是 DRM?复制诊断报告,直接发给 CDN 或云服务商。使用阿里云 OSS、腾讯云 COS 等对象存储时,通常需要在控制台配置跨域(CORS)规则。

        检查清晰度和码率配置

        在主播放列表的码流列表中,确认分辨率、码率和编码是否和预期一致。

        用于操作手册或监控链接

        把带 ?url= 的链接加入书签,打开就能对同一个视频流做播放检查。

        隐私说明

        你输入的视频流地址只会由你的浏览器直接访问视频源,不会发送到本站服务器,也不会被保存。历史记录也只保存在浏览器(localStorage)中。只有在点击生成短链接时,该链接才会登记到 share.omikuji.dev。

        常见问题

        为什么 m3u8 播放不了?

        最常见的原因是视频源没有配置跨域(CORS)。在其他网站的页面中播放,需要服务器返回 Access-Control-Allow-Origin。其他原因还有 404/403(包括防盗链或带时效的链接已过期)、在 https 页面中加载 http 视频流的混合内容,以及带 DRM 的视频流。诊断标签页会显示原因和处理方法。

        我输入的地址会发送到你们的服务器吗?

        不会。视频流由你的浏览器直接访问,不经过本站服务器。只有点击生成短链接时,该链接才会登记到 share.omikuji.dev。

        能通过 URL 参数自动播放吗?

        可以。在页面网址后加上 ?url=视频流地址 打开,就会自动开始检测和播放。还支持 autoplay、muted、loop、t(起始秒数)和 ui=embed 等参数,也方便用 iframe 嵌入。

        支持 DASH 和普通 MP4 吗?

        支持。.mpd 用 dash.js 播放,.mp4/.webm 等直链直接用 video 元素播放。HLS 使用 hls.js,在 Safari 中会改用原生播放。