AAC音频编码格式分三种:
LC-AAC:传统AAC,为mpeg-2中定义,兼顾低频与高频
HE-AACv1(LC-AAC+SBR):音乐的主要频谱集中在低频段,高频段很小,但很重要,决定了音质。如果对整个频段编码,若是保护了高频就会造成低频编码过细以致文件过大;如果保存了低频的主要部分而失去高频部分,就会丧失音质,SBR把频谱切割开来,低频单独编码保证主要成分,高频单独放大编码保存音质,在减少文件大小的情况下保存了音质。
HE-AACv2(HE-AACv1+PS):保证音质同时降低码率,原理是:原来的立体声文件大小时一个声道的两倍,但两个声道的声音存在某种相似性,去掉相似性就可以减小文件大小,所有PS技术存储了一个声道的全部信息,然后花很少的字节描述另一个声道跟它不同的地方。
AAC用两种头信息,一种为ADIF,一般用于本地存储,整个文件只有一个ADIF;另一种用于传输的ADTS,mp4中存储
的AAC一般需要加上ADTS才可以解码,seek到任意点解码播放。裸AAC流不能播放,需要加上ADTS头信息
ADTS包括如下字段,一般7或9字节:
syncword:同步字,12bit的1
版本ID:mpeg2 (1)或者mpeg4 (0)
Layer: always: '00'
protection_absent: 是否有误码校验 crc
profile:音频编码的等级
sample rate:采样率
sampe channel:采样通道数
frame size:帧大小
参考:
https://blog.csdn.net/daiyunping0402/article/details/81449320
网友评论