RTSP

实时流协议(RTSP)建立并控制一个或几个时间同步的连续流媒体。

没有使用 RTSP 连接的概念,而由RTSP 会话(session)代替(每次服务由 服务器端保持一个带标签的会话)。RTSP 会话没有绑定到传输层连接(如TCP 连接)。

独立于传输:RTSP 可使用不可靠数据报协议(UDP)、可靠数据报协议(RDP),如要实现应用级可靠,可使用可靠流协议。

多服务器支持:表示(presentation)中的每个流可放在不同服务器上,用户端自动同不同服务器建立几个并发控制连接,媒体同步在传输层执行。

一、操作模式

每个表示和媒体流可用 RTSP URL 识别。RTSP URL 指出了处理具体媒体流的服务器以及存在于该服务器上流的名字。

多个媒体流可以放到不同的服务器上,比如音频和视频流可以分别放到不同服务器而负载共享。

除媒体参数外,网络目标地址和端口也需要决定。

二、RTSP 状态

RTSP 控制通过单独协议发送的流,与控制通道无关。例如,RTSP 控制可通过TCP连接,而数据流通过UDP。因此,即使媒体服务器没有收到请求,数据也会继续发送。

在会话生命期,单个媒体流可通过不同TCP 连接顺序发出请求来控制。所以,服务器需要维持能联系流与RTSP 请求的会话状态。

RTSP 中很多方法与状态无关,但下列方法在定义服务器流资源的分配与应用上起着重要的用:

SETUP:让服务器给流分配资源,启动 RTSP 会话。

PLAY 与RECORD:启动 SETUP 分配流的数据传输。

PAUSE:临时停止流,而不释放服务器资源。

TEARDOWN:释放流的资源,RTSP 会话停止。标识状态的 RTSP 方法使用会话(session)标题域识别RTSP 会话,为回应SETUP请求,服务器生成会话标识。

三、RTSP URL

“rtsp”和“rtspu”表示要通过RTSP 协议来定位网络资源。

 rtsp_URL =  ( "rtsp:" | "rtspu:" ) "//" host [ ":" port ] [ abs_path ]

 host:合法的Internet 主机域名或IP 地址(用十进制数及点组成)。

rtsp 要求使用可靠协议(Internet 的TCP 协议)发出命令,而rtspu 则使用不可靠协议(Internet 的UDP 协议)。

如是端口为空或没指定,则缺省为80 端口。对于rtsp_URI 来说,拥有被请求的资源的服务器主机通过侦听该端口的TCP 连接(rtsp)或UDP 包(rtspu)来接收该URI 请求。

如:rtsp://media.example.com:554/twister/audiotrack

posted @ 2012-11-03 15:29  little_star  阅读(394)  评论(0编辑  收藏  举报