• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

手撕RTSP协议系列(7)——PLAY

互联网 diligentman 2周前 (10-16) 10次浏览


手撕RTSP协议系列(7)——PLAY

点击上方「蓝字」关注我们

手撕RTSP协议系列(7)——PLAY


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








PLAY的作用 





PLAY消息是客户端发送的播放请求,发送播放请求的时候可以指定播放区间!发起播放请求后,如果连接正常,则服务端开始播放,即开始向客户端按照之前在TRASPORT中约定好的方式发送音视频数据包!播放流程便这样开始了!








PLAY的格式 





我们先来看一下PLAY消息中常包含的一些字段:

手撕RTSP协议系列(7)——PLAY

RTSP URI表明请求的RTSP 地址;

RTSP version表明版本号;

CSeq 表示请求的序列号;

User-Agent表示用户代理;

Session 表示会话id,值为SETUP请求之后,服务端返回的session id的值;

Authorizatiuon表示认证信息;

Range是PLAY消息特有的,代表请求播放的时间段,使用ntp时间来表示。

我们来看一个直观的抓包文件:

手撕RTSP协议系列(7)——PLAY

通过抓包文件,我们可以看到,该请求是第6条交互指令,会话id是之前setup请求的回复消息返回的session id,Range的值为”npt=0.0000-“,表示从开始播放,默认一直播放!

同样,客户端发送PLAY请求之后,服务端会回复RTSP消息,常见的回复字段格式如下:

手撕RTSP协议系列(7)——PLAY

Rtsp Version表示RTSP的版本;

状态码表示当前消息的状态,没有异常的情况下一般为200;

状态描述是针对状态码的描述,如200对应的描述为OK;

CSeq表示RTSP包的序号;

Session表示会话ID,SETUP返回时确定的ID;

RTP-Info表示RT;

Date表示日期;

我们来看一个抓包文件

手撕RTSP协议系列(7)——PLAY

CSeq,Session, Date就不多介绍了,主要看下RTP-info:

第一个url表示视频播放的地址,第一个seq表示第一个rtp视频数据包开始的序列号,第一个rtptime表示视频开始播放的时间戳,后面的一组表示音频播放相关的信息,同样也包括url,seq,rtptime!








PLAY 案例





好了,最后放上一个实例:


RTSP PLAY (requst)

PLAY rtsp://192.17.1.63:554/ RTSP/1.0rn
Range: npt=0.000-rn
CSeq: 6rn
User-Agent: Lavf58.42.100rn
Session: 337474243rn
Authorization: Digest username="admin", realm="IP Camera(23306)", nonce="a946c352dd3ad04cf9830d5e72ffb11e", uri="rtsp://192.17.1.63:554/", response="9ea6c2659d3bce8d129ca3549ecc7fbf"rnrn


RTSP PLAY (response)

RTSP/1.0 200 OKrn
CSeq: 6rn
Session: 337474243rn
RTP-Info: url=rtsp://192.17.1.63:554/trackID=1;seq=3658;rtptime=1710363406,url=rtsp://192.17.1.63:554/trackID=2;seq=6598;rtptime=4065225152rn
Date: Fri, Apr 10 2020 19:07:20 GMTrnrn


好了,关于RTSP play的介绍就到这里,我们下一讲见!


手撕RTSP协议系列(7)——PLAY


往期推荐



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

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

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

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

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

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


手撕RTSP协议系列(7)——PLAY


 
手撕RTSP协议系列(7)——PLAY

扫码关注了解更多


手撕RTSP协议系列(7)——PLAY


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


手撕RTSP协议系列(7)——PLAY手撕RTSP协议系列(7)——PLAY手撕RTSP协议系列(7)——PLAY 

手撕RTSP协议系列(7)——PLAY



点点 在看 行不行

手撕RTSP协议系列(7)——PLAY



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


喜欢 (0)