https://blog.csdn.net/coloriy/article/details/90511746
AAC格式
https://blog.csdn.net/rayzhang80/article/details/46286543
1. aac头前两位0xAF和0x00
接下来后2字节为aacObjectType(5bits)
sampleRateIdx(4bits),
numChannels(4bits)
例如:
1. 16000采样1通道,则
AAC LC (Low Complexity) 00010
16000 1000
mono 0001
补位 000
将它们由高位到低位串起来:00010 1000 0001 000,
则,对应的十六进制值为:0x1408
2. 32000采样2通道,则
AAC LC (Low Complexity) 00010
32000 0101
stereo 0010
补位 000
将它们由高位到低位串起来:00010 0101 0010 000
对应是1290
引一些参考资料:http://wiki.multimedia.cx/index.php?title=MPEG-4_Audio
Audio Specific Config
————————————————
版权声明:本文为CSDN博主「佳凝草堂」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/rayzhang80/article/details/46286543
AAC 音频格式详解
https://www.pianshen.com/article/142885704/
There are 13 supported frequencies:
- 0: 96000 Hz
- 1: 88200 Hz
- 2: 64000 Hz
- 3: 48000 Hz
- 4: 44100 Hz
- 5: 32000 Hz
- 6: 24000 Hz
- 7: 22050 Hz
- 8: 16000 Hz
- 9: 12000 Hz
- 10: 11025 Hz
- 11: 8000 Hz
- 12: 7350 Hz
- 13: Reserved
- 14: Reserved
- 15: frequency is written explictly
channel_configuration: 表示声道数
- 0: Defined in AOT Specifc Config
- 1: 1 channel: front-center
- 2: 2 channels: front-left, front-right
- 3: 3 channels: front-center, front-left, front-right
- 4: 4 channels: front-center, front-left, front-right, back-center
- 5: 5 channels: front-center, front-left, front-right, back-left, back-right
- 6: 6 channels: front-center, front-left, front-right, back-left, back-right, LFE-channel
- 7: 8 channels: front-center, front-left, front-right, side-left, side-right, back-left, back-right, LFE-channel
- 8-15: Reserved
3.将AAC打包成ADTS格式
如果是通过嵌入式高清解码芯片做产品的话,一般情况的解码工作都是由硬件来完成的。所以大部分的工作是把AAC原始流打包成ADTS的格式,然后丢给硬件就行了。
通过对ADTS格式的了解,很容易就能把AAC打包成ADTS。我们只需得到封装格式里面关于音频采样率、声道数、元数据长度、aac格式类型等信息。然后在每个AAC原始流前面加上个ADTS头就OK了。
贴上ffmpeg中添加ADTS头的代码,就可以很清晰的了解ADTS头的结构:

648

被折叠的 条评论
为什么被折叠?



