AAC音频格式分析
来源:互联网 发布:占中事件知乎 编辑:程序博客网 时间:2024/05/22 03:38
AAC音频格式分析
AAC音频格式有ADIF和ADTS:
ADIF:Audio Data Interchange Format 音频数据交换格式。这种格式的特征是可以确定的找到这个音频数据的开始,不需进行在音频数据流中间开始的解码,即它的解码必须在明确定义的开始处进行。这种格式常用在磁盘文件中。
ADTS:Audio Data Transport Stream 音频数据传输流。这种格式的特征是它是一个有同步字的比特流,解码可以在这个流中任何位置开始。它的特征类似于mp3数据流格式。
简单说,ADTS可以在任意帧解码,也就是说它每一帧都有头信息。ADIF只有一个统一的头,所以必须得到所有的数据后解码。且这两种的header的格式也是不同的,目前一般编码后的和抽取出的都是ADTS格式的音频流。
语音系统对实时性要求较高,基本是这样一个流程,采集音频数据,本地编码,数据上传,服务器处理,数据下发,本地解码
ADTS是帧序列,本身具备流特征,在音频流的传输与处理方面更加合适。
ADTS帧结构:
header
body
ADTS帧首部结构:
序号域长度(bits)说明1Syncword12all bits must be 12MPEG version10 for MPEG-4, 1 for MPEG-23Layer2always 04Protection Absent1et to 1 if there is no CRC and 0 if there is CRC5Profile2the MPEG-4 Audio Object Type minus 16MPEG-4 Sampling Frequency Index4MPEG-4 Sampling Frequency Index (15 is forbidden)7Private Stream1set to 0 when encoding, ignore when decoding8MPEG-4 Channel Configuration3MPEG-4 Channel Configuration (in the case of 0, the channel configuration is sent via an inband PCE)9Originality1set to 0 when encoding, ignore when decoding10Home1set to 0 when encoding, ignore when decoding11Copyrighted Stream1set to 0 when encoding, ignore when decoding12Copyrighted Start1set to 0 when encoding, ignore when decoding13Frame Length13this value must include 7 or 9 bytes of header length: FrameLength = (ProtectionAbsent == 1 ? 7 : 9) + size(AACFrame)14Buffer Fullness11buffer fullness15Number of AAC Frames2number of AAC frames (RDBs) in ADTS frame minus 1, for maximum compatibility always use 1 AAC frame per ADTS frame16CRC16CRC if protection absent is 0如:unsigned char AACBEGIN[7] = {0xFF,0xF1,0x48,0x40,0x26,0x7F,0xFC}; // 6.4K
阅读全文
0 0
- AAC 音频格式分析.
- AAC音频格式分析
- AAC音频格式分析
- AAC音频格式分析
- AAC音频格式分析
- aac音频格式分析
- AAC音频格式分析
- AAC音频格式分析
- AAC音频格式分析与解码
- AAC音频格式分析与解码
- AAC音频格式分析与解码
- AAC音频格式分析与解码
- AAC音频格式分析与解码
- AAC音频格式分析与解码
- AAC音频格式分析与解码
- AAC音频格式分析与解码
- AAC音频格式分析与解码
- AAC音频格式分析与解码
- mongo
- 关于一些编码格式占用的字节数
- 初识SpringCould的框架
- 一个数组实现两个堆栈
- 机器学习基石-Linear Regression
- AAC音频格式分析
- 解决centos服务器远程桌面与显示屏尺寸不匹配问题
- (oop)
- mysql在mac安装有ln: /usr/bin/mysql: Operation not permitted问题
- 13、Chrome 开发者工具
- Codeforces Round #446 (Div. 2)
- NSF Route
- 初识hibernate框架
- 堆栈的单链表实现