篇一:RTSP协议学习笔记 RTSP协议学习笔记 目录
RTSP协议学习笔
记 ........................................................................................................................ 1
第一部分:RTSP协
议 ............................................................................................................... 3
一、 RTSP协议概
述 ................................................................................................ 3
二、 RTSP协议与HTTP协议区
别 ......................................................................... 3
三、 RTSP重要术
语 ................................................................................................ 4
1. 集合控制(Aggregate
control ): ..................................................................... 4
2. 实体
(Entity): ................................................................................................... 4
3. 容器文件(Container
file): ....................................................................... 4
4. RTSP会话(RTSP
session ): ............................................................................ 4
四、 RTSP请求消
息 ................................................................................................ 4
1. 消息格
式: ........................................................................................................... 4
五、 RTSP回应消
息 ................................................................................................ 5
1. 消息格
式: ........................................................................................................... 5
六、 RTSP 重要方
法 ................................................................................................ 5
1.
OPTIONS: ................................................................................................................. 6
2.
DESCRIBE: ........................................................................................................... 6
3.
SETUP: .................................................................................................................. 7
4.
PLAY: ..................................................................................................................... 8
5.
PAUSE: .................................................................................................................. 9
6.
TEARDOWN: ...................................................................................................... 10
七、 RTSP重要头字段参
数................................................................................... 10
1.
Accept: ................................................................................................................ 10
2.
Bandwidth: .......................................................................................................... 10
3.
CSeq: .................................................................................................................... 11
4.
Rang: .................................................................................................................... 11
5.
Session: ............................................................................................................... 11
6.
Transport: ............................................................................................................ 11
八、 简单的RTSP消息交互过
程.......................................................................... 11
1. 第一步:查询服务器端可用方
法 ..................................................................... 11
2. 第二步:得到媒体描述信
息 ............................................................................. 12
3. 第三步:建立RTSP会
话 ................................................................................... 12
4. 第四步:请求开始传送数
据 ............................................................................. 12
5. 第五步: 数据传送播放
中 ............................................................................... 12
6. 第六步:关闭会话,退
出 ................................................................................. 12
第二部分:SDP协
议 ............................................................................................................... 13
一、 SDP协议概
述 ................................................................................................ 13
二、 SDP格
式 ........................................................................................................ 13
三、 SDP示
例 ........................................................................................................ 14 第三部分:MMS协
议 ............................................................................. 错误!未定义书签。
一、 MMS协议概
述 .............................................................. 错误!未定义书签。 第一部分:RTSP协议 一、 RTSP协议概述
RTSP(Real-Time Stream Protocol )是一种基于文本的应用层协议,在语法及一些消息参数等方面,RTSP协议与HTTP协议类似。
RTSP被用于建立的体流的传输,它为多媒体服务扮演“网络远程控制”的角色。尽管有时可以把RTSP控制信息和媒体数据流交织在一起传送,但一般情况RTSP本身并不用于转送媒体流数据。媒体数据的传送可通过RTP/RTCP等协议来完成。
一次基本的RTSP操作过程是:首先,客户端连接到流服务器并发送一个RTSP描述命令(DESCRIBE)。流服务器通过一个SDP描述来进行反馈,反馈信息包括流数量、媒体类型等信息。客户端再分析该SDP描述,并为会话中的每一个流发送一
个RTSP建立命令(SETUP),RTSP建立命令告诉服务器客户端用于接收媒体数据的端口。流媒体连接建立完成后,客户端发送一个播放命令(PLAY),服务器就开始在UDP上传送媒体流(RTP包)到客户端。 在播放过程中客户端还可以向服务器发送命令来控制快进、快退和暂停等。最后,客户端可发送一个终止命令(TERADOWN)来结束流媒体会话 二、 RTSP协议与HTTP协议区别
1. RTSP引入了几种新的方法,比如DESCRIBE、PLAY、SETUP 等,并且有不
同的协议标识符,RTSP为rtsp 1.0,HTTP为 1.1;
2. HTTP是无状态的协议,而RTSP为每个会话保持状态; 3. RTSP协议的客户端和服务器端都可以发送Request请求,而在HTTPF 协
议中,只有客户端能发送Request请求。
4. 在RTSP协议中,载荷数据一般是通过带外方式来传送的(除了交织的情
况),及通过RTP协议在不同的通道中来传送载荷数据。而HTTP协议的
载荷数据都是通过带内方式传送的,比如请求的网页数据是在回应的消息体中携带的。
5. 使用ISO 106(UTF-8) 而不是ISO 8859-1,以配合当前HTML的国际化; 6. RTSP使用URI请求时包含绝对URI。而由于历史原因造成的向后兼容性
问题,HTTP/1.1只在请求中包含绝对路径,把主机名放入单独的标题域中; 三、 RTSP重要术语
1. 集合控制(Aggregate control ):
对多个流的同时控制。对音频/视频来讲,客户端仅需发送一条播放或者暂停消息就可同时控制音频流和视频流。 2. 实体(Entity):
作为请求或者回应的有效负荷传输的信息。由以实体标题域(entity-header field)形式存在的元信息和以实体主体(entity body)形式存在的内容组成 3. 容器文件(Container file):
可以容纳多个媒体流的文件。RTSP服务器可以为这些容器文件提供集合控制。
4. RTSP会话(RTSP session ):
RTSP交互的全过程。对一个电影的观看过程,会话(session)包括由客户端建立媒体流传输机制(SETUP),使用播放(PLAY)或录制(RECORD)开始传送流,用停止(TEARDOWN)关闭流。 四、 RTSP请求消息
1. 消息格式: 方法 URI RTSP版本 CR LF 消息头 CR LF CR LF 消息体 CR LF
其中方法包括OPIONS、DESCRIBE、SETUP、PLAY、TEARDOWN等,URI是接受方的地址,例
如:rtsp://192.168.0.1/video1.3gp。
RTSP版本一般都是 RTSP/1.0。每行后面的CR LF表示回车换行,需要接受端有相应的解析,最后一个消息头需要有两个CR LF
消息体是可选的,有的Request消息并不带消息体。 五、 RTSP回应消息
1. 消息格式: RTSP版本 状态码 解释CR LF 消息头 CR LF CR LF 消息体 CR LF
其中RTSP版本一般都是RTSP/1.0,状态码是一个数值,用于表示Request消息的执行结果,比如200表示成功,解释是与状态码对应的文本解释. 六、 RTSP 重要方法 篇二:RTSP协议 RTSP
RTSP(Real Time Streaming Protocol),实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学、网景和RealNetworks公司提交的IETF RFC标准。该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或RTP完成数据传输。HTTP与RTSP相比,HTTP传送HTML,而RTSP传送的是多媒体数据。HTTP请求由客户机发出,服务器作出
响应;使用RTSP时,客户机和服务器都可以发出请求,即RTSP可以是双向的。 概念
RTSP是用来控制声音或影像的多媒体串流协议,并允许同时多个串流需求控制,传输时所用的网络通讯协定并不在其定义的范围内,服务器端可以自行选择使用TCP或UDP来传送串流内容,它的语法和运作跟HTTP 1.1类似,但并不特别强调时间同步,所以比较能容忍网 RTSP
络延迟。而前面提到的允许同时多个串流需求控制
(Multicast),除了可以降低服务器端的网络用量,更进而支持多方视讯会议(Video
Conference)。因为与HTTP1.1的运作方式相似,所以代理服务器〈Proxy〉的快取功能〈Cache〉也同样适用于RTSP,并因RTSP具有重新导向功能,可视实际负载情况来转换提供服务的服务器,以避免过大的负载集中于同一服务器而造成延迟。 简介
该协议用于C/S模型,是一个基于文本的协议,用于在客户端和服务器端建立和协商实时流会话。
实时流协议(RTSP)是应用级协议,控制实时数据的发送。RTSP提供了一个可扩展框架,使实时数据,如音频与视频,的受控、点播成为可能。数据源包括现场数据与存储在剪辑中数据。该协议目的在于控制多个数据
发送连接,为选择发送通道,如UDP、组播UDP与TCP,提供途径,并为选择基于RTP上发送机制提供方法。
实时流协议(RTSP)建立并控制一个或几个时间同步的连续流媒体。尽管连续媒体流与控制流交换是可能的,通常它本身并不发送连续流。换言之,RTSP充当多媒体服务器的网络远程控制。RTSP连接没有绑定到传输层连接,如TCP。在RTSP连接期间,RTSP用户可打开或关闭多个对服务器的可传输连接以发出RTSP请求。此外,可使用无连接传输协议,如UDP。RTSP流控制的流可能用到RTP,但RTSP操作并不依赖用于携带连续媒体的传输机制。 协议支持的操作如下:
(1)从媒体服务器上检索媒体:用户可通过HTTP或其它方法提交一个演示描述。如演示是组播,演示式就包含用于连续媒体的的组播地址和端口。如演示仅通过单播发送给用户,用户为了安全应提供目的地址。
(2)媒体服务器邀请进入会议:媒体服务器可被邀请参加正进行的会议,或回放媒体,或记录其中一部分,或全部。这种模式在分布式教育应用上很有用,会议中几方可轮流按远程控制按钮。
(3)将媒体加到现成讲座中:如服务器告诉用户可获得附加媒体内容,对现场讲座显得尤其有用。如HTTP/1.1中类似,RTSP请求可由代理、通道与缓存处理。 协议特点
(1) 可扩展性:新方法和参数很容易加入RTSP。
(2) 易解析:RTSP可由标准HTTP或MIME解析器解析。 (3) 安全:RTSP使用网页安全机制。
(4) 于传输:RTSP可使用不可靠数据报协议(EDP)、可靠数据报协议(RDP);如要实现应用级可靠,可使用可靠流协议。
(5) 多服务器支持:每个流可放在不同服务器上,用户端自动与不同服务器建立几个并发控制连接,媒体同步在传输层执行。
(6) 记录设备控制:协议可控制记录和回放设备。
(7) 流控与会议开始分离:仅要求会议初始化协议提供,或可用来创建惟一会议标识号。特殊情况下,可用SIP或H.323来邀请服务器入会。
(8) 适合专业应用:通过SMPTE时标,RTSP支持帧级精度,允许远程数字编辑。
(9) 演示描述中立:协议没强加特殊演示或元文件,可传送所用格式类型;然而,演示描述至少必须包括一个RTSP URL。 (10) 代理与防火墙友好:协议可由应用和传输层防火墙处理。防火墙需要理解SETUP方法,为UDP媒体流打开一个“缺口”。
(11) HTTP友好:此处,RTSP明智地采用HTTP观念,使现在结构都可重用。结构包括Internet内容选择平台(PICS)。由于在大多数情况下控制连续媒体需要服务器状态,RTSP不仅仅向HTFP添加方法。
(12) 适当的服务器控制:如用户启动一个流,必须也可以停止一个流。
(13) 传输协调:实际处理连续媒体流前,用户可协调传输方法。
(14) 性能协调:如基本特征无效,必须有一些清理机制让用户决定哪种方法没生效。这允许用户提出适合的用户界面。 协议结构
RTSP是一种文本协议,采用UTF-8编码中的ISO 106字符集。一行可通过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, SETUPLast-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 R opt. all
类型\"g\"表示请求和响应中的通用请求头;类型“R”表示请求头;类型“r”表示响应头;类型\"e\"表示实体头字段。在“support”一栏中标有“req.”的字段必须由接收者以特殊的方法实现;而“opt.”的字段是可选的。注意,不是所有“req.”字段在该类型的每个请求中都会被发送。“req.”只表示客户机(支持响应头)和服务器(支持请求头)必须执行该字段。最后一栏列出了关于头字段产生作用的方法;其中“entity”针对于返回一个信息主体的所有方法。 协议参数 1.RTSP版本
H.321采用,用RTSP代替HTTP。 2.RTSPURL
“rksp\"和“rtspu\"方案用于指RTSP协议使用的网络资源,为RTSP URL定义方案特定的语法和语义。
3.会议标识
会议标识对RTSP来说是模糊的,采用标准URI编码方法编码,可包含任何八位组数值。会议标识必须全局惟一。 4.连接标识
连接标识是长度不确定的字符串,必须随机选择,至少要8个八位组长,使其很难被猜出。 5.SMPTE相关时标
SMPTE相关时标表示相对剪辑开始的时间,相关时标表示成SMPTE时间代码,精确到帧级。时间代码格式为小时:分钟:秒:帧。缺省smpte格式是\"SMPTE 30\",帧速率为每秒29.97帧。其他SMPTE代码可选择使用smpte时间获得支持(如\"SMPIE 25\")。时间数值中帧段值可从0到29。每秒30与29.97帧的差别可将每分钟的头两帧丢掉来实现。如帧值为零,就可删除。 6.正常播放时间
正常播放时间(NPT)表示相对演示开始的流绝对位置。时标由十进制分数组成。左边部分用秒或小时、分钟、秒表示;小数点右边部分表示秒的部分。演示的开始对应0.0秒,负数没有定义。特殊常数定义成现场事件的当前时刻,这也许只用于现场事件。直观上,NPT是联系观看者与程序的时钟,通常以数字式显示在VCR上。 7.绝对时间
绝对时间表示成ISO 8601时标,采用UTC(GMT)。 8.可选标签
可选标签是用于指定RTSP新可选项的惟一标记。这些标记用在请求和代理-请求头段。当登记新RTSP选项时,需提供下列信息:
(1)名称和描述选项。名称长度不限,但不应该多于20个字符。名称不能包括空格、控制字符。
(2)表明谁改变选项的控制。如IETF,ISO,ITU-T,或其他国际标准团体、联盟或公司。
(3)深入描述的参考,如RFC、论文、专利、技术报告、文档源码和计算机手册。 (4)对专用选项,附上。 RTSP信息
RTSP是基于文本的协议,采用ISO 106字符集,使用UTF-8编码方案。行以CRLF中断,但接收者本身可将CR和LF解释成行终止符。基于文本的协议使以自描述方式增加可选参数更容易。由于参数的数量和命令的频率出现较低,处理效率没引起注意。文本协议很容易以脚本语言(如:Tcl,Visual Basic与Perl)实现研究原型。
ISO 106字符集避免敏感字符集切换,但对应用来说不可见。RTCP也采用这种编码方案。带有重要意义位的ISO 8859-1字符表示如100001x 10x x x x x x。RTSP信息可通过任何低层传输协议携带。
请求包括方法、方法作用于其上的对象以及进一步描述方法的参数。方法也可设计为在服务器端只需要少量或不需要状态维护。当信息体包含在信息中,信息体长度由如下因素决定: 篇三:RTSP协议与HTTP协议
RTSP协议与HTTP协议 一。RTSP协议简介
流媒体技术是一系列的网络协议的集合,包括:
1. 实时传输协议RTP(Real-time Transport protocol) 2. 实时传输控制协议RTCP(Real-time Transport Control protocol)
3. 实时流协议RTSP(Real Time Streaming protocol) 4. 资源预留协议RSVP(Resource Reserve Protocol)。 实时流协议RTSP是一个应用层协议,用于控制具有实时特性的数据(例如多媒体流)的传送。为多媒体数据流提供远程控制功能,如播放、停止、快进等。该协议支持以下操作: 1. 从媒体服务器上获取媒体;
2. 邀请媒体服务器加入会议(Conference);
3. 在一个已存在的演示(Presentation)中加入新的媒体流。
RTSP协议一般与RTP/RTCP和RSVP等底层协议一起协同工作,提供基于Internet的整套的流服务。它可以选择发送通道(例如:UDP、组播UDP和TCP)和基于RTP的发送机制。它可以应用于组播和点播。 二。 HTTP协议简介
HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在
WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。
HTTP协议的主要特点可概括如下: 1.支持客户/服务器模式。
2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。
由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
4.无连接:无连接的含义是每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
2.2 HTTP协议的几个重要概念
1.连接(Connection):一个传输层的实际环流,它是建立在两个相互通讯的应用程序之间。
2.消息(Message):HTTP通讯的基本单位,包括一个结构化的八元组序列并通过连接传输。
3.请求(Request):一个从客户端到服务器的请求信息包括应用于资源的方法、资源的标识符和协议的版本号
4.响应(Response):一个从服务器返回的信息包括HTTP协议的版本号、请求的状态(例如“成功”或“没找到”)和文档的MIME类型。
5.资源(Resource):由URI标识的网络数据对象或服务。 6.实体(Entity):数据资源或来自服务资源的回映的一种特殊表示方法,它可能被包围在一个请求或响应信息中。一个实体包括实体头信息和实体的本身内容。
7.客户机(Client):一个为发送请求目的而建立连接的应用程序。
8.用户代理(User agent):初始化一个请求的客户机。它们是浏览器、编辑器或其它用户工具。
9.服务器(Server):一个接受连接并对请求返回信息的应用程序。
10.源服务器(Origin server):是一个给定资源可以在其上驻留或被创建的服务器。
11.代理(Proxy):一个中间程序,它可以充当一个服务器,也可以充当一个客户机,为其它客户机建立请求。请求是通过可能的翻译在内部或经过传递到其它的服务器中。一个代理在发送请求信息之前,必须解释并且如果可能重写它。
代理经常作为通过防火墙的客户机端的门户,代理还可以作为一个帮助应用来通过协议处理没有被用户代理完成的请求。 12.网关(Gateway):一个作为其它服务器中间媒介的服务器。与代理不同的是,网关接受请求就好象对被请求的资源来说它
就是源服务器;发出请求的客户机并没有意识到它在同网关打交道。
网关经常作为通过防火墙的服务器端的门户,网关还可以作为一个协议翻译器以便存取那些存储在非HTTP系统中的资源。 13.通道(Tunnel):是作为两个连接中继的中介程序。一旦激活,通道便被认为不属于HTTP通讯,尽管通道可能是被一个HTTP请求初始化的。当被中继的连接两端关闭时,通道便消失。当一个门户(Portal)必须存在或中介(Intermediary)不能解释中继的通讯时通道被经常使用。 14.缓存(Cache):反应信息的局域存储。 三。 RTSP协议与HTTP协议的联系与区别
RTSP协议负责在服务器和客户端之间建立并控制一个或多个时间上同步的连续流媒体,其目标是象HTTP协议为用户提供文字和图形服务那样为用户提供连续媒体服务。因此,RTSP协议的设计在语法和操作上与HTTP协议很相似,这样,对于HTTP的大部分扩展也适用于RTSP。
但是RTSP协议和HTTP协议在很多方面有着区别: 1. HTTP是一个无状态协议,而RTSP协议是有状态的。 2. HTTP本质上是一个非对称协议,客户端提出请求而服务器响应;而RTSP是对称的,服务器和客户端都可发送和响应请求。
1.2 RTSP协议机理
在RTSP中,每个演示(Presentation)及其所对应的媒体流都由一个RTSP URL标识。整个演示及媒体特性都在一个演示描述(Presentation description )文件中定义,该文件可
能包括媒体编码方式、语言、RTSP URLs、目标地址、端口及其它参数。用户在向服务器请求某个连续媒体流的服务之前,必须首先从服务器获得该媒体流的演示描述(Presentation description )文件以得到必需的参数,演示描述文件的获取可采用HTTP、email或其他方法。
RTSP中的所有的操作都是通过服务器和客户方的消息应答来完成的,其消息包括请求 (Request)和响应(
Response)两种,RTSP正是通过服务器和客户端的消息应答来完成媒体流的创建、初始化(SETUP)、VCR控制(PLAY、PAUSE)以及拆线(TEARDOWN)等操作的。在基于
Client/Server结构的分布式视频点播系统中,RTSP协议的操作过程如图:客户机在向视频服务器请求视频服务之前,首先通过HTTP协议从Web服务器获取所请求视频服务的演示描述(Presentation description )文件,利用该文件提供的信息定位视频服务地址(包括视频服务器地址和端口号)及视频服务的编码方式等信息。然后客户机根据上述信息向视频服务器请求视频服务。视频服务初始化完毕,视频服务器为该客户建立一个新的视频服务流,客户端与服务器运行实时流控制协议RTSP,以对该流进行各种VCR控制信号的交换,如播放(PLAY)、停止(PAUSE)、快进、快退等。当服务完毕,客户端提出拆线(TEARDOWN)请求,
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务