1996 年,人们使用 Netscape Navigator 浏览互联网,仍然通过 Yahoo 进行搜索(更不用说 AltaVista 了),第一款翻盖手机是当时最酷的小工具。1996 年也是 RTSP 流媒体技术诞生的一年。尽管许多同类技术已经过时(还记得 Gopher 协议吗?)
问题是:为什么?在瞬息万变的技术世界中,RTSP 是如何生存下来的?本篇文章将介绍四个原因。
什么是 RTSP?
首先,让我们来了解一下 RTSP 的起源。
实时流传输协议(RTSP)是一种网络控制协议,旨在发送低延迟流。该协议由 RealNetworks、Netscape 和哥伦比亚大学的专家于 1996 年左右开发,定义了流中的数据应如何打包以便传输。它还定义了连接的两端应如何准备传输路径。
客户端应用程序使用 RTSP 与服务器交流信息,如客户端使用的应用程序类型、传输机制(单播或多播、UDP 或 TCP)、请求的媒体以及其他重要的控制信息命令,如 DESCRIBE、SETUP 和 PLAY。
值得注意的是,RTSP 实际上并不传输媒体。与 WebRTC 一样,RTSP 流使用实时传输协议 (RTP) 和实时控制协议 (RTCP) 进行媒体流传输。RTSP 还可以使用 SRTP 加密流,以保证其安全。但是,一些供应商实施了专有传输协议。例如,RealNetworks 的 RTSP 流媒体服务器软件也使用了 RealNetworks 的专有实时数据传输 (RDT)。为简单起见,当我们提到 RTSP 时,我们指的是也使用 RTP 或其安全协议 (SRTP) 进行传输的版本。
1) 更适合客户端-服务器模式
与 WebRTC 不同,RTSP 运行起来更简单一些,因为它不需要像 WebRTC 那样执行所有的信令和 NAT 穿越技术。这主要是因为 RTSP 被设计为以客户端对服务器模式从媒体服务器发送和接收媒体流,而 WebRTC 被设计为点对点协议。在每个 WebRTC 连接中,你还必须维护一个单独的信令连接,无论是 WebSocket 还是新的网络标准 WHIP 和 WHEP。而使用 RTSP,每个订阅者/发布者客户端只有一个连接。
由于没有 WebRTC 的高开销,RTSP 流对服务器造成的压力较小,因此允许更多连接。 我们在另一篇文章中详细介绍了 WebRTC 的信令过程。
2) 支持多种设备
RTSP 协议具有令人难以置信的跨设备兼容性。
IP 摄像机
由于 IP 摄像机早在 90 年代就已出现,因此它们是最早采用实时流协议进行流媒体传输的设备之一,并一直沿用至今。如果没坏,就不要修。IP 摄像机有多种用途,如用于报告或执法的交通监控、安全监控,甚至家庭监控。
其他物联网设备
无人机的应用非常广泛,远远超出了后院爱好的范围。智能手机或笔记本电脑控制的无人机可以在实时视频(通常是 RTSP 流)的帮助下进行导航。消防员和美国边境巡逻人员已使用无人机开展行动。此外,空中勘测还可通过检查电线、道路或甚至进行地质勘测来维护基础设施。RTSP 支持通常直接内置在无人机软件中,是近乎实时地访问无人机视频流的常用方法。
将无人机的视频流连接到兼容 RTSP 的媒体服务器,甚至是媒体服务器集群,就可以根据需要将 RTSP 流的观看人数扩展到尽可能多的用户。在关键的军事或急救人员用例中,可以与其他机构、高级官员和其他人一起查看这种一对多的实时流,以做出关键决策。目前这种用例的大多数实施都涉及高延迟流,通常使用基于 HTTP 的高延迟流协议,如 HLS(HTTP 实时流协议),这会产生数秒的延迟。RTSP 转 WebRTC 解决方案可降低延迟,使决策者能够立即拨打关键电话,因为视频流的捕获和传输仅需几毫秒。
机器人
从水下潜水器、辐射测试到炸弹扩散,机器人正被用于各种视频流应用。作为一种延迟极低的成熟解决方案,基于机器人的计算机系统通常使用 RTSP 协议进行视频传输。通过视频,操作员可以控制机器人并执行各种操作。其中影响最大的是医疗机器人,如远程手术机器人和远程呈现机器人,它们使医生能够在孤立的区域进行交流和工作。显然,以毫秒为单位的实时延迟是这一使用案例的关键。
与上述第一响应者/军事案例一样,将单个 RTSP 流扩展到许多观众也是一个重要方面。使用集群中设置的多个 RTSP 服务器将媒体流分散传输给许多观众(其他外科医生/专家),使实时协作成为可能。
3) 移动支持
通常情况下,支持的设备列表到此为止,因为 RTSP 本身并不支持移动设备。这对于一个非常有用的协议来说是一个遗憾。
实时流协议是连接大量广播公司和大量用户的一种简单方法。如前所述,与 WebRTC 相比,RTSP 对媒体服务器造成的压力更小。单个服务器实例可支持更多连接。因此对 RTSP 改造后,可在 Android 和 iOS 设备上使用 RTSP 发送和接收流媒体,可大大降低带宽成本。
4) 低延迟
通过使用高效的 RTP 协议,RTSP 实现了极低的延迟。由于 RTP 也是 WebRTC 的基础协议,因此大多数 RTSP 实现基本上都是 WebRTC 的精简版。这样就能获得相同的性能,而无需考虑复杂性。
为了实现低延迟,RTP 将视频和音频数据分成适合在服务器和客户端之间快速传输的小块发送。每块数据之前都有一个 RTP 报头;RTP 报头和数据又包含在一个 UDP 数据包中。在处理每个数据包时,后面的数据包可能已经处于解压缩或解复用阶段。
为了应对偶尔出现的数据包丢失(一般来说,这是互联网传输的一个危险),RTP 头包含定时信息和序列号,使接收方能够重建源产生的定时。因此,如果有任何不按顺序的内容,可以迅速将其按正确的顺序组织起来进行播放。
RTP 的总体结构整合了基本信息,从而简化了媒体传输过程。因此,它能以极低的延迟实现媒体流的有效传输。
为什么使用 RTSP?
RTSP 协议是实时直播视频流的最佳选择。尽管技术发展日新月异,但 RTSP 的简单设计意味着它在今天仍与 96 年时一样适用和有用。
兼容 RTSP 的媒体服务器可以轻松处理大量的 RTSP 流,因为 RTSP 协议是通过客户端-服务器模式构建的。它原生支持无人机、物联网和机器人等各种设备,具有广泛的兼容性。与移动 SDK 搭配使用时,RTSP 还可扩展到 Android 或 iOS 设备。与 WebRTC 相似,RTSP 使用 RTP 传输视频和数据流。因此,它的实时延迟低于 500 毫秒。
本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/jishu/49996.html