0.引言
为了更好理解本篇文章,可以先阅读前面几篇文章,文章列表如下:
RTSP协议交互流程之拉流分析
详解RTP打包AAC实战分析(1)
详解RTP协议之H264封包和解包实战
详解RTP协议之H264封包细节(1)
详细解析RTSP框架和数据包分析(1)
手把手搭建RTSP流媒体服务器
RTP协议
HLS实战之Wireshark抓包分析
HTTP实战之Wireshark抓包分析
本篇文章主要是讲解RTSP协议交互流程的推流流程分析,与上篇文章RTSP协议交互流程之拉流分析结合起来进行分析和对比。以下c代表客户端,s代表服务端。
这里继续推荐一篇非常好的RTSP协议的英文文档,如下链接:
https://blog.csdn.net/u012519333/article/details/52746375
如下界面:
![5a1bded06edb44147d5dfb08d7658b24.png](https://img-blog.csdnimg.cn/img_convert/5a1bded06edb44147d5dfb08d7658b24.png)
1.详细推流步骤
整体流程大致如下:
![d7d21cf1ad286095bf4122c74b85cf38.png](https://img-blog.csdnimg.cn/img_convert/d7d21cf1ad286095bf4122c74b85cf38.png)
1.1 查询服务器端可⽤⽅法之OPTIONS
(1)C->S:客户端向服务端发送OPTION request,目的是查询服务端有哪些可用的方法。如下方法:
![8f98c4fa1b9e78e043a1fdd4cbe8baac.png](https://img-blog.csdnimg.cn/img_convert/8f98c4fa1b9e78e043a1fdd4cbe8baac.png)
![71ddbbf374dc0d5c61eabb59d3477f63.png](https://img-blog.csdnimg.cn/img_convert/71ddbbf374dc0d5c61eabb59d3477f63.png)
注意:在拉流时,实时流不一定支持pause方法,需要看看服务器是否支持。
(2)S->C:服务端向客户端回应OPTION response,目的是服务端回应信息的public头字段中,包括提供的所有可用方法,如OPTIONS,DESCRIBE,SETUP等。如下图: