参考维基百科、知乎问题等资料对AAC格式进行总结,没有特别深刻到细节,目的是让你们对AAC有一个整体的认识。html
高级音频编码(英语:Advanced Audio Coding,AAC),出现于1997年,基于MPEG-2的音频编码技术。由Fraunhofer IIS、杜比实验室、AT&T、Sony、Nokia等公司共同开发。2000年,MPEG-4标准出现后,AAC从新集成了其特性,加入了SBR技术和PS技术,为了区别于传统的MPEG-2 AAC又称为MPEG-4 AAC。git
(参考鹏小鹕在问题AAC-LC 是什么格式?和 AAC 有什么区别?中的回答)github
参考知乎的问题,AAC的音频文件格式经常使用的有如下两种:性能
因此在直播等领域用的最多的仍是ADTS。编码
ADTS的头信息分为两部分,一个是固定头信息、紧接着是可变头信息。 固定头信息spa
合起来.net
更直观一点:orm
因此必需要了解ADTS封装的格式,不然就不能本身讲AAC打包到ADTS。cdn
在FFmpeg的adtsenc.c 中定义了adts_write_frame_header方法,能够写ADTS头,你们能够参考。
序号5的profile是AOT - 1,AOT参考这里
0: Null 1: AAC Main 2: AAC LC (Low Complexity) 3: AAC SSR (Scalable Sample Rate) 4: AAC LTP (Long Term Prediction) 5: SBR (Spectral Band Replication) 6: AAC Scalable 7: TwinVQ 8: CELP (Code Excited Linear Prediction) ....省略若干type
adts_buffer_fullness:0x7FF 说明是码率可变的码流。
由于AAC是一个庞你们族,他们共分为9种规格,以适应不一样场合的须要,也正是因为AAC的规格(Profile)繁多,致使普通电脑用户感受十分困扰: MPEG-2 AAC LC低复杂度规格(Low Complexity) MPEG-2 AAC Main主规格 MPEG-2 AAC SSR可变采样率规格(Scaleable Sample Rate) MPEG-4 AAC LC低复杂度规格(Low Complexity),如今的手机比较常见的MP4文件中的音频部分就包括了该规格音频文件 MPEG-4 AAC Main主规格 MPEG-4 AAC SSR可变采样率规格(Scaleable Sample Rate) MPEG-4 AAC LTP长时期预测规格(Long Term Predicition) MPEG-4 AAC LD低延迟规格(Low Delay) MPEG-4 AAC HE高效率规格(High Efficiency) 上述的规格中,主规格(Main)包含了除增益控制以外的所有功能,其音质最好,而低复杂度规格(LC)则是比较简单,没有了增益控制,但提升了编码效率,至“SSR”对“LC”规格大致是相同,可是多了增益的控制功能,另外,MPEG-4 AAC/LTP/LD/HE,都是用在低比特率下编码,特别是“HE”是有Nero AAC编码器支持,是近来经常使用的一种编码器,不过一般来讲,Main规格和LC规格的音质相差不大,所以目前使用最多的AAC规格多数是“LC”规格,由于要考虑手机目前的内存能力未达合理水准。 MPEG-4 AAC LC(Low Complexity)是最经常使用的规格,咱们叫“低复杂度规格”,咱们简称“LC-AAC”,这种规格在中等码率的编码效率以及音质方面,都能找到平衡点。所谓中等码率,就是指:96kbps-192kbps之间的码率。所以,若是要使用LC-AAC规格,请尽量把码率控制在以前说的那个区间内。 附加一篇参考文章:AAC规格(LC,HE,HEv2)及性能对比
参考
ADTS: