当前位置: 代码迷 >> 综合 >> 10034.RTSP:Real Time Streaming Protocol
  详细解决方案

10034.RTSP:Real Time Streaming Protocol

热度:33   发布时间:2024-01-15 23:16:41.0
实时流协议 RTSP 建立并控制一个或几个时间同步的连续流媒体。尽管连续媒体流与控制流交叉是可能的,通常它本身并不发送连续流,如音频与视频。换言之,RTSP 充当多媒体服务器的网络远程控制。RTSP 提供了一个可扩展框架,使实时数据如音频与视频的受控、按需传送成为可能。数据源包括现场数据与存储在剪辑中数据。该协议目的在于控制多个数据发送会话,为选择发送通道如 UDP、组播 UDP 与 TCP 等提供途径,并为选择基于 RTP 的发送机制提供方法。

  目前还没有具体的 RTSP 连接概念,取而代之的是由服务器维持携带标识符的会话。RTSP 会话没有绑定到传输层连接,如 TCP。在 RTSP 会话期间,RTSP 用户可打开或关闭多个对服务器的可靠传输连接以发出 RTSP 请求。此外,可使用无连接传输协议,如 UDP。

  RTSP 流控制的流可能用到 RTP,但 RTSP 操作并不依赖用于携带连续媒体的传输机制。实时流协议在语法和操作上与 HTTP/1.1 类似,因此 HTTP 的扩展机制大都可加入 RTSP。尽管如此,在很多重要方面 RTSP 仍不同于 HTTP:

  • RTSP 引入了大量新方法并具有一个不同的协议标识符:
  • 在大多数情况下,RTSP 服务器需要维持缺省状态,与的无状态相对;
  • 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


  Type "g" 表示请求和响应中的通用请求头;Type "R" 表示请求头;Type "r" 表示响应头;Type "e" 表示实体头字段。注有"support"标签的"req."必须由接收者以特殊的方法实现;而"opt."的实现具有多个选择。注意,不是所有"req."字段在该类型的每个请求中都会被发送。"req."只表示客户机(支持响应头)和服务器(支持请求头)必须执行该字段。最后一栏列出了关于头字段产生作用的方法;其中"entity"针对于返回一个信息主体的所有方法。


相关协议 UDPTCPHTTPS-HTTPRTP
组织来源

RTSP 由 IETF(www.ietf.org)定义在 RFC 2326中。

相关链接

http://www.javvin.com/protocol/rfc2326.pdf: Real Time Streaming Protocol

  相关解决方案