RTSP协议在视频平台中的应用
RTSP(Real Time Streaming Protocol)是一种基于TCP/IP的应用层协议,主要用于控制流媒体数据的传输和播放。它通过定义一系列命令和请求,实现对流媒体服务器的远程控制,但不传输媒体数据本身。媒体数据通过其他协议(如RTP)传输。RTSP协议本身不特别强调时间同步,能够容忍网络延迟,并且支持多方视讯会议和代理服务器的缓存功能12。
RTSP协议的基本概念和特性
RTSP协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。它使用TCP或UDP完成数据传输,语法和操作参考了HTTP/1.1。RTSP的主要特性包括:
- 双向通信:客户机和服务器都可以发出请求。
重新定向功能:可以根据实际负载情况转换提供服务的服务器,以避免过载。
- 兼容性:支持多个版本的RTSP,包括1.0和2.0,其中2.0是2016年发布的最新标准12。
RTSP协议在视频平台中的应用场景
RTSP协议在视频平台中主要用于控制流媒体数据的传输和播放。具体应用场景包括:
- 视频监控:网络摄像头通常支持RTSP协议,用于实时监控视频的传输和控制2。
- 流媒体服务:RTSP负责媒体控制,协商传输方式(TCP或UDP),而媒体数据传输则由RTP协议负责2。
- 多媒体应用:在需要控制多媒体流的应用中,RTSP提供丰富的控制选项,方便用户操作,并且能够穿越NAT和防火墙3。
不同视频平台对RTSP协议的支持情况
虽然具体的支持和实现方式可能因平台而异,但大多数视频平台都支持RTSP协议。例如:
网络摄像头:大多数网络摄像头支持RTSP协议,用于实时监控视频的传输和控制。
流媒体服务器:如FFmpeg、GStreamer等开源项目,提供了对RTSP的支持,用于流媒体服务的控制和传输。
常见厂家RTSP地址格式
海康威视
新格式
基本格式:
rtsp://username:password@<address>:<port>/streaming/channels/<id>
参数说明:
username:用户名;
password:密码;
address:设备的 IP 地址;
port:端口号,默认是554,如果没有修改过端口,可不填写此参数;
id:通道号的表示方式,通道1的主码流为“101”,子码流为“102";通道12的主码流为“1201”,子码流为“1202",以此类推。
举例:
假设用户名是“admin",密码是“123456",设备IP地址为“192.168.1.64";
取主码流:
rtsp://admin:123456@192.168.1.64:554/streaming/channels/101
取子码流:
rtsp://admin:123456@192.168.1.64:554/streaming/channels/102
老格式
基本格式:
rtsp:/username:password@<ipaddress>:<port>/<videotype>/ch<number>/<streamtype>/av_stream
参数说明:
username、password、ipaddress、port 的含义与新格式中的相同;
videotype :视频编码类型,有"h264”、“h265"、“mpeg-4”、“mpeg4"等几种;
number:通道号,起始为1;
streamtype :码流类型,主码流为“main",子码流为“sub"。
举例:
假设用户名是“admin",密码是“12345”,设备IP地址为“192.168.0.1";
主码流取流:
rtsp://admin:12345@192.168.0.1:554/h264/ch1/main/av_stream
子码流取流:
rtsp://admin:12345@192.168.0.1:554/h264/ch1/sub/av_stream
大华
协议地址格式
rtsp://username:password@ip:port/cam/realmonitor?channel=1&subtype=0
协议说明
username: 用户名。例如admin。
password: 密码。例如admin。
ip: 为设备IP。例如 10.7.8.122。
port: 端口号默认为554,若为默认可不填写。
channel: 通道号,起始为1。例如通道2,则为channel=2。
subtype: 码流类型,主码流为0(即subtype=0),辅码流为1(即subtype=1)。
参考链接:https://www.glowjs.com/docs/nodenvr/device-rtsp