秒懂流媒体协议 RTMP 与 RTSP
你好,这里是网络技术联盟站。
RTMP 与 RTSP 是比较常见的两种流媒体协议,那么什么是RTMP?什么是RTSP?它们两之间有什么区别?使用的时候应该如何选择?
今天瑞哥就用人话好好和大家聊聊,如果觉得对您有帮助,可以收藏。
文章目录
- 什么是流媒体协议?
- 传统视频流协议
- 基于 HTTP 的自适应协议
- 新技术
- TCP 和 UDP
- TCP
- UDP
- TCP 与 UDP 区别
- RTMP
- RTMP 工作原理 ⭐
- RTSP
- RTSP 工作原理 ⭐
- RTMP 与 RTSP 区别
- 1、延迟
- 2、音频编解码器
- 3、视频编解码器
- 4、优点
- 5、缺点
- RTMP 与 RTSP 该如何选择?
- 总结
什么是流媒体协议?
流媒体协议,英文学名Streaming Protocol,用一句人话来解释:流媒体协议是一种用于通过 Web 传递多媒体的协议。
每次观看直播或点播视频时,背后的技术就是流媒体协议。
流媒体协议有很多,主要分为三大类:
- 传统视频流协议
- 基于 HTTP 的自适应协议
- 新技术
传统视频流协议
传统视频流协议主要有:
- RTMP
- RTSP
基于 HTTP 的自适应协议
基于 HTTP 的自适应协议主要有:
- Apple HLS
- Low-Latency HLS
- MPEG-DASH
- Adobe HDS
新技术
新技术主要有:
- SRT
- WebRTC
而我们今天着重要介绍和比较的就是传统视频流协议:RTMP和RTSP
TCP 和 UDP
在探讨RTMP和RTSP前,我们有必要先了解一下TCP 和 UDP,因为 RTMP 是基于 TCP 开发的,那么 RTSP 使用到了 UDP 。
TCP
TCP 英文全称:Transmission Control Protocol
,中文意思:传输控制协议。
TCP协议是位于应用层和网络层之间的传输控制协议,用于提供可靠的流传输服务,即以字节流的形式传输数据和以字节流的形式接收数据。TCP 使用确认机制来检查数据是否安全可靠地到达,在发送端进行复用,在接收端进行解复用。TCP 使用三个阶段来实现连接定向功能,如连接建立、数据传输和连接终止。
UDP
UDP 英文全称:User Datagram Protocol
,中文意思:用户数据报协议。
UDP是一种无连接协议,即将数据从一端传输到另一端;无需建立连接。UDP 也位于应用层和网络层之间。它还以数据包的形式传递数据或信息;这些数据包称为用户数据报。UDP 使用多路复用来处理来自多个进程的传出用户数据报,并使用解复用来处理进入同一主机上不同进程的传入用户数据报。
TCP 与 UDP 区别
- TCP 是面向连接的,而 UDP 是无连接的
- TCP 是重量级的,而 UDP 是轻量级的
- TCP 提供可靠的服务,而 UDP 不提供可靠的服务
- TCP 支持重传机制,而 UDP 不支持
- TCP 数据包按顺序到达接收器,而 UDP 无序
- TCP 不支持广播,而 UDP 支持广播
- TCP 连接是一个字节流,而 UDP 连接是消息流
以上就是最基础的部分,下面我切入今天的主题:RTMP 和 RTSP 协议。
RTMP
- 英文全称:
Real Time Messaging Protocol
- 中文意思:实时消息协议
- 底层协议:TCP
- 应用级视频流协议
- 视频编解码器:H.264
- 音频编解码器:AAC
- 延迟:3 - 30 秒
RTMP 2005 年诞生,由 Macromedia 开发,后来被 Adobe 收购,在流媒体市场上有着悠久的历史。最初用于在 RTMP 服务器和用户设备上的 Flash 播放器之间传输数据,不过Flash 于 2020 年正式结束了。
RTMP 的最大优点是可以在服务器和客户端服务器之间保持稳定的连接,无论用户的互联网连接质量如何,它都可以无缝低延迟进行流媒体传输。这个技术主要通过将数据流分成相等的小部分(音频数据默认为 64 字节,视频数据默认为 128 字节)并将它们顺序传输到接收设备,然后将它们重新组合成视频流来实现的。
RTMP 工作原理 ⭐
一般来说视频流是这样工作的:
- 摄像头捕获视频
- 通过编码器将视频流传输到视频平台服务器
- 视频平台处理视频流
- 通过CDN分发到离用户最近的服务器上
- 最后视频流就能成功的到达用户设备
那么这个环节中RTMP就起到了非常重要的作用,在视频从摄像头到服务器的过程中,RTMP将大量数据分割成小块并跨多个虚拟通道传输,在视频源和 RTMP 服务器之间提供了稳定和流畅的视频流。
RTMP 最大的缺点是它与 HTML5 播放器不兼容,这样的话必须使用另一种协议,例如 HLS来传输视频文件到达用户的设备,此外,RTMP 容易受到带宽问题的影响。
RTSP
- 英文全称:
Real Time Streaming Protocol
- 中文意思:实时流协议
- 底层协议:TCP 和 UDP
- 网络控制协议
- 视频编解码器:H.265
- 音频编解码器:AAC
- 延迟:2 秒
RTSP 1996年诞生,由 RealNetworks、Netscape 和哥伦比亚大学的专家联合开发,用于控制 VHS 式视频流的娱乐和通信系统,RTSP 使用高效的 RTP 协议,将流数据分解成更小的块,这样可以更快地传递。
RTSP 支持可靠的分段流,这意味着用户可以在仍在下载流的同时继续观看流。
Android 和 iOS 设备没有开箱即用的 RTSP 兼容播放器,所以普及度并不高,但 RTSP 在许多监控 和闭路电视 (CCTV) 应用非常广泛,远程摄像头、在线教育和互联网直播等,都用的比较频繁。
上面提到RTSP使用RTP协议进行分解视频块的,这里我们来讲一下RTP协议。
RTP协议,英文全称:Real-time Transport Protocol
,中文就是实时传输协议,它的底层其实就是UDP,这样一来就可以实现低延迟。
除了RTP协议,为确保流畅和一致的流传输,RTSP 还使用另外两种网络通信协议:
- TCP 收发控制命令(例如播放或停止请求)
- UDP 传送音频、视频和数据。
这个怎么理解呢?
TCP可靠传输,比如用户按下播放或者停止播放的时候,这个是个准确的请求,这个需要保证可靠性,这个时候TCP作用就体现了。
UDP是低延迟的协议,那么用于传送音频、视频和数据可以达到非常高效的效果。
RTSP 工作原理 ⭐
- 用户设备向视频流平台发送 RTSP 请求
- 视频流平台返回可以操作的请求列表,比如播放、暂停等
- 用户设备向视频流平台发送具体的请求,比如播放
- 视频流平台解析请求并调用指定机制启动视频流处理
由于 RTSP 依赖于专用服务器,并且依赖于 RTP,因此该协议不支持加密视频内容或重传丢失的数据包。
RTMP 与 RTSP 区别
1、延迟
- RTMP:3-30秒
- RTSP:2-5秒
2、音频编解码器
- RTMP:AAC、AAC-LC、HE-AAC+ v1 & v2、MP3、Speex、Opus、Vorbis
- RTSP:AAC、AAC-LC、HE-AAC+ v1 & v2、MP3、Speex、Opus、Vorbis
3、视频编解码器
- RTMP:H.264, VP8, VP6, Sorenson Spark®, Screen Video v1 & v2
- RTSP:H.265 (preview), H.264, VP9, VP8
4、优点
- RTMP:
- 低延迟
- 适应性
- 灵活性
- 不需要缓冲
- RTSP:
- 低延迟
- 分段流式传输
5、缺点
- RTMP:
- 带宽问题
- HTML5 不支持
- 某些浏览器和设备的兼容性问题
- 安全性有点低
- RTSP:
- HTTP 不兼容
- 依赖于其他协议
RTMP 与 RTSP 该如何选择?
其实看完RTMP 与 RTSP 区别,应该对于使用场景有见解式的认识了。
- IP 摄像机、物联网设备,那么选择 RTSP准不会错
- 第三方流媒体应用,那么选择RTMP准不会错
总结
本文主要介绍了流媒体协议、TCP与UDP协议、RTMP与RTSP协议,RTMP 和 RTSP 流媒体协议都有各自的优势。
RTMP 提供与不同摄取设备的兼容性和低延迟流媒体的稳定性,但是,您需要一个特定的 Flash Media Server 来使用 RTMP 分发您的内容,所以RTMP 适用于主要的第三方流应用程序和较旧的硬件编码器;
RTSP 最适用于 IP 摄像机和运行 IP 摄像机的设备,例如无人机。
朋友们,你们明白了吗?
秒懂流媒体协议 RTMP 与 RTSP相关推荐
- 认识流媒体协议,从 RTSP 协议解析开始!
RTSP 是 Internet 协议规范,是 TCP/IP 协议体系中的一个应用层协议级网络通信系统.专为娱乐(如音频和视频)和通信系统的使用,以控制流媒体服务器.该协议用于在端点之间建立和控制媒体会 ...
- WebRTC学习进阶之路 --- 五、WebRTC网络知识详解(三)(最全流媒体协议(RTP/RTCP/RTSP/RTMP/MMS/HLS/HTTP/ HTTP-FLV(HDL)/SDP)
WebRTC学习进阶之路系列总目录:https://blog.csdn.net/xiaomucgwlmx/article/details/103204274 RTP:实时传输协议(Real-time ...
- RTMP、RTSP、m3u8、flv 区别及含义
RTMP 与 RTSP 是比较常见的两种流媒体协议. 流媒体协议是一种用于通过 Web 传递多媒体的协议. 每次观看直播或点播视频时,背后的技术就是流媒体协议. RTMP 英文全称:Real Time ...
- 全面了解MKV、MP4、H.265、RTMP、RTSP、HLS、码率\码流、多码流等等
转载请标明出处:http://blog.csdn.net/xx326664162/article/details/51784440 文章出自:薛瑄的博客 你也可以查看我的其他同类文章,也会让你有一定的 ...
- 【流媒体协议】RTMP和RTSP的区别
RTMP和RTSP都是常用的流媒体协议,支持推流和拉流 但是它们的特点不同,应用场景也不同 RTMP协议 全称Real Time Messaging Protocol RTMP将整个视频分割为多个小的 ...
- 流媒体协议初探(MPEG2-TS、RTSP、RTP、RTCP、SDP、RTMP、HLS、HDS、HSS、MPEG-DASH)
目录 一.综述 需求分析 协议定制 二.MPEG2-TS协议 三.RTSP协议.RTP.RTCP.SDP RTSP RTP.RTCP.SDP 四.RTMP 五.HLS.HDS.HSS HLS HDS和 ...
- 网络流媒体协议的联系与区别(RTP RTCP RTSP RTMP HLS)
简结">三句话简结 RTP RTCP RTSP RTMP HLS区别与联系 RTP传输流媒体数据.RTCP对RTP进行控制,同步.RTSP发起/终止流媒体 RTP和RTCP互为姐妹关系 ...
- HTTP协议/RTSP协议/RTMP协议的区别
RTSP. RTMP.HTTP的共同点.区别 共同点: 1:RTSP RTMP HTTP都是在应用应用层. 2: 理论上RTSP RTMP HTTP都可以做直播和点播,但一般做直播用RTSP RTM ...
- 常用的RTMP、RTSP、HTTP协议流直播流地址
一.RTMP.RTSP.HTTP协议 这三个协议都属于互联网 TCP/IP 五层体系结构中应用层的协议.理论上这三种都可以用来做视频直播或点播.但通常来说,直播一般用 RTMP.RTSP.而点播用 H ...
最新文章
- 24点游戏c语言链表做法,C语言实现24点程序(示例代码)
- 计算机c盘属性不显示安全选项,win7系统中文件夹属性安全选项卡空白的解决方法...
- 普通用户杜绝不请自来的邮件对策
- [JavaWeb-MySQL]多表关系介绍
- evil twin_Evil-Twin框架:用于测试WiFi安全性的工具
- 安卓端华为推送集成笔记
- python能做什么程序-学了 Python,能用来做什么?实际应用场景有哪些??
- 人工智能专业就业有哪些岗位方向
- linux达梦服务重启,如何重启达梦数据库服务
- sql 查看某个日期字段对应某天的数据
- 物联网芯片型号处理器集锦资料介绍
- flutter中播放音乐
- c 朗读html,朗读《送杜少府之任蜀》
- Hive中的in、exists和left semi join
- mysql 5.7.22 winx64_MySQL 5.7.22 winx64 安装配置方法图文教程
- Windows系统cmd命令+实用工具
- 20189220 余超《Linux内核原理与分析》第五周作业
- 椭圆曲线标量乘法快速算法(附源码实现)
- C primer plus编程练习-第7章
- 反种族主义算法的偏见与警务简介
热门文章
- echarts改变字体颜色
- 【前端学习】前端学习第十三天:JavaScript中DOM技术介绍
- finall,finally,finalize
- 浅析敏捷项目管理中的5大阶段
- 创建一个 PHP 程序来扫描主机名上的开放端口。
- 【已解决】Windows Service服务 出现System.Security.SecurityException: 未找到源,但未能搜索某些或全部事件日志。不可访问的日志: Security。
- ORB-SLAM2 --- LoopClosing::ComputeSim3 函数
- springboot毕设项目交通违章管理系统58ig4(java+VUE+Mybatis+Maven+Mysql)
- 电脑蓝牙耳机连接不稳定_一个困扰我半年的 macOS 蓝牙有时断连的问题终于解决了!...
- BRAT的安装、配置、标注操作