RTSP 协议学习笔记
目录
RTSP 协议学习笔记.........................................................................................................................1
第一部分:RTSP 协议................................................................................................................3
一、 RTSP 协议概述.................................................................................................3
二、 RTSP 协议与 HTTP 协议区别.........................................................................3
三、 RTSP 重要术语.................................................................................................4
1. 集合控制(Aggregate control ):......................................................................4
2. 实体(Entity):....................................................................................................4
3. 容器文件(Container file):........................................................................4
4. RTSP 会话(RTSP session ):.............................................................................4
四、 RTSP 请求消息.................................................................................................4
1. 消息格式:............................................................................................................4
五、 RTSP 回应消息.................................................................................................5
1. 消息格式:............................................................................................................5
六、 RTSP 重要方法................................................................................................5
1. OPTIONS:..................................................................................................................6
2. DESCRIBE: ............................................................................................................6
3. SETUP: ...................................................................................................................7
4. PLAY: .....................................................................................................................8
5. PAUSE:...................................................................................................................9
6. TEARDOWN:.......................................................................................................10
七、 RTSP 重要头字段参数...................................................................................10
1. Accept: .................................................................................................................10
2. Bandwidth:...........................................................................................................10
3. CSeq:.....................................................................................................................11
4. Rang: .....................................................................................................................11
5. Session: ................................................................................................................11
6. Transport:.............................................................................................................11
八、 简单的 RTSP 消息交互过程..........................................................................11
1. 第一步:查询服务器端可用方法......................................................................11
2. 第二步:得到媒体描述信息..............................................................................11
3. 第三步:建立 RTSP 会话....................................................................................12
4. 第四步:请求开始传送数据..............................................................................12
5. 第五步: 数据传送播放中..............................................................................12
6. 第六步:关闭会话,退出..................................................................................12
第二部分:SDP 协议 ................................................................................................................12
一、 SDP 协议概述 .................................................................................................12
二、 SDP 格式 .........................................................................................................13
三、 SDP 示例 .........................................................................................................14
第三部分:MMS 协议 ..............................................................................................................14
一、 MMS 协议概述 ...............................................................................................14
第一部分:RTSP 协议
一、 RTSP 协议概述
RTSP(Real-Time Stream Protocol )是一种基于文本的应用层协议,在语法
及一些消息参数等方面,RTSP 协议与 HTTP 协议类似。
RTSP 被用于建立的控制媒体流的传输,它为多媒体服务扮演“网络远程控
制”的角色。尽管有时可以把 RTSP 控制信息和媒体数据流交织在一起传送,但
一般情况 RTSP 本身并不用于转送媒体流数据。媒体数据的传送可通过 RTP/RTCP
等协议来完成。
一次基本的 RTSP 操作过程是:首先,客户端连接到流服务器并发送一个
RTSP 描述命令(DESCRIBE)。流服务器通过一个 SDP 描述来进行反馈,反馈信
息包括流数量、媒体类型等信息。客户端在分析该 SDP 描述,并为会话中的每一
个流发送一个 RTSP 建立命令(SETUP),RTSP 建立命令告诉服务器客户端用于接
收媒体数据的端口。流媒体连接建立完成后,客户端发送一个播放命令(PLAY),
服务器就开始在 UDP 上传送媒体流(RTP 包)到客户端。 在播放过程中客户端还
可以向服务器发送命令来控制快进、快退和暂停等。最后,客户端可发送一个终
止命令(TERADOWN)来结束流媒体会话
二、 RTSP 协议与 HTTP 协议区别
1. RTSP 引入了几种新的方法,比如 DESCRIBE、PLAY、SETUP 等,并且有不
同的协议标识符,RTSP 为 rtsp 1.0,HTTP 为 http 1.1;
2. HTTP 是无状态的协议,而 RTSP 为每个会话保持状态;
3. RTSP 协议的客户端和服务器端都可以发送 Request 请求,而在 HTTPF 协
议中,只有客户端能发送 Request 请求。
4. 在 RTSP 协议中,载荷数据一般是通过带外方式来传送的(除了交织
的情况),及通过 RTP 协议在不同的通道中来传送载荷数据。而 HTTP
协议的载荷数据都是通过带内方式传送的,比如请求的网页数据是
在回应的消息体中携带的。
5. 使用 ISO 10646(UTF-8) 而不是 ISO 8859-1,以配合当前 HTML 的国
际化;
6. RTSP 使用 URI 请求时包含绝对 URI。而由于历史原因造成的向后兼
容性问题,HTTP/1.1 只在请求中包含绝对路径,把主机名放入单独
的标题域中;
三、 RTSP 重要术语
1. 集合控制(Aggregate control ):
对多个流的同时控制。对音频/视频来讲,客户端仅需发送一条播放或者暂
停消息就可同时控制音频流和视频流。
2. 实体(Entity):
作为请求或者回应的有效负荷传输的信息。由以实体标题域(entity-header
field)形式存在的元信息和以实体主体(entity body)形式存在的内容组
成
3. 容器文件(Container file):
可以容纳多个媒体流的文件。RTSP 服务器可以为这些容器文件提供集合控制。
4. RTSP 会话(RTSP session ):
RTSP 交互的全过程。对一个电影的观看过程,会话(session)包括由客户端建
立媒体流传输机制(SETUP),使用播放(PLAY)或录制(RECORD)开始传送流,
用停止(TEARDOWN)关闭流。
四、 RTSP 请求消息
1. 消息格式:
方法 URI RTSP 版本 CR LF
消息头 CR LF CR LF
消息体 CR LF
其中方法包括 OPIONS、DESCRIBE、SETUP、PLAY、TEARDOWN 等,URI 是接受
方的地址,例如:rtsp://192.168.0.1/video1.3gp。
RTSP 版本一般都是 RTSP/1.0。每行后面的 CR LF 表示回车换行,需要接受
端有相应的解析,最后一个消息头需要有两个 CR LF
消息体是可选的,有的 Request 消息并不带消息体。
五、 RTSP 回应消息
1. 消息格式:
RTSP 版本 状态码 解释 CR LF
消息头 CR LF CR LF
消息体 CR LF
其中 RTSP 版本一般都是 RTSP/1.0,状态码是一个数值,用于表示 Request
消息的执行结果,比如 200 表示成功,解释是与状态码对应的文本解释.
六、 RTSP 重要方法