wireshark解析RTSP交互

发布时间 2023-05-30 20:15:02作者: 邗影

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;