Sum*_*Tea 6 audio mp3 mpeg codec
我现在正在对MP3文件进行解码,但是对MP3文件只有一些基础知识。这些天,我为MP3实现了一个简单的解码器。在将解码结果与Maaate解码器进行比较时,我遇到了这个问题。
我的解码器比Maaate解码器多提取一帧。在仔细检查了示例MP3文件的结果之后,我发现第一帧异常。对于我的样本文件,第一帧的长度为413个字节,帧头0xfffb9064不同于所有其他具有100个字节长和header的帧0xfffb1064。
我的问题是:结果中的第一个“框架”是真实框架吗?是这样,为什么它看起来与别人不同?如果不是,此结构用于什么,以及如何将它们与其他结构共享,因为它们都共享帧同步代码0xfff?
MP3 流没有文件头。开始时只有一帧比其余帧长,这听起来有点奇怪,但这是完全合法的。
标题中的位的快速描述位于:http://www.datavoyage.com/mpgscript/mpeghdr.htm
在您的情况下,两种类型的标头具有共同点:
第一帧与其余帧的不同之处在于:
其余的是:
该页面中有一个公式用于根据标头计算帧大小:144*比特率/采样率+填充。
我怀疑 128kbit 第一帧是用于生成样本的编码器的伪影(错误)。第一帧之后,它仍然是 32kbit 的恒定比特率文件。鉴于 MP3 解码器只有几帧才能产生输出,并且不会在中途突然出现比特率波动,因此这不太可能造成任何干扰。
| 归档时间: |
|
| 查看次数: |
1758 次 |
| 最近记录: |