如何检测文件是否使用mp3PRO编码?

问题描述 投票:0回答:2

我有一个文件夹,其中包含很多 MP3 文件,其中一些是使用 mp3PRO 编码的。

由于这种格式现已过时,我想将它们转换回 MP3(可以轻松找到转换器)。

有没有办法以编程方式检测文件是否使用 mp3PRO 格式编码?(例如:通过使用十六进制编辑器查看文件头或特定签名)

官方播放器能够检测文件是否使用mp3PRO编码(徽标是否突出显示),所以我认为这在技术上是可能的。

到目前为止我发现 mp3PRO 文件的比特率似乎相当低(非编码文件的 50%):例如:128 kbps 文件将显示为 64kbps。然而,320 kbps 文件将显示为 160 kpbs(这很常见),因此通常不能使用它。

audio hex mp3 file-format
2个回答
1
投票

这是我发现的情况以及解决方法。我写在这里以防有人需要它:

MP3Pro 文件在 mp3 标头中不包含任何有助于识别它们的特殊标志。

它们在技术上与普通 mp3 文件非常相似,只是它们的编码位数和采样率是一半(例如:128kpbs 44100hz 文件将被编码为 64kps 22050hz 文件,导致 mp3pro 文件大小约为原始文件的一半) .

这是为了兼容性而设计的,因此默认玩家无需任何更改即可玩它们。

它们还包含一些 SBR 数据,可以综合重建丢失的音频部分(高频)并在 mp3 pro 转换之前播放它们。

检测 SBR 数据似乎非常困难(如果不是不可能的话):它需要解码实际的 mp3 帧。也没有找到关于 mp3pro 格式的文档。

我做了什么(有效,但需要一些手动操作):我将所有要检查的文件添加到 mp3 播放器的播放列表(在我的例子中是 foobar 2000),然后对采样率列上的文件进行排序:大多数 22050 hz mp3 文件确实是 mp3 pro 文件。

使用 winamp + 为其制作的 mp3pro 插件将它们转换回 mp3,可在此处获取:http://www.wav-mp3.com/mp3pro-to-mp3.htm


0
投票

实际上有人拥有这样做的专利。

https://patents.google.com/patent/US7334176B2/en?oq=7334176

它涉及查看辅助数据并计算 CRC,这超出了我阅读的范围。

© www.soinside.com 2019 - 2024. All rights reserved.