请原谅我滥用命名法,因为我仍在寻找解决方法。我不知道我是否有“mp3 tags”或“id3 tags”,如果我有“id3 tags”,“v”是什么意思,或者即使这些术语之间有任何区别。
我有一些音轨,我了解到,当我在媒体播放器中收听它们时,我经常有机会“更新信息”,这意味着从数据库更新 mp3 标签,通常是“MusicBrainz”。有一些实用程序可以获取/设置这些标签的值,并且在大多数情况下,该过程非常简单。我一直在 Fedora 上使用“mid3v2”。
现在,关于 APIC 标签,...
如果我的媒体播放器更新了 mp3 标签,我将获得两个AlbumArt_{}_.jpg" 图像文件,一个 200x200 ="Large" 和一个 75x75 ="Small",这会引发“为什么要两个?”和“我可以为 APIC 标签设置两个值吗?”、“如何设置此标签?”和“在哪里可以找到示例?”。
我已经成功地使用“mid3v2”来设置标签值,并使用“mid3v2 -f”来读取标签值,但是 APIC 标签是不同的,如果仅仅是因为它似乎有一个更复杂的规范规则。阅读 APIC 并没有告诉我太多。
任何人都可以解决我的 APIC 困惑吗?也许举几个例子?
谢谢您的帮助,
克里斯。
ID3 实际上是标记 MP3 文件的唯一标准,因此这两个术语几乎可以互换。通常它们被称为 ID3 标签,因为它是一个单独的标准(由各种 MP3 播放器应用程序发明),而不是被正确地内置到格式中——而且因为一些其他非 MP3 格式也可能很少使用 ID3 标签.
ID3v1(即标签格式的版本 1)非常有限,只有几个固定大小的艺术家/专辑/标题字段(以及可供选择的固定类型列表)。
ID3v2(第 2 版)中的所有内容都进行了彻底改造,以允许 MP3 文件包含任意数量的标签/值字段(大致如您在 中看到的
mid3v2
)。您仍然可以找到同时具有 v1 和 v2 标签的旧 mp3 文件(从早期的 v2 还是新的),尽管现在没有理由再使用 v1。
ID3v2 有几个子版本;最常见的是 v2.3 和 v2.4——后者不像 v2.3 那样得到普遍支持(例如,Windows 资源管理器在去年左右才开始识别它),但 Mutagen 会将您的所有文件升级到 v2。 4无论如何。
“AlbumArt*.jpg”文件特定于 Windows Media Player - 它使用这些文件作为一种缓存,或者在将下载的专辑封面写入文件标签之前存储下载的专辑封面,或者根本不需要读取嵌入的标签。
“为什么是两个?” – 因为某些原因,Windows Media Player 的开发人员需要两个。这些文件与封面在 ID3 标签中的实际存储方式无关。
“我可以为 APIC 标签设置两个值吗?” – 是的,但此功能旨在存储多个不同的封面(例如封面、封底、歌词册、光盘本身),而不是存储同一封面的不同尺寸。ID3v2.4标准标签规范(第 4.14 节)谈到了这一点。
“我如何设置这个标签?” – 使用
-p/--picture
mid3v2 选项,或使用 Python 的mutagen
模块编写自定义脚本,或使用支持此功能的媒体播放器导入封面。Foobar2000 允许您添加多个封面图像;许多其他播放器通常支持添加至少一个封面。这里
3
是 mutagen.id3.PictureType.COVER_FRONT,cover
而是图像的“描述”。令人困惑的是,mutagen 允许多个具有相同类型的 APIC 帧——大多数玩家不会正确显示——但同时坚持描述是唯一的,所以如果你添加一个带有描述“封面”的新图像,它将覆盖一个相同描述的上一张图片。(我真的感觉mutagen的type和description字段不小心互换了。其实连mid3v2的“Invalid picture type”报错信息都指错了字段——mid3v2使用第3个字段作为type,但是报错信息显示第二个代替。)