RTSP消息交互过程

c表示客户端,s表示RTSP服务器端

第一步:查询服务器可用方法

1 c---s :OPTION request //查询s有哪些方法可用

  s---c:OPTION response //s回应信息的public头字段中提供的所有可用方法

第二步:得到媒体描述信息

 2 c--s:describe   request    //要求得到s提供的媒体描述信息

  s---c:describe response   //s回应媒体描述信息,一般是sdp信息。

第三步:建立RTSP会话

3  c---s:setup request   //通过transport头字段列出可接受的传输选项,建立s建立会话

   s---c:setup response //s建立会话,通过transport头字段返回选择的具体传输选项,并返回建立

第四步:请求开始传输数据

4.C->S:PLAY request        //C请求S开始发送数据

4.S->C:PLAY response            //S回应该请求的信息

第五步: 数据传送播放中

S->C:发送流媒体数据    // 通过RTP协议传送数据

第六步:关闭会话,退出

6.C->S:TEARDOWN request      //C请求关闭会话

6.S->C:TEARDOWN response //S回应该请求

上述的过程只是标准的、友好的rtsp流程,但实际的需求中并不一定按此过程。

其中第三和第四步是必需的!第一步,只要服务器客户端约定好,有哪些方法可用,则option请求可以不要。第二步,如果我们有其他途径得到媒体初始化描述信息(比如http请求等等),则我们也不需要通过rtsp中的describe请求来完成

原文地址:https://www.cnblogs.com/hun2014/p/5714813.html