RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议,是TCP/IP协议体系中的一个应用层协议,由哥伦比亚大学、网景(Netscape)和Real Networks公司提交的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具有重新导向功能,可视实际负载情况来转换提供服务的服务器,以避免过大的负载集中于同一服务器而造成延迟。

RTSP是由Real Network和Netscape共同提出的如何有效地在IP网络上传输流媒体数据的应用层协议。RTSP对流媒体提供了诸如暂停,快进等控制,而它本身并不传输数据,RTSP的作用相当于流媒体服务器的远程控制。服务器端可以自行选择使用TCP或UDP来传送串流内容,它的语法和运作跟HTTP 1.1类似,但并不特别强调时间同步,所以比较能容忍网络延迟。

RTSP是应用级协议,控制实时数据的发送。RTSP提供了一个可扩展框架,使实时数据,如音频与视频的受控点播成为可能。数据源包括现场数据与存储在剪辑中数据。该协议目的在于控制多个数据发送连接,为选择发送通道,如UDP、组播UDP与TCP,提供途径,并为选择基于RTP上发送机制提供方法。

RTSP建立并控制一个或几个时间同步的连续流媒体。尽管连续媒体流与控制流交换是可能的,通常它本身并不发送连续流。换言之,RTSP充当多媒体服务器的网络远程控制。RTSP连接没有绑定到传输层连接,如TCP。RTSP连接期间,RTSP用户可打开或关闭多个对服务器的可传输连接以发出RTSP请求。此外,可使用无连接传输协议,如UDP。RTSP流控制的流可能用到RTP,但RTSP操作并不依赖用于携带连续媒体的传输机制。

RTSP中并没有连接(connection)的概念,服务器(Server)只管理通过标识符进行标记的会话(session)。RTSP会话也从并未绑定至任何传输层连接(如TCP)。在一个RTSP会话生命周期中,RTSP客户端(Client)可能打开、关闭许多可靠传输层连接以向服务器发出RTSP请求(request)。此外,RTSP也有可能使用如UDP的无连接传输协议。

一次基本的RTSP操作过程是

(1). 首先,客户端连接到流服务器并发送一个RTSP描述命令(DESCRIBE)。

(2). 流服务器通过一个SDP描述来进行反馈,反馈信息包括流数量、媒体类型等信息。

(3). 客户端再分析该SDP描述,并为会话中的每一个流发送一个RTSP建立命令(SETUP),RTSP建立命令告诉服务器客户端用于接收媒体数据的端口。

(4). 流媒体连接建立完成后,客户端发送一个播放命令(PLAY),服务器就开始在UDP上传送媒体流(RTP包)到客户端。在播放过程中客户端还可以向服务器发送命令来控制快进、快退和暂停等。

(5). 最后,客户端可发送一个终止命令(TERADOWN)来结束流媒体会话。

RTSP用于C/S模型,是一种基于文本的协议,采用UTF-8编码中的ISO 10646字符集。一行可通过CRLF终止,但接收端需要做好解释CR和LF作为一行终止符的准备。

RTSP请求可以几种不同方式传送

(1). 持久传输连接,用于多个请求/响应传输;

(2). 每个请求/响应传输一个连接;

(3). 无连接模式。

RTST方法定义:P----演示,S----流,C----用户端,S----服务器端,如下图所示:

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

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

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

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

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

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

RTSP协议与HTTP协议区别:

(1). RTSP引入了几种新的方法,比如DESCRIBE、PLAY、SETUP 等,并且有不同的协议标识符,RTSP为rtsp 1.0,HTTP为http 1.1。

(2). HTTP是无状态的协议,而RTSP为每个会话保持状态。

(3). RTSP协议的客户端和服务器端都可以发送Request请求,而在HTTPF协议中,只有客户端能发送Request请求。

(4). 在RTSP协议中,载荷数据一般是通过带外方式来传送的(除了交织的情况),及通过RTP协议在不同的通道中来传送载荷数据。而HTTP协议的载荷数据都是通过带内方式传送的,比如请求的网页数据是在回应的消息体中携带的。

(5). 使用ISO10646(UTF-8) 而不是ISO 8859-1,以配合当前HTML的国际化。

(6). RTSP使用URI请求时包含绝对URI。而由于历史原因造成的向后兼容性问题,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会话(RTSP session):包括由客户端建立媒体流传输机制(SETUP),使用播放(PLAY)或录制(RECORD)开始传送流,用停止(TEARDOWN)关闭流。

SDP(Session Description Protocol )会话描述协议:用于描述多媒体会话,它为会话通知、会话初始和其它形式的多媒体会话初始等操作提供服务。SDP的设计宗旨是通用性协议,所以它可以应用于很大范围的网络环境和应用程序,但SDP不支持会话内容或媒体编码的协商操作。

客户端要播放RTSP媒体流,就需要知道媒体源的URL,RTSP的URL格式一般如下

(1). rtsp://10.1.125.144:8554/test

(2). rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov

(3). rtsp://admin:xxx@10.1.25.125:554

注:以上内容均来自网络整理,主要参考:

1. https://baike.baidu.com/item/RTSP/1276768?fromtitle=RTSP%E5%8D%8F%E8%AE%AE&fromid=3361755

2. https://blog.csdn.net/leixiaohua1020/article/details/11955341

3. https://www.jianshu.com/p/b0474f65e729

GitHub: https://github.com/fengbingchun/OpenCV_Test

实时流协议(RTSP)简介相关推荐

  1. 实时流协议---RTSP【详解】

    目录 ​ 一.RTSP简介 二.RTSP方法 三.RTSP报文解析 1.请求报文 2.响应报文 四.RTSP常用字段含义 五.简单的RTSP交互过程 六.RTSP错误码 一.RTSP简介 RTSP(R ...

  2. 实时流协议(RTSP) 来自 维基百科

    https://zh.wikipedia.org/wiki/%E5%8D%B3%E6%99%82%E4%B8%B2%E6%B5%81%E5%8D%94%E5%AE%9A 目录 协议指令 OPTIONS ...

  3. android 直播流服务器,视频-Android上的实时流RTMP / RTSP播放器,无需使用webview(WOWZA服务器)...

    视频-Android上的实时流RTMP / RTSP播放器,无需使用webview(WOWZA服务器) 我正在开发一个Android应用程序,我想在其中发布和播放视频... 我想要的是: 我的应用记录 ...

  4. Twitter Heron 实时流处理系统简介

    Twitter Heron是Twitter公司开源的一个实时的.容错的.分布式的流数据处理系统.Heron是Apache Storm的直接继承者.它继承了Apache Storm的实时性.容错.低延迟 ...

  5. rtp 多媒体流同步控制 实时传输协议 简介

    RTP(Real-time Transport Protocol)是由IETF开发的实时传输协议,可以在面向连接或无连接的下层协议上工作,通常和UDP协议一起使用.RTP的工作机理与RSVP不同,主要 ...

  6. 实时传输协议:RTP、RTCP、RTSP介绍

    http://blog.csdn.net/heanyu/article/details/6202500 RTP(Real Time Transport Protocol) RTP是针对Internet ...

  7. IP实时传输协议RTP/RTCP详解

    1.简介 目前,在IP网络中实现实时语音.视频通信和应用已经成为网络应用的一个主流技术和发展方向,本文详细介绍IP协议族中用于实时语音.视频数据传输的标准协议RTP( Real-time Transp ...

  8. 流媒体协议RTSP、HTTP、HTTPS、SDP四种区别解析

    了解了基本协议,我们在看代码写代码的过程中,就会有事半功倍的效果.下面主要讲解RTSP,HTTP,HTTPS, SDP四种协议,一起来看看了解下,仅供参考 一:RTSP协议简介 实时流协议RTSP是一 ...

  9. 流媒体协议RTSP,HTTP,HTTPS, SDP

     ----------------------------------------转载请注明出处http://blog.csdn.net/tjy1985/article/details/7996121 ...

最新文章

  1. 结合实例与代码谈数字图像处理都研究什么?
  2. note for git
  3. 用iframe实现局部刷新的各种跳转方法(网上总结)
  4. CentOS源码下载和Windows平台下解压rpm包
  5. iOS中去除 Warning警告
  6. 要开始另一个linux操作系统的尝试了,说说我以前的ubuntu吧
  7. Angular 依赖注入机制根据providers定义生成注入实例的框架代码
  8. 指针和数组替换和区别
  9. jQuery 结构分析
  10. Android java传递int类型数组给C
  11. C语言——指针函数和函数指针(回调函数)
  12. Integer与int的种种比较你知道多少?
  13. 模块参考资料-硬件资料-Air720UG/UH
  14. 2021年11月软件设计师真题解析
  15. python泰勒展开式求sin_泰勒展开式利用python数值方法证明
  16. 联想服务器AR系列,联想沉浸式AR游戏设备Mirage AR现场实拍图赏
  17. Docker hub Habor
  18. ITopologicalOperator Intersect
  19. 实时股票数据获取方式
  20. 电信android智能机定位问题

热门文章

  1. 基于MATLAB的手写体数字识别算法的实现
  2. java获取google 的简单天气预报
  3. 参考文档:《基于多目标算法的冷热电联供型综合能源系统运行优化》
  4. ggplot2一页多图(组合图)
  5. Origin Pro 8.5中对多个多图层图片进行合并
  6. 中考表格计算机函数求和方法,2016信息技术中考电子表格处理模块
  7. ElasticSearch 大数据搜索查询分析全指南
  8. LCD RGB 控制技术 时钟篇
  9. 线上宠物店一体化服务小程序设计与开发
  10. PHP 实现阿里云短信API对接(登录/注册参考)