RTMP标头中Stream Id参数的功能是什么?

时间:2014-02-04 11:30:41

标签: java rtmp wowza

在关于RTMP http://en.wikipedia.org/wiki/Real_Time_Messaging_Protocol的wiki文章中,可以找到RTMP标头的说明。其中一个参数是StreamId。 StreamId被描述为

  

形成Stream ID的6个最低有效位可以取值   在3到65599之间。有些值具有特殊含义,如1   代表扩展的ID格式,在这种情况下将有2个字节   跟随那个。值为2表示Ping等低级别消息   并设置客户端带宽。

开源RTMP客户端FLAZR也使用此参数(名称为“channelId”),并且从其源看起来像RtmpDecoder类要解码的所有RTMP消息应该由streamId拆分并以不同方式处理。

问题是:什么是streamId?

Wowza服务器使用的不是经典的streamId(或更好的'streamName')。它只是一个整数。

可能是,它是一些音频或视频包的索引发送?但为什么有这么多渠道? RTMP服务器是否真的在不同的RTMP消息中发送音频和视频数据? 或者,可能是,这是当前客户订阅的流的索引?

1 个答案:

答案 0 :(得分:0)

根据我的经验,任何连接的RTMP客户端都可以同时处理多个流 (例如,发布一个流并播放其他X流)

所以我猜这就是为什么流Ids被发明的原因。 流式名长于单个整数,你明白:)