手撕RTSP协议系列(2)——Rtsp消息格式

有些话、适合烂在心里 提交于 2021-02-12 03:19:29


点击上方 蓝字 关注我们


上一篇我们简单介绍了rtsp协议,本篇我们来看一下rtsp的消息结构!

RTSP消息分为两大类,一类是请求消息(request),一类是回应消息(ressponse)!


1
请求消息(request)


请求消息的格式如下:

说明:

请求消息由方法+URI+RTSP版本开头,之后跟一条或多条消息!

URI:表示接收方的地址,如rtsp://192.168.1.201:554

CR:表示回车

LF:表示换行

RTSP使用消息类型和消息体来表示不同类型的消息。

最后一条消息要使用两个CR LF。

我们通过wireshark的抓包来实际看一个RTSP的请求消息:

如图中所示,该RTSP请求消息的方法为OPTIONS,请求的目标地址为rtsp://192.17.1.63:554,RTSP的版本为1.0;

接下来包含两种类型的消息,第一种为CSeq表示序列号,本次请求的序列号为1(服务器端回复此请求的数据包的序列号也是1);

第二种为User-Agent,表示用户代理,值为 “Lavf58.42.100”;

由于User-Agent为最后一条消息,其后要跟两组回车和换行!


我们接下来看一下回应消息的格式


2
回应消息(response)


回应消息由RTSP版本+状态码+解释开头,之后跟一条或多条消息!

说明:

状态码:表示状态,同http的返回状态,如200,表示OK

解释:针对状态码的文本解释

同样:最后一条消息也是需要 跟两个回车和换行!

来看抓包文件:

回复消息以Response标识,该消息中RTSP的版本号为1.0;

服务器回复的状态码为401;

针对状态码401的解释为Unauthorized(未授权);

包含两种类型的消息:

一是WWW-Authenticate:告诉请求端授权认证需要的信息;

二是Date:表示当前日期和时间!

好了,这样一来,我们对RTSP消息的结构就有了一个比较全面的了解了!下一篇,我们来讲一讲sdp的详细格式,欢迎持续关注!

 

扫码关注了解更多



交流群已开启,有需要的朋友,公众号后台回复“交流群”,获取入群方式


 




嘿,我知道你 在看 好吗


本文分享自微信公众号 - 视界音你而不同(WorldOfVideoAndAudio)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!