如何获取 flac 和 ogg 的音频文件元数据容器数据

How to get audio file metadata container's data for flac and ogg

是否有命令告诉我什么类型的元数据容器正在使用文件?

类似于:command myfile.flac 说:vorbis commentid3v2

警告:一个音频文件可以有多个元数据容器。所以找到 vorbis 注释并不意味着没有 id3 标签。温馨提示:flac和ogg要配合vorbis注释使用。

Vorbis 评论

Flac

metaflac --list myfile.flac

它会为每个块打印很多信息。答案如下:

METADATA block #2
  type: 4 (VORBIS_COMMENT)

要安装 metaflac:sudo apt install flac

奥格

vorbiscomment file.ogg

它将输出如下内容:

encoder=Lavc57.107.100 libvorbis
TRACKNUMBER=1
title=My file title
...

安装:sudo apt install vorbis-tools

ID3

好吧,我找到的最好的东西是 python 库:mutagen。例如,在你的 python 文件中你可以写:

from mutagen.id3 import ID3NoHeaderError, ID3

try:
    tags = ID3("path/to/myfile.ogg")
    print("ID3 tags found: ", tags)
except ID3NoHeaderError:
    print("No ID3 tags")

带有 ID3 标签的文件的输出:ID3 tags found: {'TIT2': TIT2(encoding=<Encoding.UTF8: 3>, text=['my new title'])}。它也适用于 flac 文件。