RTSP消息格式:
RTSP的消息有两大类,一是请求消息(request),一是回应消息(response),两种消息的格式不同.
请求消息:
方法 URI RTSP版本 CR LF
消息头 CR LF CR LF
消息体 CR LF
其中方法包括OPTION回应中所有的命令,URI是接受方的地址,例如:rtsp://
RTSP版本一般都是 RTSP/ LF表示回车换行,需要接受端有相应的解析,最后一个消息头需要有两个CR LF
回应消息:
RTSP版本状态码解释 CR LF
消息头 CR LF CR LF
消息体 CR LF
其中RTSP版本一般都是RTSP/,状态码是一个数值,200表示成功,解释是与状态码对应的文本解释.
简单的rtsp交互过程:
C表示rtsp客户端,S表示rtsp服务端
->S:OPTION request //询问S有哪些方法可用
->C:OPTION response //S回应信息中包括提供的所有可用方法
->S:DESCRIBE request //要求得到S提供的媒体初始化描述信息
->C:DESCRIBE response //S回应媒体初始化描述信息,主要是sdp
->S:SETUP request //设置会话的属性,以及传输模式,提醒S建立会话
->C:SETUP response //S建立会话,返回会话标识符,以及会话相关信息
->S:PLAY request //C请求播放
->C:PLAY response //S回应该请求的信息
S->C:发送流媒体数据
->S:TEARDOWN request //C请求关闭会话
->C:TEARDOWN response //S回应该请求
上述的过程是标准的、友好的rtsp流程,但实际的需求中并不一定按部就班来。
其中第3和4步是必需的!第一步,只要服务器客户端约定好,有哪些方法可用,则option请求可以不要。第二步,如果我们有其他途径得到媒体初始化描述信息(比如http请求等等),则我们也不需要通过rtsp中的describe请求来完成。第五步,可以根据系统需求的设计来决定是否需要。
rtsp中常用方法:
目的是得到服务器提供的可用方法:
OPTIONS rtsp://:5000/xxx666 RTSP/
CSeq: 1 //每个消息都有序号来标记,第一个包通常是option请求消息
User-Agent: VLC media player (LIVE555 Streaming Media )
服务器的回应信息包括提供的一些方法,例如:
RT
rtsp协议简介 来自淘豆网m.daumloan.com转载请标明出处.