RTSP信令交互
RTSP协议即实时流协议(Real TIme Streaming Protocol,RTSP)是一种网络应用协议,用以控制流媒体服务器信息交互。大多数RTSP服务器使用实时传输协议(RTP)和实时传输控制协议(RTCP)结合媒体流传输。即客户端和服务器先进行RTSP交互,获取服务端可用命令,以及媒体参数;之后传输数据的时候传输的是RTP封装的数据包;
简单的交互流程图:以RTSP over tcp为例,当然RTSP数据传输也可以使用UDP
1 客户端和服务器进行RTSP交互过程中,我们通过TCP进行协议交互;首先就是TCP3次握手
2 RTSP交互,首先是客户端发送options命令给服务端,用来查询服务端支持的命令种类【设备是海康的】
请求的具体内容:
设备回复可用的方法:
3客户端向服务端发送describe命令,获取SDP信息
客户端发送describe请求:
设备回复:(该设备是海康的存储设备)
这里注意,客户端与某些设备【服务端】交互的时候,第一次发送describe,设备会回复401,此时客户端需要携带服务端上次回复的认证信息,再次发送describe;
设备回复SDP信息(下次客户端发送setup请求的URL就是media attribute里的control-URL):
4 客户端向服务端发起SETUP命令,建立会话链接:
客户端发送的请求:(有音视频两个track的话,setup请求两次)
设备端的回复:
5 客户端向服务端发起播放请求
客户端发送play请求:
设备返回OK:
播放过程中你还可以发送其他请求,这里不再做其他操作;播放过程的数据交互
6 结束会话
客户端向服务端发送结束会话请求:
客户端向服务端发送RTCP控制协议goodbye:
设备(服务端)应答:
结束TCP会话:强制关闭TCP链接(没有用四次挥手)使用 RST ACK;
标签:请求,RTSP,发送,wireshark,交互,服务端,客户端 From: https://www.cnblogs.com/8335IT/p/17444285.html