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

Iza*_*aya 2 linux id3 file vorbis flac

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

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

Iza*_*aya 5

警告:一个音频文件可以有多个元数据容器。所以找到vorbis注释并不意味着没有id3标签。提醒:flac 和 ogg 应该与 vorbis 注释一起使用。

沃比斯评论

弗拉克

metaflac --list myfile.flac
Run Code Online (Sandbox Code Playgroud)

它会打印每个块的大量信息。答案如下:

METADATA block #2
  type: 4 (VORBIS_COMMENT)
Run Code Online (Sandbox Code Playgroud)

要安装 Metaflac:sudo apt install flac.

奥格

vorbiscomment file.ogg
Run Code Online (Sandbox Code Playgroud)

它会输出类似以下内容:

encoder=Lavc57.107.100 libvorbis
TRACKNUMBER=1
title=My file title
...
Run Code Online (Sandbox Code Playgroud)

安装: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")
Run Code Online (Sandbox Code Playgroud)

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