本文主要是介绍10034.RTSP:Real Time Streaming Protocol,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
实时流协议 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"针对于返回一个信息主体的所有方法。 |
相关协议 | UDP、TCP、HTTP、S-HTTP、RTP |
组织来源 | RTSP 由 IETF(www.ietf.org)定义在 RFC 2326中。 |
相关链接 | http://www.javvin.com/protocol/rfc2326.pdf: Real Time Streaming Protocol |
这篇关于10034.RTSP:Real Time Streaming Protocol的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!