在关于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消息中发送音频和视频数据? 或者,可能是,这是当前客户订阅的流的索引?答案 0 :(得分:0)
根据我的经验,任何连接的RTMP客户端都可以同时处理多个流 (例如,发布一个流并播放其他X流)
所以我猜这就是为什么流Ids被发明的原因。 流式名长于单个整数,你明白:)