如何通过命令行添加ID3“封面艺术”?

如何通过命令行添加ID3“封面艺术”?

我需要为一些 MP3 文件添加 ID3 封面。我需要一个命令行工具(无 GUI),但似乎 id3 和 id3v2 工具都无法做到这一点。有什么提示吗?

答案1

我经常使用命令行应用程序来为 mp3 文件添加封面,这是一个非常棒的 Python 应用程序eyeD3。它可以通过终端进行安装,如下所示:

sudo apt-get install eyed3

cover.jpg下面是一个将名为 的封面图像添加到名为 的 mp3 文件的命令示例test.mp3

eyeD3 --add-image "cover.jpg:FRONT_COVER" test.mp3

请参阅下面的示例,在我自己的计算机上工作,将封面图像添加到没有元标签的 mp3 中:

andrew@ilium~$ eyeD3 --add-image "cover.jpg:FRONT_COVER" test.mp3
test.mp3    [ 946.12 KB ]
-------------------------------------------------------------------------------
Adding image cover.jpg
Time: 01:00 MPEG1, Layer III    [ 128 kb/s @ 44100 Hz - Joint stereo ]
-------------------------------------------------------------------------------
ID3 v2.4:
title: 
artist: 
album: 
album artist: None
track:      
FRONT_COVER Image: [Size: 95788 bytes] [Type: image/jpeg]
Description: 

Writing ID3 version v2.4
-------------------------------------------------------------------------------
andrew@ilium~$ 

许多虽然我上面已经给出了基本语法,但还有其他添加图像的选项。以下是其他选项:

  --add-image IMG_PATH:TYPE[:DESCRIPTION]
                        Add or replace an image. There may be more than one
                        image in a tag, as long as the DESCRIPTION values are
                        unique. The default DESCRIPTION is ''. If PATH begins
                        with 'http[s]://' then it is interpreted as a URL
                        instead of a file containing image data. The TYPE must
                        be one of the following: OTHER, ICON, OTHER_ICON,
                        FRONT_COVER, BACK_COVER, LEAFLET, MEDIA, LEAD_ARTIST,
                        ARTIST, CONDUCTOR, BAND, COMPOSER, LYRICIST,
                        RECORDING_LOCATION, DURING_RECORDING,
                        DURING_PERFORMANCE, VIDEO, BRIGHT_COLORED_FISH,
                        ILLUSTRATION, BAND_LOGO, PUBLISHER_LOGO.

参考:

答案2

这是一个对我有用的 Python 脚本。使用 运行它python script.py audiofile.mp3

您将需要mutagen;使用 来安装它sudo -H pip install mutagen

from mutagen.mp3 import MP3
from mutagen.id3 import ID3, APIC, error
import sys
mp3file=sys.argv[1]
audio = MP3(mp3file, ID3=ID3)

try:
   audio.add_tags()
except error:
   pass

audio.tags.add(
   APIC(
      encoding=1,
      mime='image/png',
      type=3,
      desc=u'Cover',
      data=open('/path/to/artwork.png').read()
   )
)
audio.save()

相关内容