You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Python获取MP3文件的自定义标签?

音频自定义标签读取方案解答

一、mutagen、eyeD3完全可以实现自定义标签读取需求

你之前没读到自定义UUID标签,是因为这类非标准标签不会和艺术家、时长这类标准字段放在同一级属性下,需要到对应存储自定义字段的结构中检索:

mutagen使用示例

mutagen对不同音频格式的自定义标签存储逻辑不同:

  1. MP3(ID3格式):自定义标签存储在TXXX类型的ID3帧中
from mutagen.id3 import ID3

audio = ID3("测试文件.mp3")
# 遍历所有自定义TXXX帧
for frame in audio.values():
    if frame.FrameID == "TXXX":
        # desc是自定义标签的名称,text是对应值
        print(f"标签名:{frame.desc},标签值:{frame.text[0]}")
# 确认UUID对应的标签名后,可直接定向读取,比如标签名为CUSTOM_UUID时
# uuid_val = audio.get("TXXX:CUSTOM_UUID").text[0]
  1. FLAC/OGG等使用VORBIS评论的格式:自定义标签直接以键值对形式存在标签字典中
from mutagen.flac import FLAC

audio = FLAC("测试文件.flac")
# 直接按键名读取即可
uuid_val = audio.get("你的UUID标签名", [None])[0]

eyeD3使用示例

eyeD3仅支持MP3格式的ID3标签读取,自定义标签存在user_text_frames属性中:

import eyed3

audio = eyed3.load("测试文件.mp3")
for frame in audio.tag.user_text_frames:
    print(f"标签名:{frame.description},标签值:{frame.text}")

二、其他可选实现工具

如果需要命令行快速读取,可使用以下工具:

  • id3v2:专门处理MP3的ID3标签,执行id3v2 -l 音频文件路径即可列出所有标签,包括自定义TXXX帧
  • ffprobe:属于FFmpeg套件,几乎支持所有常见音频格式,读取指定标签的命令参考:ffprobe -v error -show_entries format_tags=你的UUID标签名 -of default=noprint_wrappers=1:nokey=1 音频文件路径
  • mediainfo:全格式多媒体信息查看工具,命令行和GUI版本都有,可直接列出所有自定义标签字段

内容的提问来源于stack exchange,提问作者fasola

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 16:15:00