拉流与推流的区别_RTSP协议交互流程之推流分析

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

如下界面:

拉流与推流的区别_RTSP协议交互流程之推流分析_第1张图片

1.详细推流步骤

整体流程大致如下:

拉流与推流的区别_RTSP协议交互流程之推流分析_第2张图片

1.1 查询服务器端可⽤⽅法之OPTIONS

(1)C->S:客户端向服务端发送OPTION request,目的是查询服务端有哪些可用的方法。如下方法:

拉流与推流的区别_RTSP协议交互流程之推流分析_第3张图片
拉流与推流的区别_RTSP协议交互流程之推流分析_第4张图片

注意:在拉流时,实时流不一定支持pause方法,需要看看服务器是否支持。

(2)S->C:服务端向客户端回应OPTION response,目的是服务端回应信息的public头字段中,包括提供的所有可用方法,如OPTIONS,DESCRIBE,SETUP等。如下图:

你可能感兴趣的:(拉流与推流的区别)