我有一个包含大量MP3文件的文件夹,其中一些是使用mp3PRO编码的。
由于此格式现已过时,我想将它们转换回MP3(可轻松找到转换器)。
如果使用mp3PRO格式编码文件,是否有办法以编程方式检测?(例如:通过使用十六进制编辑器查看文件头或特定签名)
official player能够检测文件是否使用mp3PRO进行编码(徽标是否突出显示),所以我认为这在技术上是可行的。
到目前为止,我发现mp3PRO文件的比特率似乎相当低(非编码文件的50%):例如:128 kbps文件将显示为64kbps。但是,一个320 kbps的文件将显示为160 kpbs(这是非常常见的),所以它不能作为规则使用。
答案 0 :(得分:1)
这是我发现的以及我如何修复它。我在这里写了以防有人需要它:
MP3Pro文件不包含有助于识别它们的mp3标题中的任何特殊标志。
它们在技术上非常类似于通常的mp3文件,除了它们被编码一半的比特和采样率(例如:128kpbs 44100hz文件将被编码为64kps 22050hz文件,导致mp3pro文件大约是原始文件的一半大小文件)。
这是为兼容性而设计的,因此默认播放器可以不加任何改变地播放它们。
它们还包含一些SBR数据,这些数据允许合成重建丢失的音频部分(高频)并在mp3 pro转换之前播放它们。
检测SBR数据似乎非常困难,如果不是不可能的话:它需要解码实际的mp3帧。此外,没有关于mp3pro格式的文档。
我做了什么(哪些有效,但需要一些手动操作):我将所有要检查的文件添加到mp3播放器的播放列表(在我的情况下为foobar 2000),然后在采样率列上对文件进行排序:大多数22050 hz mp3文件确实是mp3专业文件。
他们使用winamp +为其制作的mp3pro插件转换回mp3,可在此处找到:http://www.wav-mp3.com/mp3pro-to-mp3.htm