📅  最后修改于: 2023-12-03 15:04:56.433000             🧑  作者: Mango
RTMP(Real-Time Messaging Protocol)是Adobe Systems开发的基于TCP的实时流媒体传输协议。它主要用于在互联网上实现音频、视频和数据的实时传输。本文将介绍RTMP的完整表格,包括各种RTMP消息类型和其相关信息。
以下是RTMP协议中常用的消息类型及其相关信息:
| 消息类型 | 十六进制值 | 描述 | |----------|:----------:|-----| | Chunk Size | 0x01 | 定义了传输数据的最大尺寸 | | Abort Message | 0x02 | 中断正在发送的消息 | | Acknowledgement | 0x03 | 确认已经收到的字节数 | | UserControl Message | 0x04 | 用于控制消息 | | Window Acknowledgement Size | 0x05 | 定义了窗口大小 | | Set Peer Bandwidth | 0x06 | 用于限制带宽 | | Audio Message | 0x08 | 音频数据传输 | | Video Message | 0x09 | 视频数据传输 | | Data Message AMF3 | 0x0F | 使用AMF3编码的数据消息 | | Shared Object Message AMF3 | 0x10 | 使用AMF3编码的共享对象消息 | | Command Message AMF3 | 0x11 | 使用AMF3编码的命令消息 | | Data Message AMF0 | 0x12 | 使用AMF0编码的数据消息 | | Shared Object Message AMF0 | 0x13 | 使用AMF0编码的共享对象消息 | | Command Message AMF0 | 0x14 | 使用AMF0编码的命令消息 |
消息类型为Chunk Size
时,表示定义了传输数据的最大尺寸。该消息包含一个4字节的整数,定义了用于分割数据的块的大小。这个值通常在连接建立阶段进行协商,并且在整个会话中保持不变。
消息类型为Abort Message
时,表示中断正在发送的消息。该消息包含一个4字节的整数,表示要中断的消息的消息流ID。
消息类型为Acknowledgement
时,表示确认已经收到的字节数。该消息包含一个4字节的整数,表示已经成功收到的字节数。用于RTT(Round-Trip Time)计算以及拥塞控制。
消息类型为UserControl Message
时,用于控制消息。该消息包含一个事件类型码和可选的附加数据。
消息类型为Window Acknowledgement Size
时,表示定义了窗口大小。该消息包含一个4字节的整数,表示接收者应该使用的窗口大小。
消息类型为Set Peer Bandwidth
时,用于限制带宽。该消息包含一个4字节的整数,表示限制的带宽大小,以及一个带宽类型(硬限制或软限制)。
消息类型为Audio Message
时,表示音频数据传输。该消息发送音频数据,并采用压缩格式如AAC或MP3。
消息类型为Video Message
时,表示视频数据传输。该消息发送视频数据,并采用压缩格式如H.264或VP6。
消息类型为Data Message
时,表示使用AMF3或AMF0编码的数据消息。该消息包含数据对象,并用于传输复杂的结构化数据。
消息类型为Shared Object Message
时,表示使用AMF3或AMF0编码的共享对象消息。该消息用于共享数据,如远程共享对象。
消息类型为Command Message
时,表示使用AMF3或AMF0编码的命令消息。该消息用于发送控制命令和执行远程过程调用。
以上是RTMP协议中常用的消息类型及其相关信息。
注:RTMP协议还支持其他类型的消息,但本表格中仅列举了常用的消息类型。
以上是关于RTMP的完整表格,详细介绍了各种RTMP消息类型及其相关信息。开发者可以根据自己需要选择适当的消息类型来实现实时流媒体传输。