RTMP可以在单个块流中多路复用消息吗?

时间:2019-05-06 23:37:26

标签: rtmp live-streaming

在读取RTMP specification时,为了编写一个基本的RTMP服务器,我无法确定是否可以通过同一块流(块流ID)发送多个消息(消息流ID)。

第5.3.2节分享了两个示例:一个示例,其中多个相同流ID 的消息通过多个块依次发送给单个块流ID,另一个示例是单个消息通过多个块发送对于单个块流ID。

但是,没有示例显示多个消息同时具有不同的流ID 的多个消息同时发送给单个块流ID。我找不到能阻止这种情况的任何东西,但我想确认一下。

例如,假设您有两条消息,如示例2所示

 +-----------+-------------------+-----------------+-----------------+
 |           | Message Stream ID | Message TYpe ID |  Time  | Length |
 +-----------+-------------------+-----------------+-----------------+
 | Msg # 1   |         27        |    9 (video)    | 1000   |  307   |
 +-----------+-------------------+-----------------+-----------------+
 | Msg # 2   |         42        |    9 (video)    | 1000   |  197   |
 +-----------+-------------------+-----------------+-----------------+

RTMP客户端可以发送以下块顺序吗?

  1. 输入27的0消息
  2. 输入42的0消息
  3. 键入3则27条消息
  4. 第3类消息,共27条(消息1已完全发送)
  5. 类型3消息代表42(已完全发送2号消息)

换句话说,是否希望块3使用1或2中的标头(即基于消息流ID)?

0 个答案:

没有答案