最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

关于MP3文件

工作和技术 crifan 1711浏览 0评论

MPEG-1 and MPEG-2 Layer III Audio

单纯从文件格式上来说,实际并没有“MP3文件”。我们只有“MPEG-1文件”、“MPEG-2文件”和“MPEG-4文件”,而没有“MPEG-3文件”。因为实际就没有MPEG-3这个标准。实际上,是由于项目撤销而导致MPEG-3这个名称。而下一个标准是MPEG-7,再下一个是MPEG-21.

从严格的文件格式上说,我们常说的“MP3文件”,以.mp3后缀名结尾的文件,实际只是恰巧在MPEG-2,MPEG-2,文件格式中,都包含“MPEG Layer III”的音频数据,与之相对应的是MPEG Layer I和MPEG Layer II。对于那些熟知的MPEG文件,其特定的文件格式,不论是MPEG-1还是MPEG-2,都可以用16进制编辑器程序,如Windows下的程序UltraEdit32,很容易地查看到MPEG的头文件信息,其存在与MPEG文件的开始部分。

同样,其他很多MP3播放器也可以提供这些头文件信息,如 Nullsoft‘s Winamp 2.91。当回放一个.mp3文件的时候,只需要简单地按Alt-3就可以调出Winamp的MPEG文件信息窗口和ID3 tag编辑窗口,以显示对应的文件信息。Fraunhofer的旧的MP3播放器WinPlay3也可以在其主GUI窗口显示这些信息。

我们应当注意的是,在公共因特网上,还存在其他一些文件,尽管他们也有.mp3的扩展名,但是实际却不是MPEG-1或是MPEG-2 Layer III文件。常见的是,他们实际是MPEG-1 Layer II的文件,因此其后缀名应该.mp2 。绝大多数用户可能都没有注意到这个差异,主要是因为多数可以对Layer III 音频进行解码的程序,多数也可以对Layer II音频进行解码,也因此可以播放这个虽然名字错了的文件,而不告诉你任何提示信息。

一个.mp3文件到底是MPEG-1的文件还是MPEG-2的文件,主要取决于其在被创建的时候,编码器所选择的参数。决定了MP3编码软件是将产生MPEG-1还是MPEG-2的文件的参数,主要是采样率(单位:kHz),数据率(比特率)(单位:kbps),声道数目(一个声道的单声道,还是两个声道的立体声)。

下表显示了用于MPEG-1,MPEG-2的Layer III(.mp3文件)编码的比特率,采样率和声道数。

此表忽略了MPEG-2.5,是因为其和mp3PRO 编码一样,从没有被官方所正式采用。

也由于此原因,省略了潜在的回放问题,符合MPEG-2.5或mp3PRO的规范就不应该放到网络上被大众下载。

Table 1: Detailed Specifications of MPEG-1/MPEG-2 .MP3 Modes

    MPEG File Types / Sampling Rates (in kHz) / Channels
"MPEG-1""MPEG-2""MPEG-2.5"
QualityBitrate4844.1322422.05161211.0258
Studio256StereoStereoStereo
192StereoStereoStereo
CD128StereoStereoStereo
112StereoStereoStereo
96StereoStereo
FM64MonoMonoMonoStereoStereo
56MonoMonoMonoStereoStereoStereo
48MonoMonoMonoStereoStereoStereo
32 MonoMonoMonoStereoStereoStereo
Modem24 MonoMonoMonoStereoStereoStereo
20 MonoStereo/MonoStereo/MonoStereo
18 MonoStereo/MonoStereo/MonoStereo
16 MonoMonoMonoMono
8 MonoMonoMono

我们可以从上面表格看到,原始的MPEG-1规范(ISO/IEC 11172-3),其支持立体声编码,只定义了最高比特率(96~256kbps)和高采样率(32,44.1,48kHz)。在MPEG-2规范中包含另外的Layer III(ISO/IEC 13818-3),是为了扩展其所支持的比特率和采样率的范围,并使其向下兼容。因此,在MPEG-1标准之后的几年后,公布的MPEG-2 Layer III 标准,支持低至48kbps比特率的立体声和16,22.05,24kHz的立体声采样率。

其他有人对MPEG音频文件的技术感兴趣的话,推荐其去这个网站:The Code Project ,去看Konrad Windszus 写的文章。在上面,你可以注册后自由下载,Windows下的应用程序(含源码),叫做MPEG Audio Info十,其可以解析绝大多数的MPEG音频文件,包括MPEG-1,MPEG-2,MPEG-2.5的 Layer III文件,并显示具体参数。不过目前并不支持MPEG-4(.mp4,.m4a,m4b). 🙁

具体低至:

CodeProject: MPEG Audio Frame Header
http://www.codeproject.com/audio/mpegaudioinfo.asp

注:翻译自:Podcasting and MPEG-1 and MPEG-2 Layer III Audio

转载请注明:在路上 » 关于MP3文件

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
79 queries in 0.164 seconds, using 22.15MB memory