在 Linux 中检查损坏的 mp3、m4a (aac) 文件

在 Linux 中检查损坏的 mp3、m4a (aac) 文件

我在 Ubuntu 服务器(16.04)上存储了大约 15,000 个音乐文件,其中大约 50% 是 FLAC,mp3 和 m4a(aac)各占 25%。

我认为可能是 3-5% 的数据因硬盘硬件故障而损坏。问题逐渐积累了一段时间才被我注意到。现在使用 可以将文件恢复到新驱动器ddrescue

原始存储是每个文件在独立设备上的两个副本,两个驱动器逐渐出现故障,但都是独立故障。结果是,一个副本中损坏的文件可能在另一个副本中没有问题。

我正在尝试找到在脚本中使用的命令行验证方法,以识别哪些标题至少有一个好的副本。如果两个都是坏的,我将需要从 CD 重新翻录。

对于 FLAC,我已flac -t在脚本中循环该命令,该脚本会生成好文件和坏文件的列表。我相信该flac -t命令无需将音频发送到任何播放设备即可解码,并计算解码音频的 MD5 哈希值并将其与文件元数据中包含的原始哈希值进行比较。这非常快,而且运行良好。

我想对 mp3 和 m4a 文件进行类似的验证,但一直找不到合适的工具。我查看过mp3val,但针对我故意损坏音频数据的 mp3 进行测试时没有显示错误。

从我对 mp3 和 m4a 的研究来看,似乎没有存储哈希值,所以我不确定还有哪些其他验证方法。

理想情况下,我希望将其分类为绝对好/绝对坏。如果无法做到这一点,我仍然可以通过将其分类为可能好/绝对坏或绝对好/可能坏来获益。

有人能建议一些可以实现这一点的 Linux 解决方案吗,对于 mp3 或 m4a/aac 来说?

相关内容