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

手撕RTSP协议系列(4)——OPTION

作者头像
视界音你而不同
发布2020-10-30 14:37:07
2.3K0
发布2020-10-30 14:37:07
举报

上一篇,我们介绍了sdp相关信息,接下来开始我们介绍RTSP相关的选项,本篇我们首先来看一下OTPION选项。

OPTION(request)

我们在RTSP消息格式中讲过,rtsp分为request和response两大类消息,OPTION是一个request消息,其格式如下图:

我们来详细说下各个字段:

OPTIONS:标识请求命令的类型;

RTSP URI:请求的服务端的URI,以rtsp://开头的地址,一般为rtsp://ip:554(rtsp默认端口号);

RTSP VER:标识RTSP 版本号,一般常见RTSP/1.0;

CSeq:数据包序列号,由于OPTIONS一般而言为RTSP请求的第一条指令,一般而言,针对OPTIONS,该值为1;

User-Agent:用户代理;

我们来看一个抓包文件:

该抓包文件中,OPTIONS请求的服务器的URI为rtsp://192.17.1.63:554;RTSP的版本号为RTSP/1.0;CSeq为数据包的序列号,由于是第一个请求包,此处为1;User-Agent用户代理的值为Lavf58.42.100。

OPTIONS的功能

OPTIONS一般为RTSP客户端发起的第一条请求指令,该指令的目的是得到服务端提供了哪些方法!

OPTION(response)

回复消息的结构

OPTIONS的回复遵循RTSP response消息的格式,第一行回复RTSP的版本,状态码,状态描述;然后是序列号,与OPTION请求中的序列号相同;之后是Public字段,用于描述服务器当前提供了哪些方法;最后是Date字段,表示日期。

我们来看一个抓包文件:

抓包文件中:

回复的消息中RTSP版本为RTSP/1.0,

状态码为200, 表示正常,

状态描述字符为OK;

CSeq的值为1,与OPTIONS请求中的序列号一致;

Public表示了服务端支持的方法,此处有OPTIONS,DESCRIBE,PLAY,PAUSE,SETUP,TEARDOWN,SET_PARAMERTER,GET_PARAMETER,表示RTSP服务器支持这些方法;

Date表示日期和时间。

OPTION example

最后放一个完整的OPTIONS请求的示例:

请求

代码语言:javascript
复制
OPTIONS rtsp://192.17.1.63:554 RTSP/1.0\r\n
CSeq: 1\r\n
User-Agent: Lavf58.42.100\r\

回复

代码语言:javascript
复制
RTSP/1.0 200 OK\r\n
CSeq: 1\r\n
Public: OPTIONS, DESCRIBE, PLAY, PAUSE, SETUP, TEARDOWN, SET_PARAMETER, GET_PARAMETER\r\n
Date:  Fri, Apr 10 2020 19:07:19 GMT\r\n

好了,关于OPTION请求的介绍和描述就到这里了,下一篇我们介绍RTSP中的DESCRIBE消息,欢迎持续关注哦!

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

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

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

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

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