协议边界
HLS 是浏览器网页播放里最通用的分发格式之一。Safari 可以原生播放 m3u8,Chrome、Firefox、Edge 通常依赖 hls.js 和 Media Source Extensions。
播放与检测逻辑
- 浏览器播放能力取决于协议、封装、编码、CORS、MIME type、HTTPS mixed content 和源站鉴权。
- HLS、MP4、HTTP-FLV、WS-FLV、HTTP-TS 和 HTTP-fMP4 可以在满足浏览器能力时尝试播放。
- RTSP、RTMP、SRT 不是 HTML video 可直接播放的协议,需要服务端代理或转换。
常见问题
HLS 在所有浏览器里都原生支持吗?
不是。Safari/iOS 原生支持 HLS,Chrome、Firefox、Edge 通常通过 hls.js 把 HLS segment 喂给 MSE 播放。
m3u8 能打开但视频不播放通常是什么原因?
常见原因是 CORS、MIME type、HTTPS mixed content、segment 404、鉴权过期,或 segment 中的编码不被浏览器支持。
HLS 是否适合摄像头低延迟预览?
普通 HLS 延迟通常高于 WebRTC/FLV。低延迟场景可以评估 LL-HLS、WebRTC/WHEP 或 HTTP-FLV。