RTMP解析音频AAC

我们知道AAC如果带ADTS头一般是FF F1或者FF F9,开头的,但是有些网络协议在传输AAC的时候是不带ADTS头的

譬如:RTSP传输的媒体流中的AAC是被封装在RTP中的,此时的AAC是不带ADTS头的,而ADTS头里有音频参数信息;所以此时解析音频是依赖RTSP协议的SDP中的音频参数信息解码的;

先介绍下AAC的ADTS格式:

 

 

 除了ADTS(FF F1/F9 开头的7字节)还有ADIF格式常用在磁盘存储中,这里不多做介绍;

 

RTMP的AAC是不带ADTST头的,所以我们接下来介绍下RTMP的AAC格式解析:

   70 b5 e8 5d bb 3d 14 23 0a d4 6e 0f 08 00 45 00
   00 66 65 82 40 00 3f 06 e4 ae 0a 0b 77 94 0a 09
   65 b9 07 8f 2a af be e6 c4 7b 97 5b db 58 50 18
   01 f5 be 5b 00 00 06 74 e6 c0 00 00 32 08 01 00
   00 00 af 01 01 16 2e a0 48 61 88 10 04 00 02 d8
   b8 94 e2 71 20 82 07 6a 58 77 1e d0 81 c3 84 4f
   db 3e 7a eb e9 16 39 6c 99 c0 40 54 2b 08 10 a8
   84 c8 ab c0

af 01 01 16 2e a0 48 61 88 10 04 00 02 d8

af --的a--- 1010 1111   其中的4bit 1010 表示soundFormat AAC
 af的f:                11      2bit,表示采样率  44100HZ
                            1     1bit 表示位宽    16位宽
                             1    1bit表示声道     双声道    
af后边的 01 表示 AAC raw;如果是0x00 则表示AAC sequence header

如果是AAC序列头则后边的两个字节还可以解析参数:

https://blog.csdn.net/jctian000/article/details/93205521

 如图:(下图来自转载)

 

posted on 2024-06-13 18:48  邗影  阅读(52)  评论(0编辑  收藏  举报

导航