症状是这样的:用librtmp推流aac后,用vlc能收到推流的声音,但是用flash却播放不了推流的声音。
查了几天,用工具抓取推流的数据,发现rtmp数据包中的头部信息有一个Chunk Stream ID的字段。
这个字段应该在不同类型的包类型中应该是不一样的。
在下列三种包类型中,Chunk Stream ID字段应该是不同的值
- Metadata
- VideoSpsPps,VideoTag
- AacSpec,AudioTag
这三种rtmp包类型中,Chunk Stream ID应该是不同的值,否则会出现没声音,没图像的问题
同时,RTMPPacket 的包中m_nInfoField2字段,最好三种包里面的值也一致