手撕RTSP协议系列(8)——PAUSE

2020-10-30 14:38:58 浏览数 (1)

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

PAUSE作用

暂停请求会使得流传输暂时中断(相当于暂停),如果请求的URL指向一个流地址,则仅针对该流的回放和录制会被中断!

PAUSE请求格式

PAUSE请求的格式如下:

格式比较简单,一般情况下主要就包含图示中字段!

RTSP URI表示请求的流地址,RTSP Version表示RTSP的版本号;

CSeq表示消息序列号;

Session表示会话ID,SETUP请求时服务端返回的ID。

PAUSE请求示例

由于PAUSE在实际的场景中不是很常见,说声抱歉,抓包就贴不了了!我们来看一个实际的例子吧,就用官方的吧:

代码语言:javascript复制
PAUSE rtsp://example.com/fizzle/foo RTSP/1.0rn
CSeq:834rn
Session:12345678rnrn

PAUSE回复格式

接下来我们看一下PAUSE的回复,基本格式如下:

格式也比较简单,Rtsp Version表示版本号,状态码表示回复的状态,状态描述是对状态码的描述;CSeq表示序列号;Date表示时间!

PAUSE回复示例

让我们再看一个官方的例子吧:

代码语言:javascript复制
RTSP/1.0  200 OKrn
CSeq:834rn
Session:12345678rnrn

上述是PAUSE请求包含的一些基本的字段!PAUSE请求中还可能包含一个Range字段用来指定何时媒体流暂停,一般称其为暂停点。如果请求中包含在该字段,则该字段必须必须包含一个确切的时间而不是一个时间范围!该字段用作暂停的时间参考!

关于PAUSE的介绍就到这里了,相对比较简单,我们下一讲见!

0 人点赞