症狀是這樣的:用librtmp推流aac后,用vlc能收到推流的聲音,但是用flash卻播放不了推流的聲音。
查了幾天,用工具抓取推流的數據,發現rtmp數據包中的頭部信息有一個Chunk Stream ID的字段。
這個字段應該在不同類型的包類型中應該是不一樣的。
在下列三種包類型中,Chunk Stream ID字段應該是不同的值
- Metadata
- VideoSpsPps,VideoTag
- AacSpec,AudioTag
這三種rtmp包類型中,Chunk Stream ID應該是不同的值,否則會出現沒聲音,沒圖像的問題
同時,RTMPPacket 的包中m_nInfoField2字段,最好三種包里面的值也一致