rtmp协议是传输层还是应用层协议(一文带你走进RTMP的世界)(1)

本文带大家探讨一下最古老的流媒体协议之一RTMP。

什么是RTMP?

RTMP 通过在 RTMP Client 和 RTMP Server 之间建立和维护通信路径来实现快速、可靠的数据传输。

Macromedia 首先将 RTMP 规范定义为一种将数据从服务器流式传输到 Flash 播放器的方式。

Adobe 随后收购了 Macromedia,并将 RTMP 源代码开源,随后 RTMP 规范得到了更广泛的采用,慢慢的成为 Internet 传输视频的标准。

rtmp协议是传输层还是应用层协议(一文带你走进RTMP的世界)(2)

现在RTMP 主要用作流式传输实时视频,并且播放的时候非常流畅,还支持动态播放控制,允许用户跳转播放。

随着 Flash 的弃用,RTMP 不再用于向视频播放器传输视频,并且正面临来自 MPEG-DASH 和 HLS 等基于 HTTP 的视频传输协议的激烈竞争,但是,RTMP 仍然在与编码器之间的视频传输中扮演着重要的角色。

RTMP 的变体

rtmp协议是传输层还是应用层协议(一文带你走进RTMP的世界)(3)

【更多音视频学习资料,点击下方链接免费领取↓↓,先码住不迷路~】

音视频开发基础知识和资料包

RTMP 流媒体如何工作?

rtmp协议是传输层还是应用层协议(一文带你走进RTMP的世界)(4)

一般分为四个阶段:

音频编解码器

AAC、AAC-LC、HE-AAC v1 和 v2、MP3、Speex

视频编解码器

H.264、VP8、VP6、Sorenson Spark

RTMP 使用 TCP 传输数据,整体上,数据传输分为三个步骤:

rtmp协议是传输层还是应用层协议(一文带你走进RTMP的世界)(5)

RTMP的优势1、低延迟

RTMP使用独占的 1935 端口,无需缓冲,基于 TCP,所以连接稳定,这样的话,用户在观看视频的时候,假如看到一半断网了,等到网络重连还可以接着上次断开的进度看。

2、易于集成

RTMP 不仅可以整合文本、视频和音频,还支持 MP3 和 AAC 音频流、 MP4、FLV 和 F4V 视频流。

RTMP的缺点总结

RTMP 是一种基于 TCP 的协议,它维护持久连接并允许低延迟通信,为了流畅地传递流并传输尽可能多的信息,它将流拆分为片段,并且它们的大小在客户端和服务器之间动态协商。

虽然RTMP优势比较明显,但是其技术早已过时,出现了越来越多的替代品,比如用于硬件编码器的SRT、用于浏览器的WebRTC。不过这也不能说明RTMP可以被完全替代,RTMP技术对于直播来说还是很重要的。

,