【问题标题】:Access MP3 audio data independently of ID3 tags?独立于 ID3 标签访问 MP3 音频数据?
【发布时间】:2011-02-25 09:47:52
【问题描述】:

这是一个两部分的问题。首先,是否可以独立于 ID3 标签访问 MP3 中的音频数据,其次,有没有办法使用可用的库来访问?

我最近从 3 台计算机合并了我的音乐收藏,最终得到的歌曲已经更改了 ID3 标签,但音频数据本身没有修改。运行重复文件搜索失败,因为文件随 ID3 标签更改而更改,但我认为如果我只是使用音频数据运行重复数据删除进行比较,应该可以识别重复文件。

我知道可以找到文件中 ID3 标头之后的特定位置,并直接读取数据,但想知道是否有一个库可以公开音频数据,这样我就可以提取数据,运行校验和,并将计算结果存储在某处,然后查找相同的校验和。 (另外,当你考虑到可变长度的标头时,我可能不得不使用某种库。)

【问题讨论】:

标签: audio mp3 id3


【解决方案1】:

巧合的是,前几天我想做类似的事情。

这是我编写的一个 Ruby 脚本:

http://code.google.com/p/kodebucket/source/browse/trunk/bin/mp3dump.rb

它将 mpeg 帧转储到标准输出,因此可以像这样获取校验和:

# mp3dump.rb file.mp3 | md5sum

【讨论】:

  • 嗯。有点像我在寻找的东西,虽然我不知道它在做什么。我会接受它,但我不介意解释它在做什么。我假设除非序列以某种方式过滤掉了 ID3 标签,但不知道如何。指向您用来创建此文档的任何文档的链接都很棒。 :)
  • 是的,它可能有点混淆了;意识流编码......它的要点:打开一个mp3文件;读取 4 个字节;如果我们读取的字节是有效的 mp3 标头,则读取帧并将其发送到标准输出;否则我们倒回 3 个字节并重试,直到到达文件末尾。我使用了以下 MPEG 帧资源:datavoyage.com/mpgscript/mpeghdr.htm
  • 这个脚本把我的 MP3 变成了 54 KB。
猜你喜欢
  • 1970-01-01
  • 2013-12-10
  • 2012-10-22
  • 2017-02-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多