1.什么是rtsp?
RTSP协议以客户服务器方式工作,,如:暂停/继续、后退、前进等 。它是一个多媒体播放控制协议,用来使用户在播放从因特网下载的实时数据时能够进行控制,
因此 RTSP 又称为“因特网录像机遥控协议” 。
RTSP(Real-Time Stream Protocol)是一种基于文本的应用层协议,在语法及一些消息参数等方面,RTSP协议与HTTP协议类似 。
是TCP/IP协议体系中的一个应用层协议, 由哥伦比亚大学, 网景和RealNetworks公司提交的IETF RFC标准. 对应的RFC编号是2326,可以在这里搜索 RFC Editor
该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据. RTSP在体系结构上位于RTP和RTCP之上, 它使用TCP或RTP完成数据传输. RTSP被用于建立的控制媒体流的传输,它为多媒体服务扮演“网络远程控制”的角色 。尽管有时可以把RTSP控制信息和媒体数据流交织在一起传送,但一般情况RTSP本身并不用于转送媒体流数据 。
媒体数据的传送可通过RTP/RTCP等协议来完成 。
该协议用于C/S模型, 是一个基于文本的协议, 用于在客户端和服务器端建立和协商实时流会话.
虽然RTSP服务器同样也使用标识符来区别每一流连接会话(Session),但RTSP连接并没有被绑定到传输层连接(如TCP等),也就是说在整个 RTSP连接期间,
RTSP用户可打开或者关闭多个对RTSP服务器的可靠传输连接以发出RTSP 请求 。此外,RTSP连接也可以基于面向无连接的传输协议(如UDP等) 。
整体而言,RTSP 通常工作于可靠的传输协议 TCP 之上,就像 HTTP 那样,用于发起/结束流媒体传输,交换流媒体元信息 。RTP 通常工作于 UDP之上,用于传输实际的流媒体数据,其中的载荷格式因具体流媒体类型的不同而不同,通常有专门的 RFC 规范对其进行定义,如 H.264 编码格式视频数据的载荷格式在 RFC 6184, RTP Payload Format for H.264 Video 中定义,其它流媒体数据类型有其它的规范进行定义 。RTCP 同样通常工作于 UDP 之上,用于对 RTP 进行控制,流媒体数据的收发端在传输过程中相互发送 RTCP 数据包,将自己这一端检测到的 QoS 等信息传递给对方,使用 RTP/RTCP 协议的应用程序,利用这些信息对收发过程进行控制 。RTP 和 RTCP 在传输过程中,工作于不同的端口上 。RTP 和 RTCP也可以工作于UDP上,用于特定场景 。
2.网络体系
RTSP是类似http的应用层协议,一个典型的流媒体框架网络体系可参考下图:
文章插图
3.一次基本的RTSP操作过程
1).首先,客户端连接到流服务器并发送一个RTSP描述命令(DESCRIBE) 。
2).流服务器通过一个SDP描述来进行反馈,反馈信息包括流数量、媒体类型等信息 。
3).客户端再分析该SDP描述,并为会话中的每一个流发送一个RTSP建立命令(SETUP),RTSP建立命令告诉服务器客户端用于接收媒体数据的端口 。流媒体连接建立完成后,
4).客户端发送一个播放命令(PLAY),服务器就开始在UDP上传送媒体流(RTP包)到客户端 。在播放过程中客户端还可以向服务器发送命令来控制快进、快退和暂停等 。
5).最后,客户端可发送一个终止命令(TERADOWN)来结束流媒体会话
sequenceDiagram
客户端->>服务器:DESCRIBE
服务器->>客户端: 200 OK (SDP)
客户端->>服务器:SETUP
服务器->>客户端: 200 OK
客户端->>服务器:PLAY
【rtsp协议之基本介绍】服务器->>客户端: (RTP包)
4.协议特点
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媒体流打开一个“缺口”.
推荐阅读
- 涿鹿之战还是涿鹿之战
- 断袖之癖指的是哪个皇帝
- 记忆中的经典,恋旧饼之韵饼茶泡饼
- 深圳旅游景点大全之景点介绍
- |玩了和田玉之后,虽然没有身价暴涨,但其令我博学多识
- 君子之道茶之艺术,普洱茶之陈化之香
- Python数据分析之初识可视化
- 防御sqlmap攻击之动态代码防御机制
- Python数据分析之numpy最强攻略
- 天玑9000|天玑9000之王诞生!vivo X80系列跑分一骑绝尘