Rtmp aac抓包分析

Message type id: 8

第一个audio data包:AAC sequence header

第二个audio data包:AAC raw

AF表示的含义:

1)第一个字节af,a就是10代表的意思是AAC,
Format of SoundData. The following values are defined:
0 = Linear PCM, platform endian
1 = ADPCM
2 = MP3
3 = Linear PCM, little endian
4 = Nellymoser 16 kHz mono
5 = Nellymoser 8 kHz mono
6 = Nellymoser
7 = G.711 A-law logarithmic PCM
8 = G.711 mu-law logarithmic PCM
9 = reserved
10 = AAC
11 = Speex
14 = MP3 8 kHz
15 = Device-specific sound
Formats 7, 8, 14, and 15 are reserved.
AAC is supported in Flash Player 9,0,115,0 and higher.
Speex is supported in Flash Player 10 and higher.
2)第一个字节中的后四位f代表如下
前2个bit的含义采样频率,这里是二进制11,代表44kHZ
Sampling rate. The following values are defined:
0 = 5.5 kHz
1 = 11 kHz
2 = 22 kHz
3 = 44 kHz
第3个bit,代表 音频用16位的
Size of each audio sample. This parameter only pertains to
uncompressed formats. Compressed formats always decode
to 16 bits internally.
0 = 8-bit samples
1 = 16-bit samples
第4个bit代表声道
Mono or stereo sound
0 = Mono sound
1 = Stereo sound

3)第2个字节
AACPacketType,这个字段来表示AACAUDIODATA的类型:0 = AAC sequence header,1 = AAC raw。第一个音频包用0,后面的都用1

当 AAC sequence header为0的码流结构参见“ISO-14496-3 Audio”中描述

*调用 GetAudioObjectType(),从码流中读取5bits,得到audioObjectType值,表示编码结构类型,AAC-LC为2

*samplingFrequenceIndex:4bits,表示音频采样率索引值,44100对于值为4

*channelConfiguration:4bits,表示音频输出声道,2为双声道

调用函数GASpecificConfig()

*frameLengthFlag:1 bit,表示IMDCT窗口长度,值为0

*dependsOnCoreCoder: 1bit,表明是否依赖corecoder,值为0

*extensionFlag: 1bit,值为0,没有扩展

syncExtensionType: 11bits,同步字,值固定为0x2b7

extensionAudioType: 5bits,扩展的audio编码结构类型,值为5,表示SBR:Spectral Band Replication

sbrPresentFlag:sbr data是否出现的标志,1bit,值为0.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值