什么是 RTMP 和 RTSP?它们之间有什么区别?
什么是流协议?
简单地说,流协议就是在两个通信系统之间传输多媒体文件的一套规则,它定义了视频文件将如何分解为小数据包以及它们在互联网上传输的顺序,RTMP 与 RTSP 是比较常见的流媒体协议。
RTMP
- 英文全称:
Real-Time Messaging Protocol
- 中文意思:实时消息传递协议
RTMP 由 Macromedia(后来被 Adobe 收购)开发,用于流式传输到 Flash 播放器,随着 Flash 开始被淘汰并且基于 HTTP 的协议成为流式传输到播放设备的新标准,RTMP 在流媒体协议中的地位越来越低。但是丝毫不影响 RTMP 的使用,因为在端到端直播和点播中,它仍然是王者!
RTMP 的优点
1、低延迟
RTMP 使用独占的 1935 端口,无需缓冲,可以实现低延迟。
2、适应性强
所有 RTMP 服务器都可以录制直播媒体流,同时还允许观众跳过部分广播并在直播开始后加入直播流。
3、灵活性
RTMP 支持整合文本、视频和音频,支持 MP3 和 AAC 音频流,也支持 MP4、FLV 和 F4V 视频。
RTMP 的缺点
1、HTML5 不支持
标准 HTML5 播放器不支持 RTMP 流。
2、容易受到带宽问题的影响
RTMP 流经常会出现低带宽问题,造成视频中断。
3、HTTP 不兼容
无法通过 HTTP 流式传输 RTMP,必须需要实现一个特殊的服务器,并使用第三方内容交付网络或使用流媒体视频平台。
RTSP
- 英文全称:
Real-Time Streaming Protocol
- 中文意思:实时流协议
RTSP 旨在建立和维护原始数据源(客户端)和流服务器之间的连接,允许控制流媒体服务器内的娱乐和通信系统,允许暂停和播放功能,RTSP 是 RealNetworks 于 1996 年 与 Netscape 和哥伦比亚大学联合开发的协议。
这种可靠性和控制性的结合使 RTSP 成为闭路电视 (CCTV) 和类似 监控系统的热门选择。因此,它是许多 IP 摄像机的首选协议
RTSP 的优点
1、轻松自定义流
可以通过结合不同的协议来开发自己的视频流解决方案。
2、分段流式传输
RTSP 流使观看者能够在下载完成之前访问的视频内容,而不必下载完整的视频以流式传输内容。
RTSP 的缺点
1、与 HTTP 不兼容
没有简单的解决方案可以在 Web 浏览器中播放 RTSP 流,因为 RTSP 旨在通过私有网络流式传输视频,必须借用额外软件。
2、使用率低
由于视频播放器和流媒体服务并未广泛支持 RTSP 流媒体,因为使用率比较低。
RTMP 与 RTSP 怎么选择?
IP 摄像机选择 RTSP
几乎所有 IP 摄像机都支持 RTSP,这是因为 IP 摄像机早在 RTMP 协议创建之前就已经存在,与 RTSP 和 IP 摄像机结合使用时,IP 摄像机本身充当 RTSP 服务器,这意味着要将摄像机连接到 IP 摄像机服务器并广播视频。
物联网设备选择 RTSP
RTSP 通常内置在无人机或物联网软件中,从而可以访问视频源,它的好处之一是低延迟,确保视频中没有延迟,这对于无人机来说至关重要。
流媒体应用程序选择 RTMP
比如各种短视频软件、视频软件等都内置了 RTMP,RTMP 是为满足现代流媒体需求而设计的。
原文链接:【https://xie.infoq.cn/article/7a3a5a44d8067c26a4644dff0】