diff --git a/2024-6-7.-.md b/2024-6-7.-.md index 1a5de2b..dfe21db 100644 --- a/2024-6-7.-.md +++ b/2024-6-7.-.md @@ -16,6 +16,22 @@ RTMP不仅支持音视频数据的传输,还可以传输其他类型的数据 - 可扩展性和灵活性 RTMP可以在本身的基础上添加自定义的消息类型和控制命令来实现多种命令场景,它也有很强的灵活性,例如RTMP提供了一系列的控制命令,例如开始、停止流,发布、订阅流等,使得RTMP具有亏扩展性和灵活性。 -2.1 +2.1 RTMP数据单元(Message) +数据单元是RTMP传输以下信息的基本单位,用于封装音频、视频、命令和数据。每个数据单元都有独特的头部信息,用于描述数据的属性和格式。一个数据单元包含一下几个部分。 + +- 类型 +主要分为·:音频数据,用于传输音频数据。视频数据,用于传输视频数据。数据消息,用于传输数据。控制消息,用于传输连接,发布,订阅,播放,停止等消息。 + +- 消息长度 +数据单元的有效负载长度,以字节为单位。 + +- 时间戳 +数据单元产生的时间,一般用来同步音视频播放和计算延迟。 + +- 流ID +标识数据单元所属的流,一个RTMP可以有多个并发的流 + +2.2 RTMP数据块(Chunk) +数据块是RTMP协议传输的基本单位,用与客户端和服务端之间传递数据单元。在传输的过程中·数据单元会被分成多个数据块,以便有效的利用网络带宽减少网络延迟,提高实时性,每个RTMP数据块包含下面的部分。