早在1996年,人们已经开始学会用Netscape的浏览器“上网冲浪”,通过Yahoo搜索信息,而第一台翻盖手机也刚刚问世。同一年,RTSP协议创立。
尽管它的许多技术已被同行抛弃(比如Gopher协议),但在日新月异的技术世界中,RTSP依然生存了下来。这是为什么呢?今天我们就为大家揭秘:RTSP沿用至今的 4 个原因。
什么是RTSP
实时流传输协议(RTSP:Real Time Streaming Protocol)是一种网络传输协议,旨在发送低延迟流。该协议由RealNetworks,Netscape和哥伦比亚大学的专家在1996年开发。它定义了应如何打包流中的数据以进行传输。
RTSP对流媒体提供了诸如暂停,快进等控制,而它本身并不传输流媒体数据,RTSP的作用相当于流媒体服务器的远程控制。
像WebRTC一样,RTSP流将实时传输协议(RTP)与实时控制协议(RTCP)结合使用以进行媒体流传递。简单来说就是,RTSP发起/终结流媒体、RTP传输流媒体数据、RTCP对RTP进行控制、同步。此外,RTSP还可以使用SRTP对流进行加密,保障数据的安全。
但是,某些供应商还拥有专有的传输协议。例如,RealNetworks的RTSP服务器软件还使用了旗下专有的Real Data Transport(RDT)。
RTSP的特点
01 客户端-服务器模式,体验更友好
与WebRTC不同,RTSP的运行方式更简单一些。因为它不执行WebRTC的所有信令和NAT。对于每个WebRTC连接,用户必须维护一个单独的信令WebSocket连接。
而使用RTSP,每个视频订阅用户/发布者客户端只有一个连接。所以说,RTSP可以减轻服务器的负担,从而允许更多的连接。
02 兼容性强,多设备支持
RTSP提供了跨设备的兼容性。
IP摄像机
自90年代以来IP摄像机就已存在,因此它们是RTSP最早采用流媒体技术的设备之一。直到今天,IP摄像机仍在继续使用RTSP。IP摄像机有多种用途,比如交通监控、安防、甚至家庭监控等等。
其他物联网设备
无人机的用途越来越广泛,已经远远超出了业余爱好的使用场景。借助智能手机或笔记本电脑来控制无人机,可以对其引导获得现场的实时视频,比如消防员和美国边境的巡逻人员已经使用无人机执行任务。
此外,航测利用无人机检查电线、道路,甚至用来进行地质勘测、维护基础设施等等。随着无人机的作用越来越大,厂商通常将RTSP内置在无人机软件中,这也是访问无人机视频源的一种常用方法。
机器人
从水下潜水器,到工业测试、协助救援等等,机器人的使用场景也越来越广。因为RTSP具有极低的延迟,基于机器人的计算机系统,通常都使用RTSP进行视频传输。
借助视频,操作员可以控制机器人并执行各种操作。其中影响最大的是诸如远程手术、远程医疗机器人,它们让医生能够在远程区域进行通信和工作。
03 服务器压力小,但缺乏移动端支持
不巧的是,RTSP不支持移动设备,这也正是它的不足之处。但是现在已经有很多技术手段解决了这个问题。比如,TSINGSEE青犀视频的播放器EasyPlayer就可以实现RTSP在移动端播放。
如上文所述,与WebRTC相比,RTSP对流媒体服务器的压力较小。RTSP还提供网络负载均衡的功能,减轻服务器压力和网络带宽要求。
04 低延迟,性能高
通过使用高效的RTP协议,RTSP实现了非常低的延迟:例如,与TSINGSEE青犀视频的产品一起使用时可低至500毫秒。由于RTP也是WebRTC的基础协议,因此大多数RTSP本质上都是WebRTC的简化版本,无需复杂操作即可获得相同的性能。
为了实现这种低延迟,RTP以适合于服务器和客户端之间快速传输的小块形式发送视频和音频数据。每个数据块前面都有一个RTP报头。RTP报头和数据又包含在UDP数据包中。随着每个数据包的处理,后续的数据包可能已经处于解压缩或多路分解的阶段。
为了应对偶尔的数据包丢失,RTP报头包含时序信息和序列号,该序列号允许接收方重构流媒体源产生的时序。因此,如果有任何故障,可以按适当的顺序快速组织以进行流媒体播放。
RTP的结构合并了必不可少的信息,从而简化了流媒体传递的过程。因此,它可以以非常低的延迟实现媒体流的有效传递。
为什么选择使用RTSP
RTSP是实时流视频的绝佳选择。尽管技术飞速发展,但RTSP的简单设计意味着它在今天仍然具有不可或缺性和实用性。
由于RTSP协议是基于客户端-服务器模型构建的,因此服务器可以轻松处理大量的RTSP流。凭借对无人机、物联网和机器人等各种设备的原生支持,它对各种设备的兼容性也非常强。与WebRTC一样,RTSP也使用RTP传输视频和数据流。因此,实时延迟低也正是RTSP受到广泛欢迎的原因之一。