如何为音乐文件设置元数据?

Ksh*_*rma 13 media music files

在 Windows 中,音乐文件具有与艺术家姓名、专辑名称相关联的元数据。这个元数据是如何存储的。它是像其他文件属性一样存储在文件系统中,还是 Windows 资源管理器使用 MP3 阅读器插件提取的 MP3 数据的一部分?

是否可以在 Linux 中读取/更改此信息?命令行可以吗?

(我知道可以使用 Rhythymbox 或某些音乐播放器设置这些属性,但我很好奇这些属性是否也可以直接设置。就像在 Windows 中一样,如果您右键单击文件并打开属性对话框,Windows 本身会显示艺术家信息)

Chr*_*her 15

标签存储在位于 MP3 音频文件内的数据容器中。我使用的一些软件:

  1. 易标签(GUI)
  2. id3v2 (CLI)
  3. 皮卡德(GUI)
  4. id3tool (CLI)

此外,许多音乐播放器具有标签编辑功能。ID3的官方站点有文件格式规范和历史。至于右键单击文件来设置标签,由于专利问题,它几乎肯定不是 Linux 中任何文件管理器的标准功能。因此,您将尝试为您的文件管理器找到一个附加包来获得该功能。


小智 5

有一种方法可以将元数据添加到媒体文件中。您可以使用ffmpeg

参考文档在这里

添加元数据:

ffmpeg -i inputfile -codec copy -metadata KEY=VALUE outputfile
Run Code Online (Sandbox Code Playgroud)

为了删除,您可以将键设置为空值:

ffmpeg -i inputfile -codec copy -metadata KEY= outputfile
Run Code Online (Sandbox Code Playgroud)

例子:

 ffmpeg -i track05.wav \
   -codec copy \
   -metadata title="This is the title" \
   -metadata author="Made by Me" \
   -metadata copyright="Copyright 2009 Me" \
   -metadata comment="An exercise in Realmedia metadata" \
   -y track05.rm
Run Code Online (Sandbox Code Playgroud)