`
gaojingsong
  • 浏览: 1212564 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【RTSP(实时流传输协议)协议介绍】

阅读更多

一、RTSP(实时流传输协议)协议介绍

RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学、网景和RealNetworks公司提交的IETF RFC标准。该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或UDP完成数据传输。HTTP与RTSP相比,HTTP请求由客户机发出,服务器作出响应;使用RTSP时,客户机和服务器都可以发出请求,即RTSP可以是双向的。RTSP是用来控制声音或影像的多媒体串流协议,并允许同时多个串流需求控制,传输时所用的网络通讯协定并不在其定义的范围内,服务器端可以自行选择使用TCP或UDP来传送串流内容,它的语法和运作跟HTTP 1.1类似,但并不特别强调时间同步,所以比较能容忍网络延迟。而前面提到的允许同时多个串流需求控制(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请求可由代理、通道与缓存处理。

 



 

 

二、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协议参数

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 URL识别。演示组成的整个演示与媒体属性由演示描述文件定义。使用HTTP或其他途径用户可获得这个文件,它没有必要保存在媒体服务器上。为了说明这个问题,假设演示描述了多个演示,其中每个演示维持了一个公共时间轴。为简化说明,且不失一般性,假定演示描述的确包含这样一个演示。演示可包含多个媒体流。除媒体参数外,网络目标地址和端口也需要决定。

下面区分几种操作模式。

(1)单播:用户选择的端口号将媒体发送到RTSP请求源。

(2)服务器选择地址多播:媒体服务器选择多播地址和端口,这是现场直播或准点播常用的方式。

(3)用户选择地址多播:如服务器加入正在进行的多播会议,多播地址、端口和密钥由会议描述给出。

 

 

 

五、RTSP状态

RTSP控制通过单独协议发送的数据流,与控制通道无关。例如,RTSP控制可通过TCP连接,而数据流通过UDP。因此,即使媒体服务器没有收到请求,数据也会继续发送。在连接生命期,单个媒体流可通过不同TCP连接顺序发出请求来控制。所以,服务器需要维持能联系流与RTSP请求的连接状态。RTSP中很多方法与状态无关,但下列方法在定义服务器流资源的分配与应用上起着重要的作用:

(1) SETUP:让服务器给流分配资源,启动RTSP连接。

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

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

(4) TEARDOWN:释放流的资源,RTSP连接停止。

标识状态的RTSP方法使用连接头段识别RTSP连接,为响应SETUP请求,服务器连接产生连接标识。

  • 大小: 100 KB
  • 大小: 75.6 KB
0
0
分享到:
评论

相关推荐

    实时流传输协议(RTSP)中文版,流媒体开发必备资料

    实时流传输协议(Real-Time Streaming Protocol,简称RTSP)是一种应用层协议,设计用于控制多媒体数据的实时传输,尤其在互联网上进行音频、视频和其他时间同步的媒体流。该协议由Internet工程任务组(IETF)制定,...

    Go-Cameradar是一个用于监控使用实时流传输协议(RTSP)的摄像机

    Cameradar 是一个开源的访问 RTSP 流媒体的工具,可监控使用实时流传输协议(RTSP)的摄像机

    rtsp.rar_RTSP c++_c RTSP_rtsp_rtsp 协议 实现_rtsp协议

    RTSP(Real-Time Streaming Protocol,实时流传输协议)是一种应用层协议,主要用于控制实时音频、视频等媒体的播放。在互联网上,RTSP常用于点播和直播服务,允许客户端远程控制服务器上的媒体数据流。这个"rtsp....

    RTSP协议详解-RTSP

    RTSP(Real-Time Streaming Protocol,实时流传输协议)是一种用于控制多媒体流的协议,与HTTP相似但更加专注于实时性。它的设计目标是为了有效地传输音频、视频等媒体数据,确保流媒体内容的连续性和同步性。RTSP...

    rtsp 协议中文版

    RTSP(Real Time Streaming Protocol,实时流传输协议)是一种应用层协议,用于控制实时数据的传输,例如音频、视频或多媒体数据。它被设计用来在客户端和服务器之间进行交互式媒体流传输,允许用户进行播放、暂停、...

    RTSP协议学习笔记

    RTSP(Real-Time Streaming Protocol,实时流传输协议)是一种应用层协议,主要用于控制实时媒体的播放,如音频、视频或同步数据。它被设计用来在客户端和服务器之间提供交互式媒体流服务,允许用户进行播放、暂停、...

    rtsp协议文档.rar

    RTSP(Real-Time Streaming Protocol,实时流传输协议)是一种应用层协议,主要用于控制音视频等媒体数据的实时传输。这个“rtsp协议文档.rar”压缩包文件可能包含了关于RTSP协议的详细规范、使用方法、实例分析等...

    rtsp实时图像传输

    RTSP(Real-Time Streaming Protocol)实时流传输协议是一种应用层协议,用于控制多媒体数据的传输。在本场景中,RTSP被用来实现实时图像的传输,特别是在海思Hi3516A这款专为视频处理设计的Linux系统平台上。Hi3516...

    Onvif对接Rtsp实时媒体流(基于live555)

    Rtsp(实时流传输协议)则是一种用于控制和传输多媒体数据的协议,广泛应用于视频流媒体服务。Live555是开源的C++库,支持Rtsp、RTP和RTCP等协议,适用于实现多媒体流服务。现在我们将深入探讨这三个关键概念以及...

    RTSPxieyi.rar_c RTSP_live555_rtsp_rtsp server_rtsp协议

    RTSP(Real Time Streaming Protocol,实时流传输协议)是一种应用层协议,用于控制实时音频、视频和其他连续媒体的播放。这个压缩包“RTSPxieyi.rar”包含了关于RTSP协议的学习资料,特别适合初学者进行研究。其中...

    基于ARM FPGA的实时流传输车载记录仪设计.pdf

    3. 实时流传输:使用RTSP实时流传输协议实现直播推流等功能,实现对高速采集的CAN总线数据及视频数据的记录。 4. CAN总线数据记录:使用FPGA实现高速CAN总线数据采集,叠加时标并进行重组,最后将数据通过交互接口与...

    web摄像头rtsp协议

    标题 "web摄像头rtsp协议" 涉及到的技术领域主要集中在网络视频流传输和实时通信,特别是如何利用Web USB摄像头、Live555库以及FFmpeg工具来创建一个支持多摄像头的RTSP服务器。RTSP(Real-Time Streaming Protocol...

    RTSP协议简介

    RTSP(Real Time Streaming Protocol,实时流传输协议)是一种应用层协议,主要用于控制音视频等媒体的实时传输。它由Internet工程任务组(IETF)制定,旨在为交互式多媒体流提供一种可靠的传输机制,允许客户端请求...

    RTSP协议中文版_111.zip

    RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学、网景和RealNetworks公司提交的IETF RFC标准。该协议定义了一对多应用程序如何有效地通过IP...

    rtsp多媒体流协议源代码

    RTSP(Real-Time Streaming Protocol,实时流传输协议)是一种应用层协议,主要用于控制音视频等实时数据的传输。它在互联网上提供了对连续媒体的播放和记录能力,常用于在线直播、远程监控以及多媒体会议等领域。这...

    RTSP协议(中文版)

    RTSP(Real Time Streaming Protocol,实时流传输协议)是一种应用层协议,主要用于控制实时音频、视频和其他连续媒体的播放。这个协议由IETF定义,在RFC 2326中进行了详细描述,旨在提供一种交互式媒体播放服务,...

    RTSP协议详细的介绍

    RTSP(Real-Time Streaming Protocol,实时流传输协议)是一种应用层协议,主要用于控制音视频的实时传输。它是由RealNetworks、Netscape和Vidyo等公司共同开发的,目的是为了解决互联网上的流媒体服务,使得用户...

    rtsp.rar_rtsp_rtsp 协议 实现_rtsp协议

    RTSP(Real-Time Streaming Protocol)协议是一种用于控制多媒体流传输的协议,主要应用于音视频的实时播放和交互。本文将深入解析RTSP协议的核心概念、实现原理以及在实际项目中的应用,结合提供的rtsp.c和rtsp.h...

Global site tag (gtag.js) - Google Analytics