字节级别的.aac和.m4a文件中的音频数据之间的差异

时间:2019-01-18 10:47:58

标签: audio aac m4a

这是为了尝试了解aac文件结构

为简单起见,我们可以假设m4a文件仅包含aac音频(即没有视频)

我正在使用faac库比较m4a文件和由m4a文件制成的aac文件

下面是两个文件的字节级别比较的屏幕截图:

enter image description here

上部是m4a文件,下部是aac文件

对于第一帧,AAC ADTS标头从下部开始是FF F9 4C 80 12 3F FC,从herehere开始,实际aac音频数据应具有138个字节

从下部我们可以看到从DE80的字节与上部窗口中的数据块(绿色部分)相匹配

我假设我已经在m4a文件中找到了偏移量,从该偏移量中存储了实际的aac音频数据。尽管上方窗口中的字节21 4C ...包含下一帧AAC音频的所有字节,但是如果我们看一下下方窗口,我们确实可以看到... a3 80(绿色的结尾下方窗口中的彩色部分)后面是另一个ADTS标头(FF F9 4C 80 12 1F FC,它表示下一aac帧中的音频数应为137字节)

但是,从aac文件读取的字节与预期的m4a文件中的字节不匹配,如下面的屏幕截图所示:

enter image description here

它们匹配到某个点,但是此后的一切看起来都是随机的。

在字节级别上m4a文件与从其创建的相应aac文件之间是什么关系?

主要目标是能够修改this matlab project(需要m4a输入并解码为原始wav数据)以直接从aac文件读取aac音频数据,然后在不更改该matlab项目的情况下使用aac解码器功能

0 个答案:

没有答案