确定文件夹中是否有音频文件损坏

确定文件夹中是否有音频文件损坏

我正在尝试运行一个应用程序(游戏《克苏鲁的呼唤:地球的黑暗角落》),但在特定部分,总是崩溃。通过我的测试,我在一定程度上确定崩溃是由在此特定部分播放的音频文件引起的。现在,不可否认的是,崩溃可能由多种原因引起(驱动程序问题、编解码器问题或损坏的文件,据我所知,或完全不同的东西),但假设我想确定它是否是损坏的文件,有什么办法吗?

这些文件都是.ogg 文件。

基本上,我正在寻找一个实用程序或指令来递归遍历文件树,测试所有文件是否损坏或格式错误。我更希望它不要播放每个文件(有几千个,可能需要一段时间),只是对它们进行完整性检查。

谢谢大家!

编辑

再补充一点信息。我可能可以根据音频文件播放的最初几分钟判断它,但正如我所说,有几千个文件需要处理,其中许多文件听起来很相似。而且,有趣的是,音频总是播放到一半,然后在特定位置停止。

我正在探索的一个选项是对整个文件夹树进行校验,然后将其与游戏的另一个副本进行比较(可能是通过 torrented 进行的,应该是合法的,因为我已经拥有一份副本)。

答案1

我不知道有任何 OGG 验证器,但您可能想尝试音频转换程序。将 OGG 转换为 MP3(或其他任何格式)。您应该能够将文件排队,如果 OGG 文件无效,希望转换程序可以阻止它并提醒您。

如果你认识其他人有这个程序,你可以使用类似哈希深度为 OGG 文件(整个游戏)生成哈希值,并在审计模式下使用 hashdeep 检查文件的已知良好哈希值。(如果创建者没有对文件进行 ZIP/RAR 处理,torrent 文件也可以执行相同的操作。如果没有,您可以使用 torrent 文件来验证文件。)我认为这是必要的,因为您没有 CD(因为游戏是下载的游戏,因为我对您的游戏不熟悉。)如果您有 CD,那么有许多程序可以逐位比较文件(我喜欢树组件

希望这可以帮助。

答案2

根据2003 年 Xiph 邮件列表消息

ogginfo应该检查大多数东西,至少检查所有内容的 CRC 完整性。

不过我不知道 ogginfo 是否适用于 Windows。您还必须编写递归部分的脚本,因为 ogginfo 不执行此操作(至少在 UNIX 上)。

相关内容