RTSP(Real Time Streaming Protocol),实时流传输协议,是TCP/IP体系中的应用层协议,基于文本。它建立并控制两点之间的一个或多个连续的媒体流的会话,比如视频和音频。它看起来像是媒体服务器的“网络远程控制”。
RTSP没有连接的概念。相反,服务器维护着一个ID标识的会话。RTSP不和任何传输层协议绑定。在会话中,客户可以使用可靠连接发送请求,也可以使用无连接的传输协议。RTSP也可以使用RTP来传输流(以及RTCP来控制),但它的操作并不依赖于传输机制。
相比于HTTP,RTSP有以下特性:
1、有许多新方法,并有一个不同的协议ID;
2、在几乎所有情况下需要默认维护一个状态,而HTTP是无状态的;
3、服务器和客户端都可以发送请求(只有在建立连接时,服务器才能向客户端发送请求,否则可能通不过客户端的防火墙);
4、数据由不同协议在频道外(out-of-bind)携带;
5、在ISO 10646 (UTF-8) 而不是ISO 8859-1中定义;
6、请求URI总是包含绝对URI。基于向后兼容,HTTP/1.1在请求里只放绝对路径,而在头部放入主机名。
协议支持以下特性:
1、从服务器上获得媒体数据:
客户通过HTTP或其它方法可以获得数据外观(作为一个完整媒体反馈展现给客户的一个或多个流)的描述。如果外观正被组播,那么外观描述包含了组播地址和端口。如果外观只通过单播发送给客户,那么基于安全原因由客户提供地址。
2、邀请媒体服务器参加会议:
媒体服务器可以被“邀请”到一个已有的会议,播放或录制媒体。这种模式对于分布式教学应用很有帮助。会议多方可以轮流进行远程控制。
3、在已有外观里加入媒体:
服务器可以通知客户有新的媒体可用,这对于现场直播的外观特别有用。
RTSP的URL格式为:(rtsp|rtspu)://host[:port][abs path]
当不指定port时,默认端口号为554。rtsp表示命令通过可靠协议发送(比如TCP);rtspu表示基于不可靠协议(比如UDP)。
例如,rtsp://media.example.com:554/twister表示一个外观。
rtsp://media.example.com:554/twister/audiotrack表示外观里的一个轨道。
在rtsp的URL里,名字层次与媒体层次不同,与不同于文件系统。
RTSP的时间类型有:
1、 SMPTE相对时间戳:表示时间剪辑开始的相对时间,时间格式为:小时:分:秒:帧.子帧。默认smpte格式为“SMPTE 30 drop”,表示每秒29.97帧的帧数,这样在时间值里的“帧”的取值范围为0~29。30与29.97的区别,通过丢弃每分钟的前一两个帧来处理。子帧由百分之一帧来衡量。
例:
smpte=10:12:33:20-
smpte=10:07:33-
smpte=10:07:00-10:07:33:05.01
smpte-25=10:07:00-10:07:33:05.01
2、普通播放时间(Normal Play Time,NPT):表示与流外观的起始位置相对的绝对位置。
例:
npt=123.45-125
npt=12:05:35.3-
npt=now-
3、绝对时间:使用UTC时间,适用于现场直播。
RTSP的方法有:
方法 方向 对象 要求 含义
DESCRIBE C->S P,S 推荐 检查演示或媒体对象的描述,也允许使用接收头指定用户理解的描述格式。DESCRIBE的答复-响应组成媒体RTSP初始阶段
ANNOUNCE C->S
S->C P,S 可选 当从用户发往服务器时,ANNOUNCE将请求URL识别的演示或媒体对象描述发送给服务器;反之,ANNOUNCE实时更新连接描述。如新媒体流加入演示,整个演示描述再次发送,而不仅仅是附加组件,使组件能被删除
GET_PARAMETER C->S
S->C P,S 可选 GET_PARAMETER请求检查RUL指定的演示与媒体的参数值。没有实体体时,GET_PARAMETER也许能用来测试用户与服务器的连通情况
OPTIONS C->S
S->C P,S 要求 可在任意时刻发出OPTIONS请求,如用户打算尝试非标准请求,并不影响服务器状态
PAUSE C->S P,S 推荐 PAUSE 请求引起流发送临时中断。如请求URL命名一个流,仅回放和记录被停止;如请求URL命名一个演示或流组,演示或组中所有当前活动的流发送都停止。恢复回放或记录后,必须维持同步。在SETUP消息中连接头超时参数所指定时段期间被暂停后,尽管服务器可能关闭连接并释放资源,但服务器资源会被预订
PLAY C->S P,S 要求 PLAY 告诉服务器以SEFUP指定的机制开始发送数据;直到一些SETUP请求被成功响应,客户端才可发布PLAY请求。PLAY请求将正常播放时间设置在所指定范围的起始处,发送流数据直到范围的结束处。PLAY请求可排成队列,服务器将PLAY请求排成队列,顺序执行
RECORD C->S P,S 可选 该方法根据演示描述初始化媒体数据记录范围,时标反映开始和结束时间;如没有给出时间范围,使用演示描述提供的开始和结束时间。如连接已经启动,立即开始记录,服务器数据请求URL或其他URL决定是否存储记录的数据;如服务器没有使用URL请求,响应应为201(创建),并包含描述请求状态和参考新资源的实体与位置头。支持现场演示记录的媒体服务器必须支持时钟范围格式,smpte格式没有意义
REDIRECT S->C P,S 可选 重定向请求通知客户端连接到另一服务器地址。它包含强制头地址,指示客户端发布URL请求;也可能包括参数范围,以指明重定向何时生效。若客户端要继续发送或接收URL媒体,客户端必须对当前连接发送TEARDOWN请求,而对指定主执新连接发送SETUP请求
SETUP C->S S 要求 对 URL的SETUP请求指定用于流媒体的传输机制。客户端对正播放的流发布一个SETUP请求,以改变服务器允许的传输参数。如不允许这样做,响应错误为"455 Method Not Valid In This State”。为了透过防火墙,客户端必须指明传输参数,即使对这些参数没有影响
SET_PARAMETER C->S
S->C P,S 可选 这个方法请求设置演示或URL指定流的参数值。请求仅应包含单个参数,允许客户端决定某个特殊请求为何失败。如请求包含多个参数,所有参数可成功设置,服务器必须只对该请求起作用。服务器必须允许参数可重复设置成同一值,但不让改变参数值。注意:媒体流传输参数必须用SETUP命令设置。将设置传输参数限制为SETUP有利于防火墙。将参数划分成规则排列形式,结果有更多有意义的错误指示
TEARDOWN C->S P,S 要求 TEARDOWN请求停止给定URL流发送,释放相关资源。如URL是此演示URL,任何RTSP连接标识不再有效。除非全部传输参数是连接描述定义的,SETUP请求必须在连接可再次播放前发布
RTSP同时支持单播和组播(需要UDP)。
分享到:
相关推荐
### RSTP协议研究报告知识点详解 #### 一、RSTP协议简介 - **定义**:RSTP(Rapid Spanning Tree Protocol),即快速生成树协议,是一种用于局域网(LAN)桥接环境中避免环路并确保数据包正确传输的网络协议。RSTP...
Cisco 快速生成树协议 RSTP 协议原理及配置 Cisco 快速生成树协议(RSTP)是一种网络协议,用于防止以太网中的环路问题。快速生成树协议的主要功能有两个:一是在利用生成树算法,在以太网络中,创建一个以某台...
### RSTP协议教程知识点详解 #### 一、生成树协议(STP)概述 生成树协议(Spanning Tree Protocol, STP)是一种用于避免局域网(LAN)中环路形成的网络协议。它通过构建一个无环路的网络拓扑结构来确保数据包能够有效...
"生成树原理、STP协议、RSTP协议的基本原理和应用" 生成树原理是计算机网络中的一种协议,旨在解决网络中的环路问题。该协议通过构建生成树,来避免网络中的环路和广播风暴,从而提高网络的稳定性和可靠性。 生成...
"RSTP协议在华为交换机中的应用" RSTP(Rapid Spanning Tree Protocol)是用于避免数据链路层出现逻辑环路的协议,它基于STP协议,通过细致的修改和补充对原有的STP协议进行了改进。在华为交换机中,RSTP协议的应用...
inferior BPDU信息是指从inferior交换机发来的BPDU信息,STP和RSTP协议可以根据inferior BPDU信息来避免网络中的环路和广播风暴。 STP TC-Protection特性 STP TC-Protection特性是STP协议的一部分,用于保护网络中...
"Cisco快速生成树协议RSTP协议原理及配置" Cisco快速生成树协议(RSTP)是一种生成树协议,用于避免以太网中的环路,提高网络的可靠性和安全性。下面是RSTP协议的主要功能和配置命令: 生成树协议的主要功能 1. ...
嵌入式RSTP协议,全称为快速生成树协议( Rapid Spanning Tree Protocol),是IEEE 802.1D生成树协议(STP)的一个增强版本,旨在提高网络的收敛速度和稳定性。RSTP的主要目标是解决STP在网络拓扑变化时收敛速度慢的...
快速生成树协议(Rapid Spanning Tree Protocol,RSTP)是IEEE 802.1D标准生成树协议(Spanning Tree Protocol, STP)的升级版,具体定义在IEEE 802.1w标准中。RSTP的主要目的是在网络结构发生改变时能够更快地收敛...
### RSTP协议详解 #### 一、桥接与生成树协议(STP)的基本概念 在探讨RSTP(快速生成树协议)之前,我们首先需要理解桥接的基础功能以及生成树协议(STP)是如何解决网络环路问题的。 **1.1 桥接** 桥接设备的主要...
【项目介绍】基于rstp协议或者onvif实现网络摄像机截图python源码+超详细注释(海康大华摄像机).zip【备注】1.项目代码均经过功能验证,确保稳定可靠运行。欢迎下载食用体验!2.主要针对各个计算机相关专业,包括...
标题中的“基于Websocket RSTP协议解析实现摄像头Web监控”是一个关于在Web平台上通过WebSocket技术实现实时视频流传输的课题。RSTP(Real-time Streaming Protocol)是一种用于实时数据传输的网络协议,常用于视频...
本文将详细介绍RSTP协议的基本概念、工作原理及其在lisa系统中的实现细节。 ### 一、RSTP协议概述 #### 1.1 RSTP简介 RSTP(Rapid Spanning Tree Protocol),即快速生成树协议,是IEEE 802.1w标准定义的一种用于...
HCIP中的RSTP协议思维导图
交换机怎么配置RSTP协议?在一些通讯要求比较严格的行业,一般不允许通讯中断,那么为了防止链路因为某种原因而无法通讯,就需要将其配置成冗余链路,当主链路因为某种原因而断开时,会马上切换到备用链路,下面就...
- 在实际应用中,STP/RSTP协议通常实现在数据设备的嵌入式系统中作为一个软件模块。这些模块能够支持多个实例,并通过宏定义在编译时确定实例数量和每个实例支持的最大端口数量。 - 为了简化复杂的调试过程,通常会...
在IT行业中,网络摄像头的实时流传输协议(RTSP,Real-Time Streaming Protocol)常用于视频监控和远程视频通信。本文将深入探讨如何使用C#语言,结合OpenCV库,实现RTSP协议的网络摄像头播放。 首先,理解RTSP协议...
RSTP,全称为Real-time Streaming Protocol(实时流传输协议),是Internet上广泛用于传输音频、视频等实时媒体数据的一种协议。它在RTSP(实时流传输协议)的基础上进行了优化,以更好地适应网络环境的变化,提供更...
快速生成树协议(Rapid Spanning Tree Protocol,RSTP)是在生成树协议的基础上增加了两种端口角色:替换端口(Alternate Port)和备份端口(Backup Port),分别作为根端口(Root Port)和指定端口(Designated ...