简介

RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写,在合适的传输协议(如TCP)的基础上设计用于多路复用和包装多媒体传输流(如音频、视频和交互式内容)的应用层协议,主要用于Flash

RTMP协议有许多变种

  1. 默认使用TCP端口1935的纯粹(plain)协议。
  2. RTMPS,通过一个TLS/SSL连接传输RTMP。
  3. RTMPE,使用Adobe自有安全机制加密的RTMP。虽然实现的细节为专有,但该机制使用行业标准的密码学原函数。
  4. RTMPT,用HTTP封装以穿透防火墙。RTMPT通常在TCP通讯埠80和443上使用明文请求来绕过大多数的公司流量过滤。封装的会话中可能携带纯粹的RTMP、RTMPS或RTMPE数据包。
  5. RTMFP, 使用UDP而非TCP的RTMP,取代RTMP Chunk Stream。Adobe Systems开发了安全的实时媒体流协议套件,可以让最终用户直接地相互连接(P2P)。

虽然RTMP的主要动机是成为一个播放Flash视频的协议,但它也用于其他一些应用程序,如Adobe LiveCycle Data Services ES。

结构

结构介绍可以参考此文章:https://cloud.tencent.com/developer/article/1038381

英文不错的可以直接看wiki:https://en.wikipedia.org/wiki/Real-Time_Messaging_Protocol

流程

官方文档:https://wwwimages2.adobe.com/content/dam/acom/en/devnet/rtmp/pdf/rtmp_specification_1.0.pdf