Wie kann man ein Albumcover bei einer .mp3 mit Python hinzufügen?
Ich wollte ein Programm coden, welche automatisch alle .mp3 Dateien in einem Ordner ein Albumcover gibt. Nun hab ich schon ein paar vorgefertigte Codes probiert, aber alle haben die .mp3 nicht verändert.
Habt ihr da eine Ahnung, wie das geht?
LG
1 Antwort
Diese Zeile:
audio = MP3(r'Qualityland\01 Track 1.mp3', ID3=ID3)
ist erst einmal unnötig, da du die Variable wenige Zeilen später wieder überschreibst.
Die APIC-Funktion erwartet als zweites Argument den MIME-Type, keinen Dateipfad. Wenn es sich bei deinem Bild wirklich um eine PNG-Datei handelt, wäre dieser image/png.
Die ID3-Framestruktur sollte TIT2 sein.
ist erst einmal unnötig, da du die Variable wenige Zeilen später wieder überschreibst.
Hab ich gar nicht gesehen, da beim 1. noch ID3=ID3 dahintersteht.
als zweites Argument den MIME-Type, keinen Dateipfad
Ein Link zu dem Bild? Bei dem Bild handelt es sich um ein .webp Format, welches ich mit umbenennen behoben habe. Kann ich trotzdem das Bild verwenden?
Die ID3-Framestruktur sollte TIT2 sein.
Was meinst du damit? Wie kann man das beheben?
Der MIME-Type ist kein Link, sondern eine Angabe des Dateiformats. Für webp wäre das image/webp. Ob dieses Bildformat generell unterstützt wird, kann ich nicht sagen.
Wie kann man das beheben?
Indem du das I ergänzt.
Ich habe image/webp ergänzt, und es mit .png und .webp dateien versucht, aber ohne Erfolg. Ich habe sowas noch nie gemacht und brauche das nur einmal, sodass ich es in meinen Code einbinden kann (will nämlich, dass es automatisch den Namen der Musikdatei ausliest --> auf google image geht --> das erste Bild runterlädt und es als neues Albumcover verwenden. Alles funktioniert schon, außer das Einbinden des bilds)
from mutagen.id3 import ID3, APIC, TT2
pic_file = r'Music\coverimage-9783844916515-horbuchhamburg-2019-11-21.webp' # pic file
imagedata = open(pic_file, 'rb').read()
audio = ID3(r'Music\01 Track 1.mp3')
audio.add(APIC(3, 'image/webp', 3, 'Front cover', imagedata))
audio.add(TT2(encoding=3, text='title'))
audio.save(v2_version=3)
Könntest du vielleicht nochmals drüberschauen und schauen, was ich da falsch gemacht habe.
LG
Ich würde es einmal mit einem anderen Bild (JPG) probieren.
Als Randbemerkung: Beachte bei deinen Bildern, dass ein bloßes Ändern der Dateiendung nicht den Dateityp ändert. Es findet höchstens eine andere Verknüpfung mit installierten Programmen statt, über die die Datei standardmäßig geöffnet wird. Wenn du bspw. den MIME-Typ image/jpeg angibst, muss die Bilddatei auch ein tatsächliches JPG-Format beinhalten.
Des Weiteren müsste einmal geschaut werden, ob sich die Datei überhaupt ändert oder nicht. Zum einen müsste der Tag über mutagen wieder auslesbar sein, zum anderen kann ein Tag-Reader wie Mp3tag beim Testen helfen (vielleicht ist dein bisheriges Testverfahren nicht vertrauenswürdig).
Ich habe das zwar probiert, aber ich habe keine Veränderung von der .mp3 Datei festgestellt.
Hab ich was falsch gemacht?