RTSP是什么以及如何工作

流媒体处理协议

流媒体处理协议是通过 Internet 在设备之间传输视频或音频流内容的标准化方法。

视频流协议将视频或音频内容的“块”从一台设备发送到另一台设备。在播放器设备上将这些“块”转换为可重播内容的方法称为“重新组合”方法。为了成功进行该过程,终端设备必须支持发送方使用的协议。否则,将无法播放广播。

RTSP 与 RTMP

RTSP 和 RTMP 都旨在实现高效、低延迟的视频文件流式传输。虽然广播公司广泛使用 RTMP,但 RTSP 主要用于来自 IP 摄像机的本地化流媒体。

RealNetworks 于 1996 年开发了 RTSP,旨在控制流媒体服务器中的娱乐和通信系统,RTSP 利用用户数据报协议 (UDP) 和实时传输协议 (RTP)。RTSP 是用于从 IP 摄像机流式传输视频数据的标准协议,支持可靠的分段流式传输,使用户能够在下载流时观看流。该协议还提供了广泛的自定义选项,以帮助您构建自己的流媒体应用程序并添加新功能。RTSP 的主要缺点是它没有广泛用于通过 Internet 广播多媒体。

实时消息传递协议 (RTMP) 由 Macromedia 开发,现在归 Adobe 所有。RTMP 最初设计用于在媒体服务器和 Flash 播放器之间建立稳定的连接。它使用传输控制协议 (TCP) 从服务器传输数据包。RTMP 的一个主要好处是它可以在您的托管服务器和客户端服务器之间保持稳定的连接,这有助于提供无缝的低延迟流媒体体验,无论互联网连接如何。RTMP 的两大主要缺点是它与 HTML5 播放器不兼容,并且该协议容易受到带宽问题的影响。

什么是实时流协议 (RTSP)?

实时流协议 (RTSP) 是一种网络协议,旨在控制娱乐和通信系统中的流媒体。该协议结合了转码和编程,通过易于使用的链接通过网络或互联网传输视频。RTSP协议最常见的用例之一是安全摄像头系统,其中媒体是视频流,可以有或没有音频。它通常本身不提供连续流,尽管连续媒体流与控制流的交错是可能的,换句话说,RTSP充当多媒体服务器的“网络遥控器”。

RTSP技术规格

音频编解码器:AAC、AAC-LC、HE-AAC+ v1 和 v2、MP3、Speex、Opus、Vorbis
视频编解码器:H.265 (预览版)、H.264、VP9、VP8
播放兼容性:不受广泛支持,很少用于播放(Quicktime Player 和其他符合 RTSP/RTP 的播放器、VideoLAN VLC 媒体播放器、兼容 3Gpp 的移动设备)
优势:低延迟,在 IP 摄像机中无处不在
缺点:未针对体验质量和可扩展性进行优化
延迟:2 秒
变体格式:RTP、RTCP(实时控制协议)和 RTSP 的整个堆栈通常称为 RTSP

RTSP如何工作?

RTSP的功能类似于HTTP,被描述为媒体服务器的“网络远程控制”。该协议旨在控制视频和音频流,而无需下载媒体文件。当视频流开始时,利用 RTSP 的设备会向启动设置过程的媒体服务器发送请求。

第一个请求还必须通过 Options 命令通知客户端可用选项。之后,用户可以观看或关闭流。除了选项请求之外,RTSP 还支持多个控制命令,如播放、暂停和设置。RTSP 利用 TCP 来保持端到端和稳定的连接,而无需本地下载或缓存。

但是,该协议不支持内容加密或丢失媒体数据包的重新传输,并且无法通过 HTTP 直接流式传输到浏览器。这是因为RTSP连接到专用服务器进行流式传输,并依靠RTP传输真实媒体。要避免这种情况,您必须使用 FFMPEG 将 RTSP 转换为 HLS 流。这一主要限制及其无法扩展导致 RTSP 使用率下降。

RTSP 请求

在协商和控制媒体流时,RTSP 通常使用通常从客户端发送到服务器的以下命令:

选项:此请求确定媒体服务器将接受哪些其他类型的请求。
描述:描述请求标识 URL 和数据类型。
Announce:announce 方法描述从客户端发送到服务器时的演示文稿,并在从服务器发送到客户端时更新说明。
设置:设置请求指定在发送播放请求之前必须如何传输媒体流。
播放:播放请求通过告诉服务器开始发送数据来启动媒体传输。
暂停:暂停请求会暂时停止流传输。
录制:录制请求启动媒体录制。
拆解:此请求将完全终止会话并停止所有媒体流。
重定向:重定向请求通过为客户端提供要向其发出请求的新 URL 来通知客户端它必须连接到另一台服务器。
还有其他类型的 RTSP 请求,例如“get parameter”、“set parameter”和“嵌入(交错)二进制数据”。您可以在此处找到更多信息。

何时使用 RTSP 协议

RTSP 协议是用户的最佳选择,有 5 种常见情况:

  1. 提高ONVIF兼容性

RTSP可以极大地帮助安全摄像头实现ONVIF兼容性。如果ONVIF与安全设备不兼容,它提供了备用音频和视频流的选项。当用户尝试将 IP 摄像机与第三方录像机一起使用时,通常会发生这种情况。大多数专业网络视频录像机 (NVR) 系统都提供了添加第三方制造摄像机的替代方法,其中之一是从摄像机访问 RTSP 流。

  1. 录制到辅助位置

RTSP流可以重新录制传输的流并将其存储在第三方服务器或录像机上。许多媒体和网络附加存储 (NAS) 服务器都支持 RTSP,因为它已经存在了几十年。大多数 NVR 系统还可以接受 RTSP 流进行录制,这对于喜欢或需要对其镜头进行二次备份的用户来说是一个有用的功能。

  1. 智能家居系统集成

Control4、Savant 和其他智能家居安装商等公司为安全摄像头、录像机和其他自动化家庭设备提供 RTSP 流兼容性。RTSP技术为这些公司提供了一种简单的方法,可以将视频流同时传输到家中的多个设备。例如,如果一个人拥有多个平板电脑或家庭控制站,无论他们身在何处,他们都可以从摄像头或 NVR 中提取流。

  1. VLC媒体播放器

VLC 媒体播放器可以访问摄像机或系统提供的 RTSP 流。使用 VLC,您无需登录 Web 界面即可观看摄像机。较低的比特率允许在远程查看时更多地保留录像机存储和更少的数据使用。

  1. 转播到直播服务

RTSP 可以将安全摄像头源流式传输到实时流网站。一些常见的直播闭路电视项目包括动物保护区、国家公园、动物园、海滩和建筑工地。大多数直播网站都需要 RTMP(实时消息协议)流才能通过互联网重新广播。但是,将 RTSP 流与 Open Broadcasting Software (OBS) 等流媒体软件配对,提供了一种将 RTSP 流转换为 RTMP 的方法。

RTSP 和 IP 摄像机

大多数 IP 摄像机使用 RTSP 协议将广播捕获到媒体服务器。IP摄像机,专门用于监控。当您想从固定位置进行直播时,它们也非常有效。IP 摄像机的一大优点是它们不需要额外的编码器。将 IP 摄像机与服务器配对时,RTSP 可以轻松为您完成这项工作。

常见问题解答

浏览器是否支持 RTSP?
浏览器不支持直接 RTSP 流式处理。如果必须在浏览器中播放 RTSP 流,则可以使用将 RTSP 转换为 HTTP 流的代理服务器作为解决方法。

RTSP 是推送还是拉取?
拉;大多数 IP 摄像机使用 RTSP 协议将数据提取到媒体服务器。

RTSP使用什么协议?
RTSP 使用实时传输协议 (RTP) 和实时控制协议 (RTCP) 来传送媒体流。

RTSP协议安全吗?
RTSP 不支持内容加密,因为 RTSP 连接到专用服务器进行流式传输,并依靠 RTP 传输真实媒体。这一主要限制导致 RTSP 使用率下降。

RTSP 是 TCP 还是 UDP?
RTSP 使用传输控制协议 (TCP) 连接,但也可以使用 UDP。

RTSP协议还在使用吗?
虽然RTSP无法跟上其他流媒体协议的普及,并且与它们相比具有重大劣势,但RTSP仍然是许多监控和闭路电视(CCTV)架构的标准。

翻译来源:https://getstream.io/glossary/rtsp-protocol/
该文章的部分内容,来自网络,旨在学习和交流,如果侵犯您的权益,请联系删除。

你可能感兴趣的:(音视频开发,音视频)