《RTSP协议.docx》由会员分享,可在线阅读,更多相关《RTSP协议.docx(18页珍藏版)》请在三一办公上搜索。
1、RTSP协议RTSP协议RTSP(RealTimeStreamProtocol,实时流协议)是应用级协议,限制实时数据的发送。RTSP供应了一个可扩展框架,使实时数据,如音频与视频的受控、点播成为可能。数据源包括现插数据与存储在剪辑中的数据。该协议目的在于限制多个数据发送连接,为选择发送通道如UDP、多播UDP与TCP等供应途径,并为选择基于RTP上发送机制供应方法。一简介1 -目的实时流协议建立并限制一个或几个时间同步的连续流媒体。尽管连续媒体流与限制流交叉是可能的,通常它本身并不发送连续流。换言之,RTSP充当多媒体服务器的网络远程限制。RTSP连接没有绑定到传输层连接,如TCP。在RTS
2、P连接期间,RTSP用户可打开或关闭多个对服务器的牢靠传输连接以发出RTSP恳求。此外,可运用无连接传输协议,如UDP。RTSP流限制的流可能用到RTP,但RTSP操作并不依靠用于携带连续媒体的传输机制。实时流协议在语法和操作上与HTTP1.1类似,因此HTTP的扩展机制大都可加入RTSPo协议支持的操作如下:(1)从媒体服务器上检索媒体用户可通过HTTP或其他方法提交一个演示描述。如演示是多播,演示时就包含用于连续媒体的多播地址和端口。如演示仅通过单播发送给用户,用户为了平安应供应目的地址。媒体服务器邀请进入会议媒体服务器可被邀请参与正进行的会议,或回放媒体,或记录其中一部分或全部。这种模式
3、在分布式教化应用上很有用,会议中几方可轮番按远程限制按钮。将媒体加到现成讲座中例如,服务器告知用户可获得附加媒体内容。这对现场讲座显得尤其有用。如HTTP1.1中类似,RTSP恳求可由代理、通道与缓存处理。2 .协议特点RTSP有如下特性。(1)可扩展性:新方法和参数很简单加入RTSPo(2)易解析:RTSP可由标准HTTP或MIME解析器解析。平安:RTSP运用网页平安机制。(4)独立于传输:RTSP可运用不行靠数据报协议(EDP)、牢靠数据报协议(RDP);如要实现应用级牢靠,可运用牢靠流协议。(5)多服务器支持:每个流可放在不同服务器上,用户端自动与不同服务器建立几个并发限制连接,媒体同
4、步在传输层执行。(6)记录设备限制:协议可限制记录和回放设备。(7)流控与会议起先分别:仅要求会议初始化协议供应,或可用来创建惟一会议标识号。特别状况下,可用SIP或H.323来邀请服务器入会。适合专业应用:通过SMPTE时标,RTSP支持帧级精度,允许远程数字编辑。(9)演示描述中立:协议没强加特别演示或元文件,可传送所用格式类型;然而,演示描述至少必需包括一个RTSPUR1.o(10)代理与防火墙友好:协议可由应用和传输层防火墙处理。防火墙须要理解SETUP方法,为UDP媒体流打开一个“缺口”。(11)H11P友好:此处,RTSP明智地采纳HTTP观念,使现在结构都
5、可重用。结构包括Internet内容选择平台(PICS)。由于在大多数状况下限制连续媒体须要服务器状态,RTSP不仅仅向HTFP添加方法。(12)适当的服务器限制:如用户启动一个流,必需也可以停止一个流。(13)传输协调:实际处理连续媒体流前,用户可协调传输方法。(14)性能协调:如基本特征无效,必需有一些清理机制让用户确定哪种方法没生效。这允许用户提出适合的用户界面。3 .扩展RTSP由于不是全部媒体服务器有着相同的功能,媒体服务器有必要支持不同恳求集。RTSP可以如下三种方式扩展:(1)以新参数扩展。如用户须要拒绝通知,而方法扩展不支持,相应标记就加入要求的段中。(2)加入新方法。如信息接
6、收者不理解恳求,返回501错误代码,发送者不应再次尝试这种方法。用户可运用OPTloNS方法查询服务器支持的方法。服务器运用公共响应头列出支持的方法。(3)定义新版本协议,允许变更全部部分什办议版本号位置除外)。4 .操作模式每个演示和媒体流可用RTSPUR1.识别。演示组成的整个演示与媒体属性由演示描述文件定义。运用HTTP或其他途径用户可获得这个文件,它没有必要保存在媒体服务器上。为了说明这个问题,假设演示描述了多个演示,其中每个演示维持了一个公共时间轴。为简化说明,且不失一般性,假定演示描述的确包含这样一个演示。演示可包含多个媒体流。除媒体参数外,网络目标地址和端口也须要确定。下面区分几
7、种操作模式。单播:用户选择的端口号将媒体发送到RTSP恳求源。服务器选择地址多播:媒体服务器选择多播地址和端口,这是现场直播或准点播常用的方式。用户选择地址多播:如服务器加入正在进行的多播会议,多播地址、端口和密钥由会议描述给出。5 .RTSP状态RTSP限制通过单独协议发送的流,与限制通道无关。例如,RTSP限制可通过TCP连接,而数据流通过UDP。因此,即使媒体服务器没有收到请求,数据也会接着发送。在连接生命期,单个媒体流可通过不同TCP连接依次发出恳求来限制。所以,服务器须要维持能联系流与RTSP恳求的连接状态。RTSP中许多方法与状态无关,但下列方法在定义服务器流资源的安排与应用上起着
8、重要的作用:(1) SETUP:让服务器给流安排资源,启动RTSP连接。P1.AY与RECORD:启动SETUP安排流的数据传输。PAUSE:临时停止流,而不释放服务器资源。(4)TEARDOWN:释放流的资源,RTSP连接停止。标识状态的RTSP方法运用连接头段识别RTSP连接,为响应SETUP恳求,服务器连接产生连接标识。6.与其他协议的关系RTSP在功能上与HTTP有重叠,与HTTP相互作用体现在与流内容的初始接触是通过网页的。目前的协议规范目的在于允许在网页服务器与实现RTSP媒体服务器之间存在不同传递点。例如,演示描述可通过HTTP和RTSP检索,这降低了阅读器的来回传递,也允许独立
9、RTSP服务器与用户不全依靠HTTPo但是,RTSP与HTTP的本质差别在于数据发送以不同协议进行。HrrP是不对称协议,用户发出恳求,服务器作出响应。RTSP中,媒体用户和服务器都可发出恳求,且其恳求都是无状态的;在恳求确认后很长时间内,仍可设置参数,限制媒体流。重用HTTP功能至少在两个方面有好处,即平安和代理。要求特别接近时,在缓存、代理和授权上采纳HKP功能是有价值的。当大多数实时媒体运用RTP作为传输协议时,RTSP没有绑定到RTPoRTSP假设存在演示描述格式可表示包含几个媒体流的演示的静态与临时属性。二.协议参数1 .RTSP版本H.321采纳,用RTSP代替HTTP。2 .RT
10、SPUR1.“rksp”和“rtspu”方案用于指RTSP协议运用的网络资源,为RTSPUR1.定义方案特定的语法和语义。3 .会议标识会议标识对RTSP来说是模糊的,采纳标准URI编码方法编码,可包含任何八位组数值。会议标识必需全局惟一。4 .连接标识连接标识是长度不确定的字符串,必需随机选择,至少要8个八位组长,使其很难被猜出。5 .SMPTE相关时标SMPTE相关时标表示相对剪辑起先的时间,相关时标表示成SMPTE时间代码,精确到帧级。时间代码格式为小时:分钟:秒:帧。缺省SmPte格式是“SMPTE30,帧速率为每秒29.97帧。其他SMPTE代码可选择运用sm
11、pte时间获得支持(如SMPIE25,)o时间数值中帧段值可从0到29o每秒30与29.97帧的差别可将每分钟的头两帧丢掉来实现。如帧值为零,就可删除6 .正常播放时间正常播放时间(NPT)表示相对演示起先的流肯定位置。时标由十进制分数组成。左边部分用秒或小时、分钟、秒表示;小数点右边部分表示秒的部分。演示的起先对应0。秒,负数没有定义。特别常数定义成现场事务的当前时刻,这或许只用于现场事务。直观上,NPT是联系观看者与程序的时钟,通常以数字式显示在VCR上。7 .肯定时间肯定时辰表示成ISO8601时标,采纳UTC(GMT)。8 .可选标签可选标签是用于指定RTSP新可选项的惟一标记。这些标
12、记用在恳求和代理-恳求头段。当登记新RTSP选项时,需供应下列信息:(1)名称和描述选项。名称长度不限,但不应当多于20个字符。名称不能包括空格、限制字符。(2)表明谁变更选项的限制。如IETF1ISO,ITU-T1或其他国际标准团体、联盟或公司。(3)深化描述的参考,如RFC、论文、专利、技术报告、文档源码和计算机手册。(4)对专用选项,附上联系方式。.RTSP信息RTSP是基于文本的协议,采纳ISO10646字符集,运用UTF-8编码方案。行以CR1.F中断,但接收者本身可将CR和1.F说明成行终止符。基于文本的协议使以自描述方式增加可选参数更简单。由于参数的数量和吩咐的频率出现较低,处理
13、效率没引起留意。文本协议很简单以脚本语言(如:Tcl1VisualBasic与PerI)实现探讨原型。ISO10646字符集避开敏感字符集切换,但对应用来说不行见。RTCP也采纳这种编码方案。带有重要意义位的ISo8859-1字符表示如100001xIOXXXXxx。RTSP信息可通过任何低层传输协议携带。恳求包括方法、方法作用于其上的对象以及进一步描述方法的参数。方法也可设计为在服务器端只须要少量或不须要状态维护。当信息体包含在信息中,信息体长度由如下因素确定:不管实体头段是否出现在信息中,不包括信息体的响应,信息总以头段后第一个空行结束。如出现内容长度头段,其值以字节计,表示信息体长度。如
14、未出现头段,其值为零。服务器关闭连接。留意,RTSP目前并不支持HTTPl.1“块”传输编码,须要有内容长度头。假如返回适度演示描述长度,即使动态产生,使块传输编码没有必要,服务器也应当能确定其长度。如有实体,即使必需有内容长度,且长度没显式给出,规则可确保行为合理。从用户到服务器端的恳求信息在第一行内包括源采纳的方法、源标识和所用协议版本。RTSP定义了附加状态代码,但没有定义任何HTTP代码。四.实体如不受恳求方法或响应状态编码限制,恳求和响应信息可传输实体,实体则由实体头文件和实体体组成,有些响应仅包括实体头。在此,依据谁发送实体、谁接收实体,发送者和接收者可分别
15、指用户和服务器。实体头定义实体体可选元信息,如没有实体体,指恳求标识的资源。扩展头机制允许定义附加实体头段,而不用变更协议,但这些段不能假定接收者能识别。不行识别头段应被接收者忽视,而让代理转发。五.连接RTSP恳求可以几种不同方式传送:·长久传输连接,用于多个恳求/响应传输。每个恳求/响应传输一个连接。无连接模式。传输连接类型由RTSPUR1.来定义。对“rtsp’方案,须要持续连接;而“rtspu”方案,调用RTSP恳求发送,而不用建立连接。不像HTTP,RTSP允许媒体服务器给媒体用户发送恳求。然而,这仅在长久连接时才支持,否则媒体服务器没有牢靠途径到达
16、用户,这也是恳求通过防火墙从媒体服务器传到用户的惟一途径。六.方法定义方法记号表示资源上执行的方法,它区分大小写。新方法可在将来定义,但不能以$开头。已定义方法如表14-03-1所不表14-03-1RTSP方法方法方向对象要求含义DESCRIBEC->SP,S举荐检查演示或媒体对象的描述,也允许运用接收头指定用户理解的描述格式。DESCRIBE的答复-响应组成媒体RTSP初始阶段ANNOUNCEC->SS->CP,S可选当从用户发往服务器时,ANNOUNCE将恳求UR1.识别的演示或媒体对象描述发送给服务器;反之,ANNOUNCE实时更新连接描述。如新媒体流加入演示,整个演示
17、描述再次发送,而不仅仅是附加组件,使组件能被删除GelparameterC->SS->CP,S可选GET.PARAMETER恳求检查RU1.指定的演示与媒体的参数值。没有实体体时,Gelparameter或许能用来测试用户与服务器的连通状况OPTQNSC->SS->CP,S要求可在随意时刻发出OPTIoNS恳求,如用户准备尝试非标准恳求,并不影响服务器状态PAUSEC->SP.S举荐PAUSE恳求引起流发送临时中断。如恳求UR1.命名一个流,仅回放和记录被停止;如恳求UR1.命名一个演示或流组,演示或组中全部当前活动的流发送都停止。复原回放或记录后,必需维持同步。
18、在SETUP消息中连接头超时参数所指定时段期间被暂停后,尽管服务器可能关闭连接并释放资源,但服务器资源会被预订P1.AYC->SP,S要求P1.AY告知服务器以SEFUP指定的机制起先发送数据;直到一些SETUP恳求被胜利响应,客户端才可发布P1.AY请求。P1.AY恳求将正常播放时间设置在所指定范围的起始处,发送流数据直到范围的结束处。P1.AY恳求可排成队列,服务器将P1.AY恳求排成队列,依次执行RECORDC->SP,S可选该方法依据演示描述初始化媒体数据记录范围,时标反映起先和结束时间;如没有给出时间范围,运用演示描述供应的起先和结束时间。如连接已经启动,马上起先记录,服
19、务器数据恳求UR1.或其他UR1.确定是否存储记录的数据;如服务器没有运用UR1.恳求,响应应为201(创建),并包含描述恳求状态和参考新资源的实体与位置头。支持现场演示记录的媒体服务器必需支持时钟范围格式,SmPte格式没有意义REDIRECTS->CP.S可选重定向恳求通知客户端连接到另一服务器地址。它包含强制头地址,指示客户端发布UR1.恳求;也可能包括参数范围,以指明重定向何时生效。若客户端要接着发送或接收UR1.媒体,客户端必需对当前连接发送TEARDoWN恳求,而对指定主执新连接发送SETUP恳求SETUPC->S要求对UR1.的SETUP恳求指定用于流媒体的传输机制。
20、客户端对正播放的流发布一个SETUP恳求,以变更服务器允许的传输参数。如不允许这样做,响应错误为455MethodNotValidInThisState”o为了透过防火墙,客户端必需指明传输参数,即使对这些参数没有影响SE1.PARAMETERC->SS->CP,S可选这个方法恳求设置演示或UR1.指定流的参数值。恳求仅应包含单个参数,允许客户端确定某个特别恳求为何失败。如恳求包含多个参数,全部参数可胜利设置,服务器必需只对该恳求起作用。服务器必需允许参数可重复设置成同一值,但不让变更参数值。留意:媒体流传输参数必需用SETUP吩咐设置,将设置传输参数限制为SETUP有利于防火墙。将参数划分成规则排列形式,结果有更多有意义的错误指示TEARDOWNC->SP,S要求TEARDOWN恳求停止给定UR1.流发送,释放相关资源。如UR1.是此演示UR1.,任何RTSP连接标识不再有效。除非全部传输参数是连接描述定义的,SETUP恳求必需在连接可再次播放前发布