【问题标题】:Detecting corrupted OGG files检测损坏的 OGG 文件
【发布时间】:2015-04-03 03:15:37
【问题描述】:

我最近一直在转换大量来自视频游戏的 WEM 文件。 当我使用工具转换它们时,它会将它们转换为 OGG 文件。然后我使用 Audacity 将它们转换为 WAV 文件,以便我可以实际使用它。当我在 Audacity 中进行批量转换时,它可以工作,但每隔一段时间 Audacity 就会冻结。这是因为 Audacity 试图读取损坏的 OGG 文件并崩溃。如果它们不是以数字命名的,那么清除损坏的文件就不会那么难了! (例如 3147685.ogg)我习惯于用 Java 编程。他们是我可以用来删除损坏的 ogg 文件的任何程序、脚本或网站,所以我可以轻松地将其余部分转换为 WAV。 请帮忙。 谢谢你, -蓝色

【问题讨论】:

    标签: java corruption ogg


    【解决方案1】:

    有一个Linux命令叫oggz-validate;见manual entry

    我建议您安装并使用它来验证您的 OGG 文件。使用结果来触发文件的删除是一些简单的 shell 脚本。

    如果您真的需要从 Java 中执行此操作,请使用 Process.exec(...) 启动它,等等。

    【讨论】:

    • 谢谢。对 Windows 有什么建议吗?
    • 我能想到很多关于 Windows 的建议。其中之一是停止使用它:-)
    • 哈哈。也许当我得到我的新电脑时,我可以用 windows 双启动。
    【解决方案2】:

    对于 Windows,oggzvalidate.exe 可从 liboggz (https://github.com/kfish/liboggz) 获得。即使最新的 Visual Studio 项目是 2008 年的,我也可以将它迁移到 2019 年并毫无问题地编译它。

    这似乎是斯蒂芬 C 回答的同一个程序/项目,但在 Windows 上工作,所以他的其余答案适用。

    为了完整起见,我还要补充一下,您可以使用 Java.lang.Runtime.loadLibrary() 与 liboggz 交互,并根据可用的 C 源代码在 java 中实现 oggzvalidate。但这可能比您想要的要复杂得多。

    【讨论】:

      【解决方案3】:

      oggz-validate 仅验证容器,但不尝试解码内容。你可以试试:

      ffmpeg -i file.ogg -f null -err_detect +crccheck+bitstream+buffer+explode+careful+compliant+aggressive -v error -xerror -
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-09-16
        • 1970-01-01
        • 2010-12-29
        • 2011-08-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多