RTSP

Real Time Streaming Protocol  实时流协议
RTSP,实时流协议,是一个C/S多媒体节目协议,它可以控制流媒体数据在IP网络上的发送,同时提供用于音频和视频流的
“VCR模式”远程控制功能,如停止、快进、快退和定位。同时RTSP又是一个应用层协议,用来与诸如RTP、RSVP等更低层的协议一起,
提供基于Internet的整套流化服务。基于RTSP协议流媒体服务器的实现方案可以让流媒体在IP上自由翱翔。

RTSP协议

1.协议特点

RTSP协议具有如下的特点:

● 可扩展性:新方法和参数很容易加入RTSP。

● 易解析:RTSP可由标准 HTTP或MIME解析器解析。

● 安全:RTSP使用网页安全机制。

● 独立于传输:RTSP传输通道,可使用不可靠数据包协议(UDP)或可靠数据包协议(RDP),如要实现应用级可靠,
可使用诸如TCP的可靠流协议。

● 记录设备控制:协议可控制记录和回放设备。

● 适合专业应用:通过SMPTE 时标,RTSP支持帧级精度,允许远程数字编辑。

● 演示描述中立:协议未强加特殊演示或元文件,可传送所用格式类型;然而,演示描述至少需包含一个RTSP URI。

● 代理与防火墙友好:协议可由应用和传输层防火墙处理。防火墙需要理解SETUP方法,为UDP媒体流打开一个“缺口”。

● 适当的服务器控制:如用户启动一个流,则也可以停止一个流。

● 传输协调:实际处理连续媒体流前,用户可协调传输方法。

● 性能协调:如基本特征无效,则必须有一些清理机制让用户决定那种方法不生效。这允许用户提出适合自己的界面。


2.同其他协议的关系

RTSP在功能上与HTTP有重叠,最明显的交叉是在流媒体内容的发布上——大多是通过网页进行的。
目前的协议规范同时允许网页服务器和流媒体服务器支持RTSP实现。例如,演示描述可通过HTTP或RTSP获取,
这样减少了基于浏览器情况下的往返传递时间,同时也支持独立的RTSP 服务器与不依赖HTTP的客户端通信。

但是,RTSP与HTTP 的本质差别在于以下五个方面

● RTSP和HTTP是两个不同的协议,它们采用不同的方法和协议标志符。

● RTSP协议的数据发送不占用协议带宽,并且以不同的协议发送。

● HTTP是一个不对称协议,客户端发出请求,服务器应答。在RTSP中,客户端和服务器都可发出请求,且请求是有状态的。

● HTTP是一个无状态协议,而RTSP在任何情况下,必须保持一定状态,以便在请求确认后的很长时间内,仍可设置参数,控制媒体流。

● RTSP使用ISO 10646(UTF-8)定义,而不使用ISO 8859-1定义,保持与当前的HTML一致。

虽然大多数实时媒体采用RTP作为传输协议,但RTSP并不绑定RTP。

重用HTTP的功能至少在两个方面有好处:安全和代理。由于要求非常接近,因此在缓存、代理和授权上采用HTTP功能是有价值的。

RTSP的实现

RTSP功能实现结构如下图所示。

RTSP在流媒体传输过程中,仅仅为双方建立连接,并不具备任何智能,也就不能很好地应付难以预料的网络状态。因此,
必须在它原有功能的基础上,进行改进。

(1)初始化

在建立连接之前,客户端应向服务器提出测试请求,即要求服务器向客户端发送相应的测试数据包。初始化的目的,
是为了获取客户端和服务器之间的一些网络参数,估测基本网络状况,并以此选择相应的网络传输协议,使客户端获得最佳观看效果。

接到这个请求之后,服务器将根据自身情况进行如下测试:

● 利用同客户端建立的RTSP通道,采用TCP协议,下发测试数据包。

● 采用UDP协议,向客户端下发测试数据包。
测试数据包仅做测试用,上面带有相应的时间和顺序信息,其内部数据并无任何意义。

需要向RTSP增加一个新的方法TEST,以支持这种传输前的测试工作。

(2) TCP传输

如果在TCP测试中,客户端反馈良好,即丢包率在可承受范围之内,并且在规定时间内到达,那么就认为客户端同服务器之间的网络状况良好,
 可以采用RTP over TCP的方式发送数据。由于TCP没有丢包(其自身具有重传机制),网络状况又属于良好,因此客户端将有较高的视听享受。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值