专栏首页用户1692782的专栏手撕RTSP协议系列(2)——Rtsp消息格式

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

上一篇我们简单介绍了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:表示当前日期和时间!

本文分享自微信公众号 - 视界音你而不同(WorldOfVideoAndAudio),作者:马龙飞

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-09-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 手撕RTSP协议系列(6)——SETUP

    SETUP请求的作用是指明媒体流该以什么方式传输;每个流PLAY之前必须执行SETUP操作;发送SETUP请求时,客户端会指定两个端口,一个端口用于接收RTP数...

    视界音你而不同
  • 手撕RTSP协议系列(1)——Rtsp基本流程

    哈喽,久违的小伙伴们!之前开了一个专辑手撕了rtmp协议!对于流媒体协议,rtsp协议也是很常见的,接下来我们继续手撕,手撕rtsp协议!本篇我们首先来简单了解...

    视界音你而不同
  • 手撕RTSP协议系列(12)——RTP包格式

    前面我们花了较多的篇幅来介绍了RTSP协议的一些细节,但是rtsp传输,本质上涉及三种协议,RTSP、RTP以及RTCP。RTSP主要负责连接建立,销毁及一些其...

    视界音你而不同
  • 手撕RTSP协议系列(3)——sdp格式详解

    上一篇我们介绍了RTSP数据包的格式,在整个rtsp的交互过程,sdp也是很重要不可获取的一环,本篇我们来详细介绍一下sdp的格式!

    视界音你而不同
  • 手撕RTSP协议系列(13)——RTCP协议

    之前的文章,介绍了RTSP和RTP协议,RTSP用于建立连接及发送请求等,RTP用于实际的媒体数据传输。整个RTSP的流程中,还有一种不可或缺的协议, 那就是R...

    视界音你而不同
  • 手撕RTSP协议系列(7)——PLAY

    上一篇我们熟悉了RTSP_SETUP消息,SETUP可以说是PLAY的准备流程,只有SETUP请求被成功回复之后,客户端才可以发起PLAY请求。本篇我们就来看一...

    视界音你而不同
  • 手撕RTSP协议系列(8)——PAUSE

    上一篇我们讲解了RTSP PLAY消息,PLAY请求成功之后,RTSP server就会一直向客户端发送RTP数据包!开始“播放”之后,我们相应的就会有暂停,停...

    视界音你而不同
  • 手撕RTSP协议系列(9)——TEARDOWN

    上一篇我们讲了RTSP PAUSE消息,本篇我们来看下RTSP TEARDOWN消息!

    视界音你而不同
  • 手撕RTSP协议系列(10)——GET_PARAMETER

    上一篇我们介绍了RTSP的TEARDOWN指令,用于结束一个RTSP的会话!本篇我们来介绍RTSP GET_PARAMETER!

    视界音你而不同

扫码关注云+社区

领取腾讯云代金券