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

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

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

 

请求消息(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为最后一条消息,其后要跟两组回车和换行!

 

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

 

回应消息(response)

 

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

说明:

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

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

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

来看抓包文件:

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

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

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

包含两种类型的消息:

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

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

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

 

扫码关注了解更多

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
协议用于C/S模型,是一个基于文本的协议,用于在客户端和服务器端建立和协商实时流会话。   实时流协议RTSP)是应用级协议,控制实时数据的发送。RTSP提供了一个可扩展框架,使实时数据,如音频与视频,的受控、点播成为可能。数据源包括现场数据与存储在剪辑中数据。该协议目的在于控制多个数据发送连接,为选择发送通道,如UDP、组播UDP与TCP,提供途径,并为选择基于RTP上发送机制提供方法。   实时流协议RTSP)建立并控制一个或几个时间同步的连续流媒体。尽管连续媒体流与控制流交换是可能的,通常它本身并不发送连续流。换言之,RTSP充当多媒体服务器的网络远程控制。RTSP连接没有绑定到传输层连接,如TCP。在RTSP连接期间,RTSP用户可打开或关闭多个对服务器的可传输连接以发出RTSP请求。此外,可使用无连接传输协议,如UDP。RTSP流控制的流可能用到RTP,但RTSP操作并不依赖用于携带连续媒体的传输机制。   协议支持的操作如下:   (1)从媒体服务器上检索媒体:用户可通过HTTP或其它方法提交一个演示描述。如演示是组播,演示式就包含用于连续媒体的的组播地址和端口。如演示仅通过单播发送给用户,用户为了安全应提供目的地址。   (2)媒体服务器邀请进入会议:媒体服务器可被邀请参加正进行的会议,或回放媒体,或记录其中一部分,或全部。这种模式在分布式教育应用上很有用,会议中几方可轮流按远程控制按钮。   (3)将媒体加到现成讲座中:如服务器告诉用户可获得附加媒体内容,对现场讲座显得尤其有用。如HTTP/1.1中类似,RTSP请求可由代理、通道与缓存处理

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值