RTSP协议概述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RTSP中的相关术语
连续媒体(Continuous Media):在发送端和接受端有时间关联的数据 流信息。也就是,在数据流的接受端必须要重新生成在源端存在的这种 时间上的关联。连续媒体最好的例子是视频流和音频流。连续媒体可以 是“实时”的,这种时间的先后联系非常紧密,也可以存储的媒体播放, 这种时间的先后联系显得相对宽松一些。 实体(Entity):在请求或者响应中作为在传输中有效载荷(Payload) 的信息。实体由作为实体的元信息描述的实体头(Entity Header)和包 含实体实际内容的实体体(Entity Body)组成。 媒体初始化(Media Initialization):媒体的类型/编码解码等信息。具体 还包含采样时钟频率、颜色表,等等。所有的和媒体播放相关的、与传 输独立的信息,都包含在媒体的初始化信息之中。
RTSP协议的属性
性能协商:如果Server的一些基本的功能缺少或无法实现, 必须存在一种明确的机制供客户来决定要具体实现哪些 RTSP的方法,同时也要提供友好的用户界面。例如,如果 Seeking在Server端不允许,那么在客户端必须禁止使用播 放器的滑竿条来实现拖动的定位功能。 代理服务器和防火墙友好:RTSP协议信息可以很容易地被 应用层和传输层(SOCKS)的防火墙处理。一个防火墙需 要理解RTSP协议的SETUP方法来为UDP媒体流在防火墙上 打开一个“洞”使其通过。 HTTP友好:RTSP中重用了HTTP中的许多概念,包括消息 的格式、消息头的格式等。
RTSP与HTTP比较
RTSP可以通过RTP协议(Real Time Protocol)来传输媒体 流,但其并不依赖于某种特定的传输层协议,是独立于传输 层协议的。 在语法和语意方面,RTSP协议与另一应用层协议HTTP1.1 有很大程度上的相似之处,之所以如此有意的设计,是为了 使得对HTTP协议的扩展在一定程度上也可以应用于RTSP协 议。 RTSP与HTTP毕竟是两种不同的协议,本身也存在着较大的 差别。
RTSP协议操作的几种方式
单播(Unicast):媒体流被传输到发来请求的源地址,客 户提供接收媒体数据流的端口。 多播(Multicast),服务器选择多播地址:媒体服务器选择 多播的地址和端口信息。现场直播和near-media-ondemand服务属于这种典型的情形。 多播(Multicast),客户选择多播地址:如果客户要加入一 个正在进行的多媒体会议,那么多播的地址、端口和秘钥信 息将由会议描述信息所提供。
RTSP中的相关术语
消息(Message):RTSP中通信的基本单位。消息有自身的语法结构, 通过面向连接的或无连接的传输层的协议来传输。 参与者(Participant):多媒体会议中的一个参加者。可以是一台机器、 一台录制设备或一台播放设备等。 表现形式(Presentation):由一条或多条媒体流所组成的、在客户端 共同一起表现一种情形的媒体集合。RTSP通常对于集合中的媒体应用 集合控制。 表现形式描述(Presentation Description):一个表现形式描述中包含 了对表现形式中的一个或多个媒体信息的描述,包含编码/解码的集合、 媒体所在的地址和媒体内容的相关信息。这个表现形式描述可以采用各 种不同的形式,可以采用RFC 2327定义的SDP(Session Description Format),会话描述协议,但并不局限于这种形式。
RTSP中的相关术语
集合控制(Aggregate Control):对于多个媒体流,服务器用单一的时 间线进行控制。对于音频/视频源,这意味着客户端可以提交一个播放或 暂停请求而同时控制声音流和视频流。 会议(Conference):一个多人参加的、多媒体的表现形式,这里的 “多”是表示大于或等于一个。 客户(Client):客户机向媒体服务器发出和媒体控制相关的请求。 连接(connection):相当于在不同机器的两个应用程序之间为了通信 和传输信息而建立的一条“虚拟电路”。 容器文件(Container file):一个容器文件包含了一个或多个媒体流, 这些媒体流组合起来共同表示同一个表现形式。RTSP协议一般通过集 合控制来对容器文件进行操作。
RTSP中的相关术语
响应(Response):同HTTP的Response,响应。 请求(Request):同HTTP的Request,请求。 RTSP会话(RTSP Session):一次完整的RTSP通信过程。 例如,一次完整的在线观看电影的过程。一个RTSP会话包 含一个客户端向媒体服务器发出建立传输连接的请求、流媒 体的传输和播放、录制,和结束这次传输,关闭流的过程。 传输初始化(Transport Initialization):客户端和服务器端 关于传输信息和相关参数的协商过程。
主要内容
RTSP协议概述。 RTSP协议与HTTP协议比较。 RTSP协议所支持的操作。 RTSP协议的相关术语。 RTSP协议的属性。 RTSP协议的相关参数。 RTSP协议中定义的方法。 RTSP协议的消息。 RTSP协议的状态机。 RTSP协议的最小实现需求。
RTSP协议概述
网络新技术组 杨璐
引言
RTSP协议,全称Real Time Streaming Protocol,是应用层 的协议,它主要实现的功能是传输并控制具有实时特性的媒 体流,如音频(Audio)和视频(Video)。 RTSP协议本身提供了一个可扩展的整体框架,媒体源可以 是实时的数据源,如视频会议,也可以是存储的媒体剪辑。 RTSP协议可以同时控制多个数据传输流会话(Session), 提供了选择数据传输通道如UDP、多播UDP和TCP,也提供 了选择基于RTP协议的数据传输机制。 这里主要介绍RTSP协议的特点、与其他协议的关系、相关 的参数、消息格式和协议所提供的操作方法。
RTSP协议的属性
可扩展性。新的方法、扩展的新参数可以很方便的加入到RTSP协议中。 容易解析:RTSP可以通过标准的HTTP或 MIME解析器进行解析。 安全性:RTSP应用了Web的安全机制,所有HTTP的认证机制,包含基 本的认证和数字认证,都可以应用于RTSP。使用者也可以将传输层和 网络层的安全机制应用到RTSP协议中。 传输层独立性:RTSP可通过不可靠的用户数据报协议(UDP)、可靠 的用户数据报协议(RDP)、可靠的传输控制协议(TCP)来实现连接。 多服务器支持:一个表现形式中的各个媒体流可以来源于不同的媒体服 务器。客户机械地同这些媒体服务器进行同时的连接会话。媒体的同步 控制在传输层完成。
RTSP中的相关术语
媒体参数(Media Parameter):和某种特定的媒体所相关的信息,这 些信息在媒体播放前或播放的过程中可以进行设置和改变。 媒体服务器(Media Server):为一个或多个媒体流提供传输、播放和 录制服务的应用程序。在一个媒体表现形式中的不同媒体流可以来自不 同的媒体服务器,同样,一个媒体服务器可能和激起流媒体服务的Web 服务器在同一台机器上,也可以不在同一台机器上。 媒体服务器重新定向(Media Server Indirection):从客户端向媒体服 务器的重新定向。 (媒体)流(Media Stream):一个单独的媒体实例,例如,一个单独 的视频流或一个单独的音频流。当使用RTP传输时,媒体流包含源端所 产生的在一个RTP会话中的所有RTP和RTCP包。
RTSP协议的相关参数—— 版本信息和URL
Βιβλιοθήκη RTSP的版本信息同HTTP协议的版本信息格式相同,只是用RTSP取代 了HTTP。 RTSP的URL头信息有两种格式,RTSP和RTSPU。 rtsp_URL = ( "rtsp:" | "rtspu:" ) "//" host [ ":" port ] [ abs_path ] 片段标识符和查询标识符在RTSP的URL中没有意义。 RTSP意味着请求和应答消息命令的传输通过可靠的传输层协议(在 Internet上,是TCP)来传输。 RTSPU意味着请求和应答消息命令的传输通过不可靠的数据报协议(在 Internet上,是UDP)来传输。 RTSP默认的端口是554。 例如:rtsp://:554/twister/audiotrack
RTSP协议概述
RTSP协议(Real-Time Streaming Protocol),实时流协议,用于建立、 传输和控制一条或多条时间同步的媒体流,如音频流和视频流。 RTSP协议本身不传输连续的媒体流,还与媒体流交错传输控制流。对 于多媒体服务器,RTSP 协议起着“网络远程控制”的作用。 RTSP协议所控制的媒体流的集合,由一种称为“表示描述” (Presentation Description)的格式所定义,一般采用RFC 2327中详细 说明的会话描述协议SDP(Session Description Protocol)所定义的格 式。 RTSP中并没有“连接”(connection)的概念,服务器与客户机之间维 持一个唯一标识的“会话”(Session)。这个会话是独立于传输层的, 在一个会话中,客户端可以建立或取消多次和服务器之间的传输层的连 接,来提交请求。可以通过TCP,也可通过UDP。
RTSP协议的属性
录制设备的控制:RTSP协议可控制媒体的录制和播放设备,也可控制 在这两种模式之间进行转换的设备(比如录放机,VCR)。 适用于专业的应用程序:RTSP协议通过SMPTE的Time Stamps支持数 据帧一级的精确度,允许远程数字编辑。 表现形式描述中立:RTSP协议并不强制使用某一种特定的表现形式的 描述或元文件的格式,但所有可以采用的格式中至少要包含一个RTSP 的URI。 合理的服务器端控制:如果一个客户可以开始媒体流的传输,那么它必 须能够终止这个媒体流的传输。媒体服务器不能向一个只能开始流而不 能终止流的客户提供流媒体服务。 传输协商:客户可以和媒体服务器之间对媒体传输的相关参数和方法在 传输前和传输的过程中进行协商。
扩展RTSP协议的功能
RTSP协议可以通过以下三种途径进行扩展,按照改变程度 的大小: 已经存在的RTSP方法,可以通过增加新参数的形式进行扩 展,只要这些新的参数能够被接受端安全的忽略掉。这类似 于在HTML中增加新的tag。 新的RTSP方法可以加到协议之中。如果消息的接受端无法 理解新扩展的方法,它将返回错误501,发送方不应再请求 同样的方法。一个客户也可以通过OPTION方法来查询服务 器端所支持的方法。 新版本的RTSP协议可以被定义和实现,所有的方便都可以 进行改变。
与HTTP协议的不同之处
RTSP协议引入了许多新的操作方法,并且与HTTP协议有不同的协议标 识信息。 一个RTSP的服务器在绝大多数的情况下默认的要保持会话的状态信息, 而HTTP协议是无状态连接的。 RTSP协议,客户端和服务器端都可以提交请求。 RTSP协议所传输的媒体流数据信息是通过其他的协议(UDP,RTP) 来实现的。 RTSP协议使用ISO 10646 (UTF-8) ,而并非ISO 8859-1 ,为了和当前 的HTML国际化标准保持一致。 RTSP请求中所包含的URI(Uniform Resource Identifier)总是绝对的 URI,而并非绝对路径。而HTTP协议请求的URI中包含的仅是绝对的路 径,主机名包含来另外的协议头中。
RTSP协议所支持的操作
从媒体服务器上获得流媒体。客户可以通过HTTP或其他途径从web服务 器或其他服务器(也可能是本媒体服务器)上获得媒体的表示描述 (Presentation Description),如果需要多播(Multicast),表示描述 中则包含多播的地址和端口信息;如果是单播(Unicast),则客户机提 供接收媒体的地址和端口信息。 “邀请”一台媒体服务器参加一个多媒体会议。一个媒体服务器可以被 “邀请”加入一个正在进行的多媒体会议,可以收看会议直播或录制部 分或全部媒体信息。这在分布式教学的应用软件中是非常重要的。 向当前正在播放显示的媒体中加入后续媒体信息。特别对于一个现场直 播的场景,服务器及时的通知客户机有新的媒体信息可以获得,这个功 能是非常重要的。