资源描述:
《rtsp实时流媒体协议简单交互过程》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、RTSP简介(ZT)RealTimeStreamingProtocol或者RTSP(实时流媒体协议),是由Realnetwork和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。RTSP提供一种可扩展的框架,使能够提供能控制的,按需传输实时数据,比如音频和视频文件。源数据可以包括现场数据的反馈和存贮的文件。rtsp对流媒体提供了诸如暂停,快进等控制,而它本身并不传输数据,rtsp作用相当于流媒体服务器的远程控制。传输数据可以通过传输层的tcp,udp协议,rtsp也提供了基于rtp传输机制的一些有
2、效的方法。RTSP消息格式: RTSP的消息有两大类,一是请求消息(request),一是回应消息(response),两种消息的格式不同.请求消息: 方法URIRTSP版本 CRLF 消息头CRLF CRLF 消息体CRLF其中方法包括OPTION回应中所有的命令,URI是接受方的地址,例如:rtsp://192.168.20.136 RTSP版本一般都是RTSP/1.0.每行后面的CRLF表示回车换行,需要接受端有相应的解析,最后一个消息
3、头需要有两个CRLF回应消息: RTSP版本状态码解释 CRLF 消息头CRLF CRLF 消息体CRLF其中RTSP版本一般都是RTSP/1.0,状态码是一个数值,200表示成功,解释是与状态码对应的文本解释.简单的rtsp交互过程: C表示rtsp客户端,S表示rtsp服务端1.C->S:OPTIONrequest //询问S有哪些方法可用1.S->C:OPTIONresponse //S回应信息中包括提供的所有可用方法 2.C->S:DESC
4、RIBErequest //要求得到S提供的媒体初始化描述信息2.S->C:DESCRIBEresponse //S回应媒体初始化描述信息,主要是sdp 3.C->S:SETUPrequest //设置会话的属性,以及传输模式,提醒S建立会话3.S->C:SETUPresponse //S建立会话,返回会话标识符,以及会话相关信息 4.C->S:PLAYrequest //C请求播放4.S->C:PLAYresponse //S回应该请求的信息
5、 S->C:发送流媒体数据5.C->S:TEARDOWNrequest //C请求关闭会话5.S->C:TEARDOWNresponse//S回应该请求 上述的过程是标准的、友好的rtsp流程,但实际的需求中并不一定按部就班来。其中第3和4步是必需的!第一步,只要服务器客户端约定好,有哪些方法可用,则option请求可以不要。第二步,如果我们有其他途径得到媒体初始化描述信息(比如http请求等等),则我们也不需要通过rtsp中的describe请求来完成。第五步,可以根据系统需求的设计来决定是否需要。RTSP中常用方
6、法:1.OPTION方法目的是得到服务器提供的可用方法:OPTIONSrtsp://192.168.20.136:5000/xxx666RTSP/1.0CSeq:1 //每个消息都有序号来标记,第一个包通常是option请求消息User-Agent:VLCmediaplayer(LIVE555StreamingMediav2005.11.10) 服务器的回应信息包括提供的一些方法,例如:RTSP/1.0200OKServer:UServer0.9.7_rc1Cseq:1 //每个回应消息的cseq
7、数值和请求消息的cseq相对应Public:OPTIONS,DESCRIBE,SETUP,TEARDOWN,PLAY,PAUSE,SCALE,GET_PARAMETER//服务器提供的可用的方法2.DESCRIBE方法C向S发起DESCRIBE请求,为了得到会话描述信息(SDP):DESCRIBErtsp://192.168.20.136:5000/xxx666RTSP/1.0CSeq:2token:Accept:application/sdpUser-Agent:VLCmediaplayer(LIVE555Streamin
8、gMediav2005.11.10) 服务器回应一些对此会话的描述信息(sdp):RTSP/1.0200OKServer:UServer0.9.7_rc1Cseq:2x-prev-url:rtsp://192.168.20.136:5000x-next-url:rtsp://192.168