HLS
HTTP-FLV
WS-FLV
RTSP/RTMP 诊断

HLS Stream Tester

检测 HLS/m3u8、HTTP-FLV、WS-FLV、MP4、WebM,并解释 RTSP、RTMP、SRT 为什么不能在浏览器直连播放。

流地址

在线可播放示例

使用公网真实媒体流,适合快速验证浏览器播放链路。

本地标准样本

随站点发布的标准样本,用于复现 FLV、TS、fMP4、H.265 等浏览器实验能力。

协议诊断模板

模板用于识别和诊断,需要替换成你的真实服务地址;RTSP/RTMP 不会在浏览器直连播放。

等待播放

诊断

当前浏览器缺少 HLS 所需能力
error

Safari 可原生播放 HLS;其他浏览器通常需要 Media Source Extensions。

换用支持 MSE 的浏览器,或在 Safari/iOS 上测试。

分享链接

分享链接会把流地址放进 URL query,请不要分享含私密 token 的地址。

Embed iframe

基础检测报告

协议知识地图

按浏览器播放、源站接入、WebRTC 体系和基础传输梳理常见流媒体协议。这里重点说明能不能直连、需要什么播放器或服务端能力,以及推荐测试路径。

浏览器播放与实验播放

这些协议或容器可以在浏览器内尝试播放,但通常还要看 MSE、播放器库、MIME type、CORS、编码和 HTTPS 策略。

HLS

可播放
可播放
m3u8
兼容优先

兼容性很稳的网页播放格式之一:Safari 原生,其他浏览器通常用 hls.js + MSE。

推荐路径

适合作为主播放链路,重点检测 playlist、segment、CORS、MIME type 和 codec。

查看详情

HTTP-FLV

可播放
可尝试播放
MSE
低延迟

不是原生 video 格式,但可用 mpegts.js/flv.js/Jessibuca 通过 MSE 播放 H.264/AAC FLV。

推荐路径

用 mpegts.js 作为第一播放引擎,并保留 Jessibuca 对比路线。

查看详情

WebSocket-FLV

可播放
可尝试播放
WebSocket
WSS

通过 WebSocket 推 FLV 数据,前端仍需 MSE 播放器;HTTPS 页面生产环境应使用 WSS。

推荐路径

用于低延迟私有链路,优先确认 WSS、FLV tag 边界和播放器接入约定。

查看详情

HTTP-TS

实验
实验
MPEG-TS
MSE

HTTP 直出 MPEG-TS,不等于 HLS;可用 mpegts.js 实验播放。

推荐路径

生产分发优先包装成 HLS;直出 TS 仅作为实验或内部链路。

查看详情

HTTP-fMP4

实验
实验
CMAF
init segment

fMP4/CMAF 片段需要 init segment、codec string 和正确追加顺序。

推荐路径

生产优先走 HLS/DASH manifest;裸 fMP4 只做明确约定后的实验。

查看详情

WebSocket-TS

实验
实验
WebSocket
TS

通过 WebSocket 传 MPEG-TS,属于播放器与服务端约定,不是通用标准播放 URL。

推荐路径

仅在受控链路中测试;公网优先改成 HLS 或 WebRTC。

查看详情

WebSocket-fMP4

实验
实验
WebSocket
fMP4

通过 WebSocket 推 init segment 和 fMP4 片段,需要明确双方协议约定。

推荐路径

先定义 init、片段边界、codec 和重连语义;否则只做诊断。

查看详情

源站、推流与设备接入

这些通常不是浏览器直连播放格式,适合作为服务端接入源,再转换成 HLS、WebRTC、FLV 或其他网页播放输出。

RTSP

需转换
需转换
摄像头
源站协议

摄像头/NVR 常见源站协议,浏览器不能直连,需要服务端代理或转换。

推荐路径

低延迟转 WebRTC/WHEP;兼容性转 HLS;内网工程预览可转 HTTP-FLV/WS-FLV。

查看详情

RTMP

需转换
需转换
推流
Flash 已结束

现代浏览器不能直接播放 RTMP;它更适合作为推流或源站接入协议。

推荐路径

服务端 ingest RTMP 后,转 HLS、HTTP-FLV 或 WebRTC 输出给网页。

查看详情

SRT

需转换
需转换
可靠传输
回传

可靠传输协议,适合回传/贡献链路;浏览器不能直接播放 srt://。

推荐路径

服务端接入 SRT 后转 WebRTC、HLS 或 FLV。

查看详情

WebRTC 低延迟体系

WebRTC 是浏览器实时音视频能力,STUN/TURN 是连通性辅助服务,不是视频文件或直播 URL。

WebRTC

可播放
可播放
低延迟
需要信令

浏览器原生支持低延迟音视频,但必须有信令、SDP、ICE 和可用编解码协商。

推荐路径

优先用 WHEP 或自定义信令接入,确认 STUN/TURN、CORS、ICE 和 SDP 返回。

查看详情

STUN

辅助
辅助服务
ICE
不承载视频

帮助 WebRTC 发现公网映射地址,不承载音视频媒体。

推荐路径

作为 WebRTC/WHEP ICE 检查项,不要把 STUN 当播放协议。

查看详情

TURN

辅助
辅助服务
中继
带宽成本

WebRTC 直连失败时的媒体中继服务,会消耗服务器带宽。

推荐路径

生产 WebRTC 必须规划 TURN 容量、凭证、区域和端口策略。

查看详情

基础传输

HTTP/HTTPS 只是传输方式,能否播放取决于它承载的具体媒体格式、响应头和浏览器安全策略。

HTTP

辅助
传输层
看容器
看响应头

HTTP/HTTPS 是传输,不代表媒体一定可播;关键是它承载的容器和响应头。

推荐路径

先识别扩展名、Content-Type、Range、CORS,再路由到 HLS/MP4/FLV/TS/fMP4。

查看详情

协议边界

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。