![用于翻录 CD-R 的唯一 ID](https://linux22.com/image/1620914/%E7%94%A8%E4%BA%8E%E7%BF%BB%E5%BD%95%20CD-R%20%E7%9A%84%E5%94%AF%E4%B8%80%20ID.png)
我参与了一个项目,我们正在翻录数千张包含音乐的 CD-R。这些 CD(通常)是一次性录制的,不在任何音乐数据库等中,但我们需要一种方法来在批量翻录时唯一地识别它们。
到目前为止,我们发现最有效的方法是通过为每张光盘生成一个 CDDB ID,类似于 MusicBrainz(减去散列)-https://musicbrainz.org/doc/Disc_ID_Calculation。但是,正如本文以及任何曾经翻录过 CD 的人都知道的那样,如果数据匹配,不同的 CD 可以产生相同的 ID。
有谁知道一种更可靠的方法来唯一地标识 CD-R 或其中包含的内容?它需要是这样的,当在驱动器中读取光盘时,每次都会产生相同的结果以供以后比较。
刻录机是否会记录写入光盘的日期/时间数据,甚至是所用刻录机的 ID?
我一直在使用 cdrtools 查看光盘元数据,但似乎从 CD-R 中提取的唯一信息非常少。我认为为每个光盘生成一个 md5/sh256 校验和是可行的,但这需要很长时间。我知道的唯一其他唯一 ID 是印在光盘内圈上的矩阵(不实用)。
答案1
一些更“发烧友”的翻录工具实际上可以做到这一点,并在您进行翻录时审核您的翻录。Dbpoweramp 有一个名为 accuraterip 的系统和 open source cuetools suite 支持该格式以及它自己的格式
有一系列工具支持这一点,包括命令行一在 hydroaudio 上。
你不需要 md5 或 sha 校验和 - 您不必担心有人更改数据 - 并且大多数工具使用简单的 CRC 和其他逻辑。
没有办法绕过读取和校验整个驱动器,但使用本质上标准的、得到良好支持的方法来执行此操作可能会很有用。