AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1745001
Accepted
Chris
Chris
Asked: 2022-09-30 06:22:46 +0800 CST2022-09-30 06:22:46 +0800 CST 2022-09-30 06:22:46 +0800 CST

id3 标签和 APIC 标签

  • 772

请原谅我滥用命名法,因为我仍在寻找解决方法。我不知道我是否有“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 困惑吗?也许举几个例子?

谢谢您的帮助,

克里斯。

mp3 id3
  • 1 1 个回答
  • 32 Views

1 个回答

  • Voted
  1. Best Answer
    user1686
    2022-09-30T07:07:40+08:002022-09-30T07:07:40+08:00

    我不知道我是否有“mp3 tags”或“id3 tags”,如果我有“id3 tags”,“v”是什么意思,或者即使这些术语之间有任何区别。

    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无论如何。

    如果我的媒体播放器更新了 mp3 标签,我将获得两个 AlbumArt_{}_.jpg" 图像文件,一个 200x200 ="Large" 和一个 75x75 ="Small",这会引发“为什么要两个?”和“我可以为 APIC 标签设置两个值吗?”、“如何设置此标签?”和“在哪里可以找到示例?”。

    “AlbumArt*.jpg”文件特定于 Windows Media Player - 它使用这些文件作为一种缓存,或者在将下载的专辑封面写入文件标签之前存储下载的专辑封面,或者根本不需要读取嵌入的标签。

    “为什么是两个?” – 因为某些原因,Windows Media Player 的开发人员需要两个。这些文件与封面在 ID3 标签中的实际存储方式无关。

    “我可以为 APIC 标签设置两个值吗?” – 是的,但此功能旨在存储多个不同的封面(例如封面、封底、歌词册、光盘本身),而不是存储同一封面的不同尺寸。ID3v2.4标准标签规范(第 4.14 节)谈到了这一点。

    “我如何设置这个标签?” – 使用-p/--picturemid3v2 选项,或使用 Python 的mutagen模块编写自定义脚本,或使用支持此功能的媒体播放器导入封面。Foobar2000 允许您添加多个封面图像;许多其他播放器通常支持添加至少一个封面。

    mid3v2 -p "cover.jpg:cover:3:image/jpeg" foo.mp3
    

    这里3是 mutagen.id3.PictureType.COVER_FRONT,cover而是图像的“描述”。令人困惑的是,mutagen 允许多个具有相同类型的 APIC 帧——大多数玩家不会正确显示——但同时坚持描述是唯一的,所以如果你添加一个带有描述“封面”的新图像,它将覆盖一个相同描述的上一张图片。

    (我真的感觉mutagen的type和description字段不小心互换了。其实连mid3v2的“Invalid picture type”报错信息都指错了字段——mid3v2使用第3个字段作为type,但是报错信息显示第二个代替。)

    with open("cover.jpg", "rb") as fh:
        apic = mutagen.id3.APIC(data=fh.read(),
                                type=mutagen.id3.PictureType.COVER_FRONT,
                                desc="cover",
                                mime="image/jpeg")
    tags = mutagen.mp3.MP3("foo.mp3")
    tags.add(apic)
    tags.save()
    
    • 0

相关问题

  • 如何使用 youtube-dl 下载 youtube 播放列表并使其成为 mp3 播放列表?

  • 如何在 WIndows 媒体播放器中编辑 MP3 标签以获得正确的曲目列表

  • “ffmpeg -ss”支持的准确搜索格式?mp3 似乎不起作用,只有 .wav

  • 如何使年/日期标签在媒体播放器中完整显示?

  • 如何使文件日期修改为静态(不可更改)?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    Saaru Lindestøkke 为什么使用 Python 的 tar 库时 tar.xz 文件比 macOS tar 小 15 倍? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 为什么通过电缆(同轴电缆)的千兆位/秒 Internet 连接不能像光纤一样提供对称速度? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve