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

问题描述

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

类似:command myfile.flacvorbis commentid3v2

解决方法

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

Vorbis评论

Flac

metaflac --list myfile.flac

它将为每个块打印很多信息。答案是这样:

METADATA block #2
  type: 4 (VORBIS_COMMENT)

要安装metaflac:sudo apt install flac

Ogg

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...