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

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

作者头像
视界音你而不同
发布2020-10-30 14:38:04
2.9K0
发布2020-10-30 14:38:04
举报

上一讲我们讲了RTSP的DESCRIBE指令,本篇接着来看下一条:SETUP。

SETUP 作用

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

SETUP格式

我们来看SETUP请求的数据格式:

SETUP表明消息类型;

URI表示请求的RTSP服务器的地址;

RTSP_VER表明RTSP的版本;

TRANSPORT表明媒体流的传输方式,具体包括传输协议如RTP/UDP;指出是单播,组播还是广播;声明两个端口,一个奇数,用于接收RTCP数据,一个偶数,用于接收RTP数据;

CSeq数据包请求序列号;

User-Agent指明用户代理;

Session标识会话ID;

Authorization标识认证信息;

我们来看一个抓包文件:

该SETUP请求中,Transport字段声明了两个端口,26968和26969,同时指明了通过UDP发送RTP数据,26968端口用来接收RTP数据,26969端口用来接收RTCP数据,unicast表示传输方式为单播!

请求之后,如果没有异常情况,RTSP服务器的回复比较简单,回复200 OK消息,同时在Transport字段中增加sever_port,指明对等的服务端RTP和RTCP传输的端口,增加ssrc字段,增加mode字段,同时返回一个session id,用于标识本次会话连接,之后客户端发起PLAY请求的时候需要使用该字段,回复消息大概结构如下图:

我们来看一个抓包文件:

通过该抓包文件,我们可以看出,服务端对应SETUP请求的RTP和RTCP的传输端口分别为8284和8285;ssrc的值为4a7fb757;mode="play"表示当前rtsp连接是播放模式!

SETUP 案例

好了,关于SETUP的介绍,本篇就到这里,老规矩,放一个实际的案例:

request

SETUP rtsp://192.17.1.63:554/trackID=1 RTSP/1.0
Transport: RTP/AVP/UDP;unicast;client_port=26968-26969
CSeq: 4
User-Agent: Lavf58.42.100
Authorization: Digest username="admin", realm="IP Camera(23306)", nonce="a946c352dd3ad04cf9830d5e72ffb11e", uri="rtsp://192.17.1.63:554/trackID=1", response="e29ca030062df6022faa77fefde40b28"

Response

RTSP/1.0 200 OK
CSeq: 4
Session: 337474243;timeout=60
Transport: RTP/AVP/UDP;unicast;client_port=26968-26969;server_port=8284-8285;ssrc=4a7fb757;mode="play"
Date: Fri, Apr 10 2020 19:07:19 GMT

好了,RTSP的SETUP消息我们也介绍完了,本篇以后,我们对SETUP的认识就又上一个新的台阶了!本篇就到这里了,下一篇我们继续,开始PLAY,欢迎持续关注!

往期推荐

手撕RTSP协议系列(1)——Rtsp基本流程

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

手撕RTSP协议系列(3)——sdp格式详解

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

手撕RTSP协议系列(5)——DESCRIBE

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

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

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

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

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