RTSP 协议是什么
RTSP 全称为 Real Time Streaming Protocol(实时流传输协议)。IP 摄像机、录像机和媒体服务器使用它来控制视频流。
RTSP 让客户端能够找到所需的流、协商数据传输方式、开始观看,并在结束时干净地关闭会话。
检测 RTSP 地址
通俗理解 RTSP
可以把 RTSP 比作视频流的遥控器。它传递各种指令:请求视频信息、准备连接、开始播放、暂停或停止。
RTSP 本身并不是一种压缩画面的方式。视频通常由摄像机以 H.264 或 H.265 编码,媒体数据包则通常由 RTP 协议承载。
RTSP — 负责控制会话
RTP — 负责承载媒体数据包
RTSP 的应用场景
只要需要从特定来源获取实时视频流,就常会用到这一协议:
- IP 摄像机来自局域网或互联网的实时视频
- 录像机各个 NVR、DVR 通道的视频流
- 监控系统将摄像机接入 VMS 及观看软件
- 媒体服务器接收、处理并重新发布视频
大多数专业级 IP 摄像机都支持 RTSP,但部分消费级云摄像机可能默认缺失或关闭该协议。
连接是如何建立的
建立连接时,客户端与摄像机会依次经历以下几个步骤:
- 建立连接。客户端连接到摄像机的 RTSP 地址,通常使用 TCP 554 端口。
- DESCRIBE。客户端请求获取流的描述信息:可用的音视频、编码格式及各项参数。
- SETUP。双方协商传输方式——例如通过 UDP 承载 RTP,或将 RTP 嵌入基于 TCP 的 RTSP 连接中。
- PLAY。客户端请求开始媒体流的传输。
- TEARDOWN。观看结束后,客户端关闭会话并释放相应资源。
摄像机也可能要求身份验证,此时客户端需按设备支持的方式发送用户名和密码。
RTSP 地址由哪些部分组成
典型的地址格式如下:
- rtsp:// — 所使用的协议;
- login:password — 摄像机用户的登录凭据;
- ip-address — 设备的局域网或公网地址;
- port — RTSP 端口,通常为 554;
- stream-path — 通道及所选视频流的路径。
路径格式取决于厂商、型号和固件版本。常见品牌的示例可参见指南《在哪里找到摄像机的 RTSP 地址》。
主码流与子码流
一台摄像机可以提供视角相同、但参数不同的多路视频流:
- 主码流 — 分辨率和码率更高,适合用于录像存档和查看细节。
- 子码流 — 分辨率和码率较低,占用带宽更少,通常更适合用于在线直播。
每路视频流可以有各自的 RTSP 路径,例如地址结尾或配置编号会决定摄像机返回哪一路视频流。
基于 TCP 与 UDP 的 RTSP
在执行 SETUP 命令之后,媒体数据可以通过不同方式传输。
基于 UDP 的 RTP
UDP 具有较低的延迟,但可能会丢失个别数据包。传输过程中可能会用到额外的动态端口,这会增加穿越 NAT 和防火墙的难度。
基于 TCP 的 RTP
媒体数据包在已建立的 TCP 连接内传输。这种方式更容易穿过路由器和防火墙,丢失的数据会被重新发送,但在网络状况较差时延迟可能增大。
基于 TCP 的 RTSP 常用于通过互联网远程连接摄像机。
554 端口与互联网访问
RTSP 的标准端口是 554,不过可以在摄像机设置中修改。在局域网内,客户端可以直接访问设备的 IP 地址。
若要让网络外部的服务器直接连接摄像机,通常需要公网 IP 或 DDNS,并将某个外部 TCP 端口映射到摄像机的 RTSP 端口。
常见路由器的分步示例可参见页面《如何设置端口映射》。
在 CGNAT 环境下,无法建立直接的入站连接。此时可以使用 MyVMS Bridge,或无固定 IP 时的 RTMP 推流方案。
为什么浏览器无法打开 RTSP
现代浏览器通常没有内置的 RTSP 支持,无法像播放普通网页视频一样播放 rtsp:// 格式的地址。
rtsp.me 会连接摄像机的 RTSP 视频流并进行处理,再以浏览器兼容的格式提供网页播放器。
现成的播放器既可以通过链接打开,也可以嵌入到网站中,而无需公开摄像机原始地址及登录凭据。
RTSP、ONVIF、RTMP 与 HLS
这些技术解决的问题各不相同,可以配合使用:
- RTSP控制与摄像机实时媒体流的连接
- ONVIF发现、配置兼容设备并获取其配置文件
- RTMP Push摄像机主动向服务器发布视频流
- HLS通过普通网页浏览器向观众提供处理好的视频
ONVIF 可以帮助你获取 RTSP 地址。当摄像机主动发送视频流时会用到 RTMP Push。HLS 及其他网页格式则用于观看端。
编码格式与摄像机参数
RTSP 连接可以承载多种编码格式的视频。标准接入建议使用 H.264;rtsp.me 也支持 H.265,作为一项付费功能提供。
为获得稳定的直播效果,建议帧率设为 25 FPS、GOP 设为 50 帧(即每 2 秒一个 I 帧),并关闭 Smart Codec。详细说明请参见页面《推荐的 IP 摄像机设置》。
RTSP 的安全性
RTSP 地址中通常包含摄像机的地址及访问凭据,因此应像对待密码一样谨慎处理。
- 为摄像机单独创建一个权限最小化的用户;
- 使用强度足够且唯一的密码;
- 不要将原始 RTSP 地址发布到网站或公开聊天中;
- 及时更新摄像机和路由器的固件;
- 不要开启 DMZ,也不要开放不必要的端口;
- 尽可能限制对设备的网络访问。
什么是 RTSPS
RTSPS 是基于安全 TLS 连接的 RTSP。它的作用类似于网站中的 HTTPS:身份验证指令、流描述信息以及会话控制都在加密通道内传输。
安全流的地址以 rtsps:// 开头:
rtsp.me 支持通过 RTSPS 接入 IP 摄像机和媒体服务器。在源设置中,请填写完整的 rtsps:// 地址以及设备上配置的端口。
RTSPS 保护的是什么
RTSPS 使用 TLS 对 RTSP 连接进行加密。如果 RTP 媒体数据包以交错 TCP 模式在同一连接内传输,它们同样会经过这条安全通道。
如果摄像机以独立的 UDP 流方式发送 RTP,仅靠 RTSPS 不足以加密这些媒体数据包,还需要摄像机支持 SRTP 或其他安全机制。
连接前需要检查的事项
- 摄像机或服务器确实支持 RTSPS,而不仅仅是普通 RTSP;
- 设备设置中已启用安全流;
- 地址中填写的是正确的 RTSPS 端口——它可能与标准 RTSP 端口 554 不同;
- 设备的 TLS 版本和证书与本次连接兼容;
- 选择了交错 TCP 或其他受支持的安全传输方式,以全面保护媒体数据。
如何接入摄像机
- 确认摄像机支持 RTSP 或 RTSPS。
- 找到与您的型号及视频流对应的正确 RTSP 或 RTSPS 地址。
- 设置好网络访问,或选择其他接入方式。
- 在 rtsp.me 首页检测完整的 RTSP 地址。
- 检测成功后,即可获取用于网站的视频流及播放器代码。
完整流程详见指南《如何在网站上创建实时直播》。