rtmp协议

RTMP协议

主宰稳场 提交于 2019-11-27 12:46:54
1. 简介 RTMP协议是Real Time Message Protocol(实时信息传输协议)的缩写,它是由Adobe公司提出的一种应用层的协议,用来解决多媒体数据传输流的多路复用(Multiplexing)和分包(packetizing)的问题。 RTMP消息块流和RTMP一起适用于多样性音视频应用程序,从一对一和一对 多向视频点播服务器直接广播到交互式会议应用程序。 RTMP协议是应用层协议,是要靠底层可靠的传输层协议(通常是TCP)来保证信息传输的可靠性的。在基于传输层协议的链接建立完成后,RTMP协议也要客户端和服务器通过“握手”来建立基于传输层链接之上的RTMP Connection链接。 2. 概念 2.1 有效负载: 包含在每一个包中的数据,就像音视频样本或压缩后的视频数据。 2.2 包: 一个数据包是由固定的包头和有效的负载数据来组成的。 2.3 端口: rtmp协议默认使用的是1935端口。 2.4 消息流: 一个通信的逻辑通道,让消息流通 2.5 消息流id: 每个消息拥有一个分配的id,标识消息流。 2.6 消息块: 消息的一个片段,一个完整的消息会被分割成小的片段,每个片段都是一个消息块。 2.7 消息块流: 一个通信的逻辑通道,允许消息块在一个特定方向流通,例如:从客户端到服务器。 2.8 消息块流id: 每个消息块有一个分配的id用于识别跟随消息块流