添加新的自定义元数据标签

添加新的自定义元数据标签

我知道如何更改标签值,以及如何从文件的元数据中提取文件的标签值,是的,我们有很棒的工具,例如id3标签,出口工具,ffmpeg等等。

但我需要添加一个全新的标签,而不是更改现有的标签。

例如,考虑这样一种情况:.mp3文件,它的元数据有 4 个标签:

1. Artist
2. Album
3. Genre
4. File Size

我需要的是添加一个名为音频比特率的新标签(第五个标签)。是否可以?如果是的话,应该怎样做呢?

提前致谢

答案1

长话短说您不能定义自己的 ID3Tags,您必须使用在规格。由于标签为音频比特率没有定义,你运气不好。这对于其他音频容器(使用不同标签/评论系统的音频容器)来说不是问题。

您的主要问题是 ID3 标签是固定规范。最好的办法就是在UserDefinedText标签内写入。让我们尝试使用ffmpeg,让我们使用我觉得很有趣的巴西国歌(并且它是免费的)作为示例:

$ wget -O brazil.mp3 http://www.noiseaddicts.com/samples_1w72b820/4170.mp3
$ exiftool -s brazil.mp3
...
Emphasis                        : None
ID3Size                         : 4224
Title                           : 2rack28
Artist                          : 
Album                           : 
Year                            : 
Comment                         : 
Genre                           : Other
Duration                        : 0:01:10 (approx)

好的,我们已经有一些标签了。ffmpeg时间:

$ ffmpeg -i brazil.mp3 -c:a copy -metadata Artist=Someone -metadata MyOwnTag=123 brazil-tags.mp3
$ exiftool -s brazil-tags.mp3 
ExifToolVersion                 : 10.20
...
Emphasis                        : None
ID3Size                         : 235
Title                           : 2rack28
Artist                          : Someone
UserDefinedText                 : (MyOwnTag) 123
EncoderSettings                 : Lavf57.41.100
Album                           : 
Year                            : 
Comment                         : 
Genre                           : Other
Duration                        : 0:01:11 (approx)

为了与更灵活的格式进行比较(您实际上应该使用一些编码器参数来获得不错的音频,但我们对音频不感兴趣):

$ ffmpeg -i brazil.mp3 brazil.ogg
$ exiftool -s brazil.ogg
...
Vendor                          : Lavf57.41.100
Encoder                         : Lavc57.48.101 libvorbis
Title                           : 2rack28
Duration                        : 0:00:56 (approx)

现在标记为ffmpeg

$ ffmpeg -i brazil.ogg -c:a copy -metadata MyOwnTag=123 -metadata MyExtraThing=Yay brazil-tags.ogg
$ exiftool -s brazil-tags.ogg 
...
Vendor                          : Lavf57.41.100
Encoder                         : Lavc57.48.101 libvorbis
Title                           : 2rack28
Myowntag                        : 123
Myextrathing                    : Yay
Duration                        : 0:00:56 (approx)

而且我们有标签。这是因为 Vorbis 评论可以是任何内容,而 ID3Tags 则只有几个允许的值(标签名称)。

您不需要ffmpeg使用 Vorbis Comments。 vorbiscomment使用起来更加简单,例如:

$ vorbiscomment -a -t EvenMoreStuff=Stuff brazil-tags.ogg
$ exiftool -s brazil-tags.ogg 
...
Vendor                          : Lavf57.41.100
Encoder                         : Lavc57.48.101 libvorbis
Title                           : 2rack28
Myowntag                        : 123
Myextrathing                    : Yay
Evenmorestuff                   : Stuff
Duration                        : 0:00:56 (approx)

额外说明:FLAC 也使用 vorbis 注释。

参考:

相关内容