你好,这里是网络技术联盟站。
RTMP 与 RTSP 是比较常见的两种流媒体协议,那么什么是RTMP?什么是RTSP?它们两之间有什么区别?使用的时候应该如何选择?
今天瑞哥就用人话好好和大家聊聊,如果觉得对您有帮助,可以收藏。
- 什么是流媒体协议?
- TCP 和 UDPTCPUDPTCP 与 UDP 区别
- RTMPRTMP 工作原理 ⭐
- RTSPRTSP 工作原理 ⭐
- RTMP 与 RTSP 区别1、延迟2、音频编解码器3、视频编解码器4、优点5、缺点
- RTMP 与 RTSP 该如何选择?
- 总结
流媒体协议,英文学名Streaming Protocol,用一句人话来解释:流媒体协议是一种用于通过 Web 传递多媒体的协议。
每次观看直播或点播视频时,背后的技术就是流媒体协议。
流媒体协议有很多,主要分为三大类:
- 传统视频流协议
- 基于 HTTP 的自适应协议
- 新技术
传统视频流协议主要有:
- RTMP
- RTSP
基于 HTTP 的自适应协议主要有:
- Apple HLS
- Low-Latency HLS
- MPEG-DASH
- Adobe HDS
新技术主要有:
- SRT
- WebRTC
而我们今天着重要介绍和比较的就是传统视频流协议:RTMP和RTSP
TCP 和 UDP在探讨RTMP和RTSP前,我们有必要先了解一下TCP 和 UDP,因为 RTMP 是基于 TCP 开发的,那么 RTSP 使用到了 UDP 。
TCPTCP 英文全称:Transmission Control Protocol,中文意思:传输控制协议。
TCP协议是位于应用层和网络层之间的传输控制协议,用于提供可靠的流传输服务,即以字节流的形式传输数据和以字节流的形式接收数据。TCP 使用确认机制来检查数据是否安全可靠地到达,在发送端进行复用,在接收端进行解复用。TCP 使用三个阶段来实现连接定向功能,如连接建立、数据传输和连接终止。
UDPUDP 英文全称: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 字节)并将它们顺序传输到接收设备,然后将它们重新组合成视频流来实现的。