RFC2326实时流协议(RTSP)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

11绪论1.1目的实时流协议(RTSP)建立并控制一个或几个时间同步的连续流媒体。尽管连续媒体流与控制流有可能交叉,但RTSP本身通常并不发送连续媒体流。换言之,RTSP充当多媒体服务器的网络远程控制。表示描述(presentationdescription)定义了被控流,但本文并没有定义表示描述的格式。这里没有使用RTSP连接的概念,而由RTSP会话(session)代替(每次服务由服务器端保持一个带标签的会话)。RTSP会话没有绑定到传输层连接(如TCP连接)。因为虽然在RTSP会话期间,RTSP客户端可打开或关闭多个对服务器端的可靠传输连接以发出RTSP请求。但此外,也可能使用无连接传输协议,比如用UDP发送RTSP请求。RTSP控制的流可能用到RTP,但RTSP操作并不依赖用于携带连续媒体的传输机制。实时流协议在语法和操作上与HTTP/1.1类似,因此HTTP的扩展机制大都可加入RTSP。尽管如此,RTSP在很多方面还是和HTTP有很大的不同:2RTSP引入了很多新方法并且有不同的协议标识符。2RTSP服务器在大多数默认情况下需要维持一个状态,但HTTP是无状态协议。2RTSP客户机和服务器都可以发出请求。2数据由另一个协议传送(有一特例除外)。2RTSP使用ISO10646(UTF-8)而不是ISO8859-1,以配合当前HTML的国际化。2RTSP使用URI请求时包含绝对URI。而由于历史原因造成的向后兼容性问题,HTTP/1.1只在请求中包含绝对路径,把主机名放入单独的标题域中。这使得“虚拟主机”实现更为简便,一个单独IP地址的主机可虚拟为几个文件树主机。协议支持的操作如下:从媒体服务器上检索媒体:用户可通过HTTP或其它方法请求一个表示描述。如表示是组播,表示描述就包含用于连续媒体的的组播地址和端口。如表示仅通过单播发送给用户,用户为了安全应提供目的地址。媒体服务器邀请进入会议:媒体服务器可被邀请参加正进行的会议,或回放媒体,或记录其中一部分,或全部。这种模式在分布式教育应用上很有用,会议中几方可轮流按远程控制按钮。将媒体加到现成讲座中:如服务器告诉用户可获得附加媒体内容,对现场讲座显得尤其有用。如HTTP/1.1中类似,RTSP请求可由代理、通道与缓存处理。1.2要求在本文档中的关键字“必须”,“一定不能”,“要求”,“会”,“不会”,“应该”,“不应该”,“被推荐的”,“可以”,和“可选择的”都在RFC2119中解释。1.3术语一些术语原由HTTP/1.1采用。在HTTP/1.1中定义的术语这里不再列举。合控制:服务器使用单条时间线对多个流的控制。对音频/视频回馈来讲,这就意味着客户端仅需发送一条播放或者暂停消息就可同时控制音频和视频的回馈。会议:2多方参与的多媒体表示,这里的多方意味着大于或者等于一方。客户端:指请求媒体服务器上连续流媒体数据的客户端。连接:两个应用程序以通讯为目的在传输层建立虚拟电路。容器文件:可以容纳多个共同播放时包含表示(presentation)的媒体流的文件。RTSP服务器可以为这些容器文件提供合控制,但容器文件的概念本身并不是本协议内容。连续媒体:接受器和数据源之间存在时序关系的数据。也就是说,接受器需要重新产生存在于源数据中的时序关系。最普通的连续媒体的例子是音频和动画视频。连续媒体可以是实时的(但是不交互的),它们在源和接受器之间是一种紧密的时序关系;或者是流的形式,这种关系就没有那么严格了。实体:作为请求或者回应的有效负荷传输的信息。由以实体标题域(entity-headerfield)形式存在的元信息和以实体主体(entitybody)形式存在的内容组成,如第八章所述。媒体的初始化:数据类型/编码的具体初始化,这些包括时钟输率,颜色表等。用户请求媒体回放的任何独立传输信息,是在创建流时初始化媒体流相位时产生的。媒体参数:针对回放前或回放过程中有可能改变的媒体类型而专门设定的参数。媒体服务器:可对一个或多个媒体流提供回放和录制服务的服务器。同一个表示(presentation)中不同的媒体流可能来自于不同的媒体服务器。媒体服务器可以建立在作为传送请求表示(presentation)的Web服务器的主机上,也可以建立在不同的主机上。媒体服务器重定向:重新定向媒体客户端到另外一个媒体服务器。(媒体)流:单个媒体实例,比如,在应用中共用音频流或视频流。当使用RTP时,流包括由RTP会话(session)中源所创建的所有RTP和RTCP包。这和定义DSM-CC流时相同。消息:RTSP通讯的基本单元。由15章语法定义的一串八位位组组成,并通过连接或者无连接协议传送。参与者:一个会议成员。参与者可以是机器,比如是媒体记录或回放服务器。表示(presentation):对用户请求所回馈的一组流,其使用下面的表示描述(presentationdescription)形式。在本文中的多数情况下,其意味着对流进行总体控制,但这并不是必须的。表示描述(presentationdescription):表示描述包含在表示(presentation)中一个或者多个媒体流的信息。比如,编码,网络地址和内容的信息。另外,其他IETF协议,如SDP协议使用会话(session)代替现场presentation。表示描述可以采用包括会话描述(sessiondescription)SDP在内的多种格式。回Γ?br/回应。如果能理解HTTP回应,就能清楚的理解RTSP回应。请求;请求。如果能理解HTTP请求,就能清楚的理解RTSP请求。RTSP会话(session):RTSP交互的全过程。比如,一个电影的观看过程。会话(session)包括由客户端建立连续媒体流传输机制(SETUP),使用播放(PLAY)或录制(RECORD)开始传送流,用停止(TEARDOWN)关闭流。传输初始化:3客户端和服务器端之间传输信息(端口号,传输协议等)的交互。1.4协议特点RTSP特性如下:可扩展性:RTSP中很容易加入新方法和参数。易解析:RTSP可由标准HTTP或MIME解析器解析。安全:RTSP使用网页安全机制。所有HTTP授权机制如basic和digest授权都可直接使用。也可以传输层或网络层安全机制。独立于传输:RTSP可使用不可靠数据报协议(UDP)、可靠数据报协议(RDP),如要实现应用级可靠,可使用可靠流协议。多服务器支持:表示(presentation)中的每个流可放在不同服务器上,用户端自动同不同服务器建立几个并发控制连接,媒体同步在传输层执行。记录设备控制:协议可控制记录和回放设备,也可控制可在记录和回放切换的设备。流控与会议开始分离:流控与邀请媒体服务器入会分离;仅要求会议初始化协议提供,或可用来创建唯一会议标识号。特殊情况下,SIP或H.323可用来邀请服务器入会。适合专业应用:通过SMPTE时标,RTSP支持帧级精度,允许远程数字编辑。表示描述中立:协议没强加特殊表示或元文件,可传达所用格式类型;然而,表示描述至少必须包含一个RTSPURI。代理与防火墙友好:协议可由应用和传输层防火墙处理。防火墙需要理解SETUP方法,为UDP媒体流打开一个\缺口\。HTTP友好:此处,RTSP明智的采用HTTP观念,使现在结构都可重用。结构包括Internet内容选择平台(PICS)。由于在大多数情况下控制连续媒体需要服务器状态,RTSP不仅仅向HTTP添加方法。适当的服务器控制:如用户能启动一个流,它必须也能停止一个流。服务器不能启动一个用户不能停止的流。传输协调:实际处理连续媒体流前,用户可协调传输方法。性能协调:如基本特征无效,必须有一些清理机制让用户决定那种方法没生效。这允许用户提出适合的用户界面。例如,如果不允许寻找,用户界面必定能禁止位置条滑动。以前要求RTSP必须能支持多用户,但现在得出一个更好的方法就是保证RTSP能很容易扩展成支持多用户即可。因为流的标志可以被多个控制流使用,因此”远程通过”成为可能。协议不涉及到多个客户端如何协调入口,其由下层“社会协议”或其他下层控制机制提供。1.5RTSP扩展由于不是所有媒体服务器有着相同的功能,媒体服务器有必要支持不同请求集。例如:?服务器可能只须支持回放,因此不必不支持录制功能。?对于支持现场播放的服务器可能不支持寻找功能。?一些服务器可能不支持设置流参数,因此不支持GET_PARAMETER和SET_PARAMETER。但服务器应该实现所有12章中要求的标题域。表示描述(presentationdescription)应当保证不提出服务器不支持的功能,这种情形和HTTP/1.1中[H19.6]描述方法不支持acrossserver的情形一致。4RTSP可以如下三种方式扩展,这里以改变大小排序:?以新参数扩展。如用户需要拒绝通知,而方法扩展不支持,相应标记就加入要求的段中。?加入新方法。如信息接收者不理解请求,返回501错误代码(还未实现),发送者不应再次尝试这种方法。用户可使用OPTIONS方法查询服务器支持的方法。服务器使用公共回应标题列出支持的方法。?定义新版本协议,允许改变所有部分。(除了协议版本号位置)1.6操作模式每个表示和媒体流可用RTSPURL识别。表示组成的整个表示与媒体属性由表示描述(presentationdescription)文件定义,表示描述格式不在本协议中定义。使用HTTP或其它途径用户可获得这个文件,它没有必要保存在媒体服务器上。为了说明,假设表示描述(presentationdescription)描述了多个表示(presentation),其中每个表示(presentation)维持了一个公共时间轴。为简化说明,且不失一般性,假定表示描述(presentationdescription)的确包含这样一个表示(presentation)。表示(presentation)可包含多个媒体流。表示描述(presentationdescription)即组成表示的流的描述,包括它们的编码,语言和使用户可以选择最符合要求媒体的其他参数。在表示描述中,被RTSP分别控制的媒体流由RTSPURL表示。RTSPURL指出了处理具体媒体流的服务器以及存在于该服务器上流的名字。多个媒体流可以放到不同的服务器上,比如音频和视频流可以分别放到不同服务器而负载共享。描述(description)还列出了服务器传输可使用的方法。除媒体参数外,网络目标地址和端口也需要决定。下面区分几种操作模式:单播:以用户选择的端口号将媒体发送到RTSP请求源。组播,服务器选择地址:媒体服务器选择组播地址和端口,这是现场直播或准点播常用的方式。组播,用户选择地址:如服务器加入正在进行的组播会议,组播地址、端口和密匙由会议描述给出。1.7RTSP状态RTSP控制通过单独协议发送的流,与控制通道无关。例如,RTSP控制可通过TCP连接,而数据流通过UDP。因此,即使媒体服务器没有收到请求,数据也会继续发送。在会话生命期,单个媒体流可通过不同TCP连接顺序发出请求来控制。所以,服务器需要维持能联系流与RTSP请求的会话状态。RTSP中很多方法与状态无关,但下列方法在定义服务器流资源的分配与应用上起着重要的用:SETUP:让服务器给流分配资源,启动RTSP会话。PLAY与RECORD:启动SETUP分配流的数据传输。PAUSE:临时停止流,而不释放服务器资源。TEARDOWN:释放流的资源,RTSP会话停止。标识状态的RTSP方法使用会话(session)标题域识别RTSP会话,为回应SETUP请求,服务器生成会话标识。1.8与其他协议关系RTSP在功能上与HTTP有重叠,与HTTP相互作用体现在与流内容的初始接触是通过网页的。目前的协议规范目的在于允许在网页服务器与实现RTSP媒体服务器之间存在不同传递点。例如,表示描述(presentationdescription)可通过HTTP和RTSP检索,这降低了浏览器的往返传递,也允许独立RTSP服务器与用

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功