前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >手撕RTSP协议系列(10)——GET_PARAMETER

手撕RTSP协议系列(10)——GET_PARAMETER

作者头像
视界音你而不同
发布2020-10-30 14:39:50
2.5K0
发布2020-10-30 14:39:50
举报

上一篇我们介绍了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请求

代码语言:javascript
复制
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回复

代码语言:javascript
复制
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消息!

不喜欢看文字的朋友,试个水,贴个文章的音频版,AI合成版,哈哈,效果可能差些,不过能听个大概,欢迎体验!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-10-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 视界音你而不同 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档