【问题标题】:Get MP3 ID3 (V2) tags using id3v2使用 id3v2 获取 MP3 ID3 (V2) 标签
【发布时间】:2011-03-12 22:10:39
【问题描述】:

我有点难以理解 V2 ID3 标签的格式。我只是想获取 MP3 文件的“流派”ID3 标签,但 id3v2 实用程序返回的信息比我需要的多,我不明白这些数据代表什么。

例如,我正在使用以下 bash 代码:

id3v2 -l "$FILE" | grep -i "content type"

返回以下内容:

TCON (Content type): Jazz (8)

真的我只是想知道我是否可以安全地假设这将始终是格式,因此我可以安全地执行以下操作吗?:

id3v2 -l "$FILE" | grep -i "content type" | sed "s/^.*: //" | sed "s/ (.*$//"

(这将导致“爵士乐”。)

我正在努力寻找获取 ID3“流派”标签的最佳方法。非常感谢您的任何建议。

【问题讨论】:

    标签: bash shell id3lib


    【解决方案1】:

    我认为假设该行将以 TCON 为前缀是安全的,所以我宁愿搜索它(这也是 i18n 安全的)。

    id3v2 -l "$FILE" | sed -n '/^TCON/s/^.*: //p' | sed 's/ (.*//'
    

    (无需运行 grep)


    来自 /usr/share/doc/id3lib-3.8.3/doc/id3v2.3.0.txt

    TCON

    “内容类型”,它 以前被存储为一个字节 仅数值,现在是 数字字符串。您可以使用一个或 ID3v1.1 所做的几种类型 或者,因为类别列表将是 无法准确维护 和最新的类别,定义 你自己的。

    对 ID3v1 流派的引用可以 作为第一个字节,输入“(”,后跟一个数字 流派列表(附录 A.)并结束 带有“)”字符。这是 可选地后跟一个 细化,例如“(21)”或 “(4)欧洲迪斯科”。几个参考可以 在同一框架中制作,例如 “(51)(39)”。如果细化应该 应以“(”字符开头 替换为“((”,例如“((我 可以找出任何类型)”或“(55)((我 想...)”。以下新 内容类型在 ID3v2 中定义,并且 以相同的方式实现 numerig 内容类型,例如 “(RX)”。

     RX  Remix
     CR  Cover
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-14
      • 2011-09-02
      • 2011-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多