上一篇我们介绍了RTSP的TEARDOWN指令,用于结束一个RTSP的会话!本篇我们来介绍RTSP GET_PARAMETER!
GET Parameter作用
GetParameret用作向服务器获取参数,一般用于获取时间范围。当发送的请求中没有相关请求参数时,则用作保持RTSP连接!
GET Parameter格式
GET PARAMETER指令的格式如下:
RTSP URI表示请求的rtsp地址,RTSP version表示版本号;
CSeq表示消息序列号;
Authorization表示认证信息;
User-Agent表示用户代理;
Session表示会话ID,SETUP请求时server发回的SESSION id。
我们来看一下抓包文件:
从抓包文件中看并没有任何参数的信息,所以我们认为这是一个空的 RTSP请求,其作用是保持RTSP连接,类似于ping的作用,类似于RTMP协议中的ping request消息。如果有实际的参数请求,则在增加请求的参数对应的字段就可以了!
请求发出去以后,接下来我们来看一下对于该消息的回复,格式如下:
RTSP Version表示RTSP的版本号;
状态码表示服务器返回的状态,正常为200;
状态描述为对状态码的描述,如对200状态码的描述为OK;
Date为消息发送的日期。
我们来看一下抓包文件:
由于GET_PARAMETER的请求为“空”,所以回复的消息中也没有参数相关的字段。如果GET_PARAMTER请求中有请求不同类型的参数,则回复消息的时候需要将对应的该参数的相关信息返回!
GET Parameter示例
老规矩,最后,我们来放一个完整的GETPARAMETER的请求和回复的例子:
GET_PARAMETER请求
GET_PARAMETER rtsp://192.17.1.73:554/Streaming/Channels/101/?transportmode=unicast&profile=Profile_1 RTSP/1.0\r\n
CSeq: 7\r\n
Authorization: Digest username="admin", realm="bcad28138995", nonce="a1a5b9d3865180dccbaffb1cb2eb2a27", uri="rtsp://192.17.1.73:554/Streaming/Channels/101/", response="4764a1f2772821f5528ebbb2ad18c3f9"\r\n
User-Agent: LibVLC/3.0.11 (LIVE555 Streaming Media v2016.11.28)\r\n
Session: 1659421772\r\n\r\n
GET_PARAMETER回复
RTSP/1.0 200 OK\r\n
CSeq: 7\r\n
Date: Thu, Aug 27 2020 18:29:00 GMT\r\n
好了,关于GET_PARAMETER消息的了解我们就到这里了,下一篇我们再看一下与GET_PARAMETER对应的消息SET_PARAMETER消息!
往期推荐
扫码关注了解更多,还有交流群哦