协议边界
RTSP 负责控制媒体会话,实际媒体通常通过 RTP 传输。浏览器的 HTMLMediaElement 不提供 RTSP/RTP 播放入口,所以不能像 m3u8 或 mp4 一样直接填进 video 标签。
播放与检测逻辑
- RTSP 直连失败不是播放器按钮问题,而是浏览器平台能力边界。
- 服务端代理需要负责连接摄像头、处理 RTP、必要时转封装或转码,再输出浏览器协议。
- 只改前端无法把 RTSP 变成浏览器直连播放,除非引入专用后端、WASM 解码或 WebRTC 网关。
常见问题
为什么浏览器不内置 RTSP?
Web 平台主要围绕 HTTP、MSE、WebRTC 和标准媒体容器设计,RTSP/RTP 涉及会话控制、UDP/TCP 传输和防火墙穿透,不是 HTML video 的通用能力。
能不能用 JavaScript 直接拉 RTSP?
普通浏览器 JavaScript 不能直接打开 RTSP socket。可以用服务端代理、WebRTC 网关,或更重的 WASM/WebCodecs 方案处理部分场景。
RTSP 转 HLS 会有延迟吗?
会。普通 HLS 延迟通常比 WebRTC 高。如果监控实时性重要,应优先评估 WebRTC/WHEP。