不同浏览器并不走同一条 HLS 路径
Safari 往往更依赖原生 HLS,Chromium 则更常走 hls.js 加 MSE。请求时机、缓冲表现、错误暴露位置都会不一样。
策略条件可能在媒体解码前就分叉
自动播放规则、CORS、证书处理、混合内容限制、嵌入上下文,这些策略差异都可能在真正解码前就把结果拉开。
编码和封装的容忍度也会不同
有些流只是勉强能用。一个浏览器可能更能忍脏时间戳、边界不齐的分片或编码细节,另一个浏览器则会更早把问题暴露出来。
把浏览器分裂当证据,不要当情绪
真正有价值的是看差异发生在哪一层:Manifest 抓不到、子资源被挡、自动播放被拒,还是后面的媒体解码失败。
两边必须按同一套顺序测试
用同一条 URL、同一套顺序、同一类上下文去比对两个浏览器:Manifest、子资源、播放挂载、最终媒体表现。
m3u8play.net 在这里的价值
本站可以作为统一的测试面板。如果两个浏览器都能识别同一个 Manifest,但只在后面的播放层分叉,那问题通常不在顶层 URL,而在播放栈、策略或媒体行为本身。