Something about AAC

终于拿到了AACDecoder……昨天拿iTunes生成的m4a文件来测试,弄了好久没有成功;今天换了个思路,原来AAC还有这么多玄机。

 

关于AAC的基本概念都可以在wikipediaAudio Coding找到,就说几个不太好理解的问题。(部分内容来自doom9.net

1。文件头

AAC有多种存储的方式,分别是ADTS文件头加RAW Data BlockADIFRAW Data BlockLATMRAW Data Block;或者就是将RAW Data直接存储在MP4容器格式里。

ADTS (Audio Data Transport Stream) 适用于用于网络传输; ADIF (Audio Data Interchange Format) 则主要用于本地存储。ADTS文件头存在于每一个RAW Data Block前或者每隔2-4RAW Data Block前,以确保网络传输的健壮性;而ADIF文件头仅存在于文件的起始处。

2.容器格式

容器格式允许你将不同种类的多媒体数据流(多为视频流和音频流)合并在一个单一的文件内。
多媒体容器格式,就是我们熟知的AVI(.avi), MPEG(.mpg, .mpeg), Matroska(.mkv, .mka), OGM(.ogm), Quicktime(.mov),Realmedia(.rm, .rmvb).

MP4
是遵循MPEG-4ISO 14496-14)的官方容器格式定义的广义文件扩展名。它可以流媒体化并支持众多多媒体的内容(多音轨(multiple audio)、视频流(video)、字幕(subtitlestreams)、图片(pictures)、可变桢率(variable- framerates)、码率(bitrates)、采样率(samplerates)等)和高级内容(advanced content)(官方称之为“Richmedia”(超媒体)“BIFS”(Binary Format for Scenes/二进制格式场景),类似2D3D图形,动画、用户界面、类DVD菜单等。

 

3.扩展名 mp4 m4a aac

-.mp4:唯一的mpeg-4官方扩展名,支持所有音频和视频以及高级内容(或它们的混合)

其他相关的扩展名:
- .m4v
:是.mp4文件的错误扩展名,由apple提出,支持视频+音频,m4v扩展名可以安全地更名为.mp4
- .m4a
:是.mp4文件的错误扩展名,由apple提出,只支持音频,m4a扩展名可以安全地更名为.mp4
- .m4p
:随iTunes发售的DRM(Digital Rights Management/数字版权保护技术)产权保护的文件,使用Apple开发的DRM sheme
- .m4e
:由.sdp修改扩展名的来的文件,Envivio用其于流媒体播放。
- .m4v, -.mp4v, -.cmp, -.divx, .-xvid, .264
rawmpeg-4视频流(并非内含于mp4)。
- .3gp, -.3g2
:手机中使用的格式,其中储存的内容同样在.mp4未被定义(H.263, AMR(Adaptive Multi Rate/自适应多码率))。

-.aac:是aac音频文件的扩展名,不属于mpeg-4定义的容器格式(MPEG-2 part7定义),一般包含ADTSADIF文件头

 

4.将AAC音频文件MUX进入MP4容器格式会发生什么

文件体积会减小,比特率大约降低3kbps,原因在于ATDS文件头在mux的过程中被去除了。也就是说,存储与容器格式中的aac音频本身是没有文件头的,而是依赖于mp4文件的文件头。加上第3点中对文件后缀的描述,就不难理解m4a文件为什么不能正常播放了,一方面之前所使用的Deocder依赖于ADTS或者ADIF文件头,以此来获取文件信息,另一方面无法识别容器格式的文件头,自然无法正常解码了。

 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值