Ich stellte fest, der Media-Player amarok 2.3.0 übernimmt keine Cover aus MP3-Dateien, falls diese im PNG-Format gespeichert sind (nur JPEG-Bilder wurden übernommen). Mit der Cover-Verwaltung von amarok lassen sich nachträglich auch „eigene“ PNG-Cover einfügen in die Datenbank. Der Dateiauswahl-Dialog der Cover-Verwaltung zeigt das Verzeichnis an, in dem die MP3-Datei gespeichert ist. Am schnellsten ist die Arbeit erledigt, falls alle Cover-Bilddateien im gleichen Verzeichnis wie deren MP3-Dateien existieren.
Da viele Verzeichnisse betroffen waren, wäre mir die Benutzung eines GUI-Programms, beispielsweise EasyTAG, zu zeitaufwändig. Deshalb schrieb ich ein Perl-Skript, das Sie hier herunterladen können. Voraussetzung ist, auf Ihrem Rechner sind Perl installiert und die vom Skript benötigten Perl-Module. Das Skript sucht in einer MP3-Datei in allen eingebetteten Bildern nach einem Cover und schreibt dieses ins gleiche Verzeichnis wie die MP3-Datei. Mit einem Bash-Skript gelingt dies schnell:
#!/bin/sh IFS=" " for filename in $(find musik -type f -iname '*\.mp3') do dir=${filename%/*} jpgCover="${dir}/cover.jpg" pngCover="${dir}/cover.png" if ! [ -f $jpgCover ] && ! [ -f $pngCover ] then extract_id3v2_cover.pl $filename fi done
Ich fügte dem Kontextemnü, Untermenü „Aktionen“, des KDE-Dateimanagers Dolphin dieses Skript hinzu, sodass ich per Mausklick (rechte Taste) auf eine MP3-Datei das Cover extrahieren lassen kann. Dafür erzeugte ich im Verzeichnis $HOME/.kde4/share/kde4/services/ServiceMenus/
die Textdatei extract_id3v2_cover.desktop
folgenden Inhalts:
[Desktop Entry] Type=Service ServiceTypes=KonqPopupMenu/Plugin MimeType=audio/mpeg; Actions=extract_id3v2_cover [Desktop Action extract_id3v2_cover] Exec=/home/elmar/bin/extract_id3v2_cover.pl Name[de]=Cover extrahieren Name=Cover extrahieren Icon=audio-ac3