AAC 音频 (.aac)
ISO/IEC 标准高级音频编码 (AAC) 是 MP3 的标准化继承者,旨在以相同的比特率提供卓越的压缩效率和听觉保真度。
将 AAC 转换为 MP3
免费的浏览器端 AAC 转 MP3 转换器。在您的设备上即时转换文件。
检查与元数据
操作系统和文件分析器通过检查开头的二进制字节序列来识别 AAC 文件:
字节级文件头签名 (Magic Bytes)
操作系统和文件分析器通过检查开头的二进制字节序列来识别 AAC 文件:
十六进制签名 (偏移量 0):
FF F1ASCII 表示形式: ÿñ
标准化: ISO/IEC 13818-7 / ISO/IEC 14496-3
技术规格
| 容器架构 | ADTS (Audio Data Transport Stream) bitstream or MPEG-4 Part 14 container |
| 压缩方式 | Modified Discrete Cosine Transform (MDCT) with temporal noise shaping and psychoacoustic modeling |
| 字节序 | Big-Endian bitstream framing |
| 色彩空间 | N/A (Audio Bitstream) |
| 通道与结构 | Up to 48 discrete audio channels with arbitrary speaker mapping |
| 最大尺寸 | Sample rates from 8 kHz up to 96 kHz (16/24-bit PCM source) |
| 透明度 | Perceptual lossy coding; transparent quality achieved around 192-256 kbps stereo |
| 流式传输与渐进式加载 | Native ADTS frame synchronization words enable arbitrary byte-stream streaming |
技术对比矩阵:AAC 对比同类产品
| 技术属性 | AAC (当前) | MP3 | OGG | OPUS |
|---|---|---|---|---|
| 压缩效率 | 高;128-192 kbps 下实现透明立体声 | 中等;需要 192-256 kbps | 高;在 160 kbps 下可媲美 AAC | 超高;96-128 kbps 下实现透明 |
| 最大通道数 | 48 个离散通道 | 2 个通道 (立体声) / MPEG-2 中为 5.1 | 255 个离散通道 | 255 个离散通道 |
| 硬件加速 | 在所有移动和桌面芯片上 100% 通用 | 100% 传统芯片支持 | 有限的专用 DSP 硬件芯片 | 不断增长的浏览器及 Android/iOS 硬件支持 |
| 算法延迟 | 中等(约 100 毫秒缓冲区延迟) | 高(约 100-150 毫秒) | 中等(约 100 毫秒) | 超低(5-26.5 毫秒,针对 VoIP 优化) |
常见损坏模式与十六进制恢复指南
媒体播放器循环播放或产生高频数字静电爆音。
根本原因: 由于丢包或缺少 12 位同步字,导致 ADTS 帧标头不同步。
恢复方法: 使用 ffmpeg 将原始 AAC 音频重新封装到 MP4/M4A 容器中:ffmpeg -i broken.aac -c:a copy fixed.m4a 以重建帧索引。
安全分析与解析器攻击向量
AAC 解码器在高吞吐量的音频 DSP 循环中运行,畸变的数据包长度可能会在软件实现中触发整数溢出。
已知攻击向量
- ADTS 帧长度字段中的整数溢出,导致未打补丁的 C++ 解码器中发生缓冲区越界读取。
- 精心构造的通道配置位在多通道混音期间触发无效的内存写入。
- 在 SBR(频谱带复制)合成表解析期间发生越界堆分配。
防御性最佳实践:
历史渊源与里程碑
核心优势与特点
- 在同等及更低比特率下,音质透明度明显优于 MP3(例如 128 kbps 对比 192 kbps)。
- 原生支持多达 48 个全带宽音频通道,适用于环绕声和杜比定向逻辑 (Dolby Pro Logic) 工作流。
- 在 iOS、Android、macOS、Windows 和消费级智能电视上实现通用的原生硬件解码。
技术局限与劣势
- 感知有损编码会丢弃听不见的谐波频率,因此不适合音频母带制作。
- 若不使用 MP4 (M4A) 封装容器,ADTS 比特流将缺少嵌入式寻道表。
- 由 Via Licensing Corporation 管理的专利池授权在历史上减缓了开源编码器的创新速度。
趣味技术冷知识
- YouTube 默认采用 128 kbps 的 AAC 编码来处理标准的立体声视频音频流。
- ADTS 同步字是 12 个连续的二进制 1 (0xFFF),使调谐器能够在流传输中途锁定直播。
- 索尼采用 AAC 作为 PlayStation 3、PlayStation Portable 和 Vita 音频的默认压缩标准。
常见技术问题
为什么在 128 kbps 下 AAC 的音质比 MP3 更好?
AAC 结合了更高的高频分辨率(最高可达 96 kHz)、纯 MDCT 滤波器组、时域噪声整形(TNS)以及更灵活的立体声预测工具,消除了 MP3 中普遍存在的预回声伪影。
原始 AAC 与 M4A 有什么区别?
原始 AAC 使用简单的 ADTS 分帧,没有章节或元数据索引。M4A 将相同的 AAC 音频有效负载包裹在带有元数据、专辑封面和定位表的 ISO 基础媒体容器(MP4)中。
AAC 支持无损音频压缩吗?
不支持。标准 AAC 是严格的有损格式。Apple 开发了 Apple Lossless (ALAC),以便在同一个 M4A 容器内实现逐比特无损音频。