当前位置 : 首页 » 文章分类 :  开发  »  RTMP

RTMP

RTMP 流媒体协议笔记

RTMP

RTMP(Real-Time Messaging Protocol) 也称实时消息传输协议,是最初由 Macromedia 为通过互联网在 Flash 播放器与一个服务器之间传输流媒体音频、视频和数据而开发的一个专有协议。Macromedia 后被 Adobe 收购,该协议也已发布了不完整的规范供公众使用。

RTMP 协议是应用层协议,是要靠底层可靠的传输层协议(通常是TCP)来保证信息传输的可靠性的。在基于传输层协议的链接建立完成后,RTMP 协议也要客户端和服务器通过“握手”来建立基于传输层链接之上的 RTMP Connection 链接,在 Connection 链接上会传输一些控制信息,如 SetChunkSize,SetACKWindowSize. 其中 CreateStream 命令会创建一个 Stream 链接,用于传输具体的音视频数据和控制这些信息传输的命令信息。RTMP协议传输时会对数据做自己的格式化,这种格式的消息我们称之为 RTMP Message, 而实际传输的时候为了更好地实现多路复用、分包和信息的公平性,发送端会把 Message 划分为带有 Message ID 的 Chunk, 每个Chunk可能是一个单独的Message,也可能是Message的一部分,在接受端会根据chunk中包含的data的长度,message id和message的长度把chunk还原成完整的Message,从而实现信息的收发。

RTMP主要基于TCP协议传输,主要传输 flv, f4v 格式流,最大的特点是装个插件可以在各大浏览器进行播放,播放门槛相对不高,可在手机上得到充分的应用、推广,因此比较受欢迎,目前也是视频云服务的主推流协议。此外RTMP时延也比较低,目前常用于手机直播、语音通话等场景。

RTSP

上一篇 Spring-Cloud-Gateway

下一篇 HLS(HTTP Live Streaming) 协议

阅读
评论
478
阅读预计1分钟
创建日期 2021-09-20
修改日期 2021-09-20
类别
标签
目录

页面信息

location:
protocol:
host:
hostname:
origin:
pathname:
href:
document:
referrer:
navigator:
platform:
userAgent:

评论