vlc源码分析之RTSP会话流程

在调试vlc-android时,熟悉了RTSP的会话流程。C表示RTSP客户端,S表示RTSP服务端:

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

 1.C->S:OPTIONrequest       //询问S有哪些方法可用

1.S->C:OPTIONresponse    //S回应信息的public头字段中包括提供的所有可用方法

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

2.C->S:DESCRIBE request      //要求得到S提供的媒体描述信息

2.S->C:DESCRIBE response    //S回应媒体描述信息,一般是sdp信息

  • 第三步:建立RTSP会话

3.C->S:SETUPrequest            //通过Transport头字段列出可接受的传输选项,请求S建立会话

3.S->C:SETUPresponse          //S建立会话,通过Transport头字段返回选择的具体转输选项,并返回建立的Session ID;

  • 第四步:请求开始传送数据

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

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

  •  第五步: 数据传送播放中

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

  • 第六步:关闭会话,退出

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

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

 

vlc源码分析之RTSP会话流程