RTSP:实时流协议(Real Time Streaming Protocol)
实时流协议(RTSP)建立并控制一个或几个时间同步的连续流媒体,如音频和视频。尽管连续媒体流与控制流交叉是可能的,RTSP 本身并不发送连续流。换言之,RTSP 充当多媒体服务器的网络远程控制。RTSP 提供了一个可扩展框架,实现实时数据(如音频与视频)的受控、按需传送。数据源包括实况数据与存储的剪辑。RTSP 用于控制多个数据发送会话,提供了选择发送通道(如 UDP、组播 UDP 与 TCP 等)的方式,并提供了选择基于 RTP 的发送机制的方法。
目前还没有 RTSP 连接的概念;服务器维护由识别符标识的会话。RTSP 会话不会绑定到传输层连接,如 TCP。在 RTSP 会话期间,RTSP 客户端可打开或关闭多个对服务器的可靠传输连接以发出 RTSP 请求。它也可选择使用无连接传输协议,如 UDP。
RTSP 控制的流可能用到 RTP,但 RTSP 操作并不依赖用于传输连续媒体的传输机制。RTSP 在语法和操作上与 HTTP/1.1 类似,因此 HTTP 的扩展机制在多数情况下可加入 RTSP。然而,在很多重要方面 RTSP 仍不同于 HTTP :
RTSP 引入了大量新方法并具有一个不同的协议标识符:
在大多数情况下,RTSP 服务器需要保持缺省状态,与 HTTP 的无状态相对;
RTSP 中客户端和服务器都可以发出请求;
在多数情况下,数据由不同的协议传输;
RTSP 使用 ISO 10646 (UTF-8)而并非 ISO 8859-1,与当前的国际标准 HTML 相一致;
URI 请求总是包含绝对 URI。为了与过去的错误相互兼容,HTTP/1.1 只在请求过程中传送绝对路径并将主机名置于另外的头字段。
该协议支持如下操作:
从媒体服务器上检索媒体:用户可通过 HTTP 或其它方法提交一个演示描述请求;
媒体服务器邀请进入会议: 媒体服务器可被邀请参加正进行的会议,或回放媒体,或记录部分或全部演示;
将新媒体加到现有演示中:如服务器能告诉客户端接下来可用的媒体内容,对现场直播显得尤其有用。
协议结构
RTSP 是一种文本协议,采用 UTF-8 编 码中的 ISO 10646 字符集。一行可通过 CRLF 终止,但接收端需要做好解释 CR 和 LF 作为一行终止符 的准备。关于头字段概述如下:
Header | Type | Support | Methods |
Accept | R | opt. | entity |
Accept-Encoding | R | opt. | entity |
Accept-Language | R | opt. | all |
Allow | R | opt. | all |
Authorization | R | opt. | all |
Bandwidth | R | opt. | all |
Blocksize | R | opt. | All but OPTIONS, TEARDOWN |
Cache-Control | G | opt. | SETUP |
Conference | R | opt. | SETUP |
Connection | G | req. | all |
Content-Base | E | opt. | entity |
Content-Encoding | E | req. | SET_PARAMETER |
Content-Encoding | E | req. | DESCRIBE, ANNOUNCE |
Content-Language | E | req. | DESCRIBE, ANNOUNCE |
Content-Length | E | req. | SET_PARAMETER, ANNOUNCE |
Content-Length | E | req. | entity |
Content-Location | E | opt. | entity |
Content-Type | E | req. | SET_PARAMETER, ANNOUNCE |
Content-Type | R | req. | entity |
CSeq | G | req. | all |
Date | G | opt. | all |
Expires | E | opt. | DESCRIBE, ANNOUNCE |
From | R | opt. | all |
If-Modified-Since | R | opt. | DESCRIBE, SETUP |
Last-Modified | E | opt. | entity |
Proxy-Authenticate | |||
Proxy-Require | R | req. | all |
Public | R | opt. | all |
Range | R | opt. | PLAY, PAUSE, RECORD |
Range | R | opt. | PLAY, PAUSE, RECORD |
Referer | R | opt. | all |
Require | R | req. | all |
Retry-After | R | opt. | all |
RTP-Info | R | req. | PLAY |
Scale | Rr | opt. | PLAY, RECORD |
Session | Rr | req. | All but SETUP, OPTIONS |
Server | R | opt. | all |
Speed | Rr | opt. | PLAY |
Transport | Rr | req. | SETUP |
Unsupported | R | req. | all |
User-Agent | R | opt. | all |
Via | G | opt. | all |
WWW-Authenticate | R | opt. | all |
类型 "g" 表示请求和响应中的通用请求头;类型 "R" 表示请求头;类型 "r" 表示响应头;类型 "e" 表示实体头字段。在 "support" 一栏中 标有 "req." 的字段 必须由接收者以特殊的方法实现;而 "opt." 的字段是可选的。注意,不是所有 "req." 字段在该类型的每个请求中都会被发送。 "req." 只表示客户机(支持响应头)和服务器(支持请求头)必须执行该字段。最后一栏列出了关于头字段产生作用的方法;其中 "entity" 针对于返回一个信息主体的所有方法。
RTSP(Real Time Streaming Protocol),实时流传输协议,是TCP/IP协议体系
中的一个应用层协议,由哥伦比亚大学、网景和RealNetworks公司提交的IETFRFC
标准。该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。
RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或 RTP完成数据传输。HTTP与
RTSP相比,HTTP传送HTML,而RTP传送的是多媒体数据。HTTP请求由客户机发出,
服务器作出响应;使用RTSP时,客户机和服务器都可以发出请求,即RTSP可以是
双向的。
RTSP是用来控制声音或影像的多媒体串流协议,并允许同时多个串流需求控
制,传输时所用的网络通讯协定并不在其定义的范围内,服务器端可以自行选择
使用TCP或UDP来传送串流内容,它的语法和运作跟HTTP 1.1类似,但并不特别强
调时间同步,所以比较能容忍网络延迟。而前面提到的允许同时多个串流需求控
制(Multicast),除了可以降低服务器端的网络用量,更进而支持多方视讯会议
(Video Conference)。因为与HTTP1.1的运作方式相似,所以代理服务器
〈Proxy〉的快取功能〈Cache〉也同样适用于RTSP,并因RTSP具有重新导向功能
,可视实际负载情况来转换提供服务的服务器,以避免过大的负载集中于同一服
务器而造成延迟。
该协议用于C/S模型,是一个基于文本的协议,用于在客户端和服务器端建立
和协商实时流会话。
实时流协议(RTSP)是应用级协议,控制实时数据的发送。RTSP提供了一个
可扩展框架,使
实时数据,如音频与视频,的受控、点播成为可能。数据源包括现场数据与
存储在剪辑中数据
。该协议目的在于控制多个数据发送连接,为选择发送通道,如UDP、组播
UDP与TCP,提供途径
,并为选择基于RTP上发送机制提供方法。
实时流协议(RTSP)建立并控制一个或几个时间同步的连续,流媒体,尽管
连续媒体流与控制
流交*是可能的,通常它本身并不发送连续流。换言之,RTSP充当多媒体服务
器的网络远程控
制。RTSP连接没有绑定到传输层连接,如TCP。在RTSP连接期间,RTSP用户可
打开或关闭多个对
服务器的可*传输连接以发出RTSP 请求。此外,可使用无连接传输协议,如
UDP。RTSP流控制
的流可能用到RTP,但RTSP操作并不依赖用于携带连续媒体的传输机制。实时
流协议在语法和操
作上与HTTP/1.1类似,因此HTTP的扩展机制大都可加入RTSP。协议支持的操
作如下:
从媒体服务器上检索媒体:
用户可通过HTTP或其它方法提交一个演示描述。如演示是组播,演示式就包
含用于连续媒体
的的组播地址和端口。如演示仅通过单播发送给用户,用户为了安全应提供
目的地址。
媒体服务器邀请进入会议:
媒体服务器可被邀请参加正进行的会议,或回放媒体,或记录其中一部分,
或全部。这种模
式在分布式教育应用上很有用,会议中几方可轮流按远程控制按钮。
将媒体加到现成讲座中:
如服务器告诉用户可获得附加媒体内容,对现场讲座显得尤其有用。如
HTTP/1.1中类似,RTSP
请求可由代理、通道与缓存处理。
RTSP 特性如下:
可扩展性:
新方法和参数很容易加入RTSP。
易解析:
RTSP可由标准 HTTP或MIME解析器解析。
安全:
RTSP使用网页安全机制。
独立于传输:
RTSP可使用不可靠数据报协议(UDP)、可靠数据报协议(RDP),如要实现应用级可靠,可
使用可靠流协议。
多服务器支持:
每个流可放在不同服务器上,用户端自动同不同服务器建立几个并发控制连接,媒体同步在
传输层执行。
记录设备控制:
协议可控制记录和回放设备。
流控与会议开始分离:
仅要求会议初始化协议提供,或可用来创建唯一会议标识号。特殊情况下, SIP或H.323
可用来邀请服务器入会。
适合专业应用:
通过SMPTE 时标,RTSP支持帧级精度,允许远程数字编辑
资料:
http://dslab.ee.ncku.edu.tw/~lily/learning/learning_ch2-1.html