首页 > 解决方案 > 如何获取 flac 和 ogg 的音频文件元数据容器的数据

问题描述

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

像:command myfile.flac说:vorbis commentid3v2

标签: linuxfileid3flacvorbis

解决方案


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

Vorbis 评论

弗拉克

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 文件。


推荐阅读