常见问题
关于 m3u8 播放,最常被问到的 10 个问题
为什么我的地址播不了?
按顺序排查这三件事,90% 的问题就解决了:
- 地址本身能打开吗?用浏览器新标签页直接打开这个 m3u8 地址。打不开的话,播放器自然也播不了。
- 允许跨域吗?浏览器要求流媒体服务器返回 CORS 头,否则会被安全策略拦下。
- 编码格式支持吗?多数浏览器只支持 H.264 编码,H.265/HEVC 基本播不了。
详细排查步骤见使用教程。
什么是跨域(CORS)?为什么会拦我?
当网页(本站)要读取另一个域名下的资源(你的 m3u8)时,浏览器会要求对方服务器明确声明「允许谁来读」,这个声明就是响应头里的 Access-Control-Allow-Origin。如果对方没返回这个头,浏览器会直接拒绝,播放器就报跨域错误。
这不是本站能绕过的限制,需要在流媒体服务器侧配置。如果你控制不了源站,那就换一个允许跨域的地址,或用教程里的方法自己转一份。
支持 H.265 / HEVC 吗?
基本不支持。目前主流浏览器对 HEVC 的硬件/软件解码支持很不统一,Safari 相对好一些,Chrome 在多数环境下无法播放。如果你遇到「黑屏但没报错」,大概率就是编码问题。建议用 H.264 重新转码。
能下载播放的视频吗?
本站只做播放,不提供下载功能。HLS 本身就是切片传输的,理论上可以通过工具抓取分片再合并,但请注意:只有你拥有合法授权的内容才可以这样做。
直播延迟大概多少?
取决于源流的切片时长与你的缓冲设置。传统 HLS 一个分片通常是 6–10 秒,加上缓冲,端到端延迟常见在 10–30 秒;使用 LL-HLS(低延迟 HLS,短分片 + 部分分片加载)可压到 2–5 秒。本站无法改变源流本身的延迟。
能手动切换清晰度吗?
如果源流是多码率的主播放列表(Master Playlist),播放器会按当前网速自动选择。部分版本支持手动切换,具体以播放器的控制条为准。单码率的 m3u8 没有可切换的档位。
手机上看不了 / 自动全屏怎么办?
本站已启用 playsinline,iOS 上应当是行内播放而不是强制全屏。个别浏览器(尤其是一些国产 App 内置WebView)会忽略这个属性。遇到这种情况,建议用系统浏览器打开,或横屏观看。
为什么点了播放没反应?
浏览器的自动播放策略会拦截带声音的自动播放。这是正常行为,不是故障——点一下播放器上的播放按钮即可。如果需要页面一打开就自动播,通常需要给 video 加上 muted 属性静音播放。
?url= 参数怎么用?
在页面地址后拼接 ?url=你的m3u8地址,页面加载时会自动填入并开始播放。典型用法是嵌入到自己的网站:
<iframe src="https://play.digdevbox.com/?url=https%3A%2F%2Fexample.com%2Findex.m3u8"
width="100%" height="480" frameborder="0" allowfullscreen></iframe>
注意地址要做 URL 编码,否则 &、? 等特殊字符会被截断。在线编码工具可以用 Dev 工具箱里的 URL 编解码。
我填的地址会被保存吗?
不会。本站没有后端服务器,播放地址只在你的浏览器里使用,不上传、不记录,关闭页面即消失。详见隐私政策。