简单的RTSP消息交互过程服务器
C表示RTSP客户端,S表示RTSP服务端io
1. 第一步:查询服务器端可用方法服务器端
1.C->S:OPTION request //询问S有哪些方法可用request
1.S->C:OPTION response //S回应信息的public头字段中包括提供的全部可用方法请求
2. 第二步:获得媒体描述信息方法
2.C->S:DESCRIBE request //要求获得S提供的媒体描述信息数据
2.S->C:DESCRIBE response //S回应媒体描述信息,通常是sdp信息客户端
3. 第三步:创建RTSP会话协议
3.C->S:SETUP request //经过Transport头字段列出可接受的传输选项,请求S创建会话查询
3.S->C:SETUP response //S创建会话,经过Transport头字段返回选择的具体转输选项,并返回创建的Session ID;
4. 第四步:请求开始传送数据
4.C->S:PLAY request //C请求S开始发送数据
4.S->C:PLAY response //S回应该请求的信息
5. 第五步: 数据传送播放中
S->C:发送流媒体数据 // 经过RTP协议传送数据
6. 第六步:关闭会话,退出
6.C->S:TEARDOWN request //C请求关闭会话
6.S->C:TEARDOWN response //S回应该请求
上述的过程只是标准的、友好的rtsp流程,但实际的需求中并不必定按此过程。
其中第三和第四步是必需的!第一步,只要服务器客户端约定好,有哪些方法可用,则option请求能够不要。第二步,若是咱们有其余途径获得媒体初始化描述信息(好比http请求等等),则咱们也不须要经过rtsp中的describe请求来完成。