obwohl ich MP3Tag schon längere Zeit benutze, fiel mir erst kürzlich ein Fehler auf. Im Tag-Panel kann man ja das Album-Cover anzeigen lassen. Der daneben stehende Text zeigt die Größe des Bildes in KB, die Maße in Pixel, das Format der Grafik (png, jpeg usw.) sowie den Cover-Typ an. Allerdings wird das Grafik-Format anscheinend in vielen Fällen falsch ausgegeben. Von 13000 Tracks meiner Mediathek werden ca. 7000 als PNG-Grafik erkannt obwohl sie eigentlich eindeutig als JPEG zu identifizieren sind. Bei einem Album, das scheinbar sowohl PNG- als auch JPEG-Cover enthält, habe ich mit der MP3Tag-Funktion 'Cover extrahieren' aus allen Tracks Grafik-Dateien erzeugt. Alle diese Dateien, egal ob als PNG oder JPEG erkannt, sind ausweislich eines Hex-Editors absolut identisch! Es handelt sich bei den betroffenen Audio-Dateien ausnahmslos um AAC-Dateien mit der Endung 'm4a' (Itunes). Es spricht einiges dafür, dass der Algorithmus zur Erkennung des Cover-Formates in m4a-Dateien nicht korrekt arbeitet. Übrigens finde ich mit einem anderen Programm in meiner Mediathek nur 44 von 13000 Tracks mit Cover-Bild im PNG-Format, was wesentlich plausibler ist. Es müsste also eigentlich gehen.
Unter dem folgenden Link ist ein ZIP-File mit 2 AAC-Audio-Dateien (.m4a) abrufbar: https://c.web.de/@337189507533111634/zbeFxlrFQwGotuDtvhly_w
Darin sind 2 Tracks aus dem Album "Something For Everybody" von Elvis Presley enthalten. In MP3Tag wird das Cover von 'Starting Today' als JPEG, das von "Gently" jedoch als PNG angezeigt.
Wenn man nun die Funktion 'Cover extrahieren' mit beiden ausführt, sind die so erzeugten Bild-Dateien identisch. In einem Hex-Editor (HxD Hexeditor) kann man auch bei beiden die JPEG-Kennung FF D8 FF E0 00 10 4A 46 49 46 erkennen. Was läuft da schief?
Die Ursache, warum das in 1-06 Gently.m4a als PNG dargestellt wird, muss wohl @Florian genauer prüfen. Einen offensichtlichen Grund fand ich mit meinem Möglichkeiten nicht.
Nur zur Sicherheit:
Hast Du diese Cover immer mit Mp3tag eingebettet oder machst Du das mit einem anderen Programm?
Das ist nicht in jedem Fall genau nachzuvollziehen. Alle diese Dateien wurden jedoch meiner Itunes-Mediathek hinzugefügt und anschließend per 'Itunes Match' in die ICloud hochgeladen. Dabei werden alle Tracks, die im Apple-Katalog vorhanden sind, nicht wirklich hochgeladen, sondern 'abgeglichen' d.h. aus diesem Bestand meiner ICloud-Mediathek hinzugefügt. Dabei werden aber die vorhandenen Metadaten aus meinen Original-Tracks übernommen. Später habe ich diese Dateien dann aus der ICloud auf meine lokale Platte heruntergeladen. Die Beispiel-Dateien gehören dazu.
Gruß LP
Wenn man in der Datei mit den falschen PNG versucht per Aktion "Cover anpassen" das Cover in JPEG umzuwandeln, bleibt es bei PNG.
Wenn man das falsche PNG in PNG umwandelt mit der Aktion "Cover anpassen" und dann das so erzeugte PNG, das dann auch eine andere Größe hat, in JPEG umwandelt, wird es zu einem jpeg und auch so gezeigt.
Photoshop mag die falsche png-Datei nicht öffnen.
Acdsee zeigt die falsche png-Datei vom Dateinamen her als png, intern jedoch als JPEG an und kann die Datei dann auch öffnen und in einem beliebigen Format speichern.
Foobar zeigt jedes eingebettete Bild als jpeg.
Bei der bereitgestellten Datei wird das Cover als Mimetype 14 angegeben, was bei MP4 für PNG steht (13 wäre JPEG).
Eine Analyse der Daten findet momentan in diesem Fall nicht statt. Das mache ich — um Zeit beim Einlesen zu sparen — momentan nur, falls kein expliziter Mimetype angegeben ist.
Nach meiner Erfahrung mit MP3Tag wird in der Anzeige der Dateityp entsprechend der Dateiendung angezeigt. Ich hatte öfters Dateien eingebettet, die zwar PNG-Dateien waren, allerdings eine JPG-Endung hatten. MP3Tag zeigte immer JPG als Dateityp an.
Irfanview beanstandet solche Dateien generell und bietet eine Umbenennung an.
Ich nehme an, das gilt sinngemäss auch für den Extract eines solchen Covers aus Mp3tag?
Es wird nicht weiter auf den Inhalt geprüft sondern die Endung gemäss vorhandenem MIME-Type vorgeschlagen?
Und das bedeutet, dass eine anderes Programm, das die Datei im Zugriff hatte und ändern konnte, da falsche Daten eingetragen hat.
Der einfachste Ausweg wäre also, nach dem Mime_Type png zu filtern, die Bildddaten zu exportieren und mit Irfanview analysieren und ggf. umbenennen zu lassen und dann die Bilder wieder zu importieren und die bestehenden Cover zu löschen.
Der Fehler läge dann aber in dem anderen Programm.
Und das bedeutet, dass eine anderes Programm, das die Datei im Zugriff hatte und ändern konnte, da falsche Daten eingetragen hat.
Das ist die Lösung. Dieses 'andere Programm' ist vermutlich Itunes, das meine Metadaten beim 'Abgleichen' übernommen und in das 'abgeglichene' File geschrieben hat. (s.o. 4/15)
Wenn ich mir von Itunes (via Itunes COM-Interface in einem selbst entwickelten Programm) den Typ der Grafik ausgeben lasse, erscheint tatsächlich immer derselbe Typ wie bei MP3Tag. Es handelt sich also eigentlich nicht um einen Fehler von MP3Tag, sondern von Apple/Itunes beim Übernehmen meiner Metadaten. Mein Ansatz war bisher, den Grafik-Typ immer aus den eigentlichen Grafikdaten zu entnehmen, wobei ich den 'Datatype' Wert im covr-Atom ignoriert habe. Das dauert wohl etwas länger und kann das Einlesen vieler Dateien erheblich verzögern, ist aber womöglich unumgänglich, wenn man eine zuverlässige Erkennung haben will.
Mir bleibt jetzt 'nur' noch die Aufgabe, meine Mediathek zu reparieren, d.h. die falschen PNG-Kennungen zu entfernen.
Itunes ist nicht nur 'vermutlich', sondern nachweislich und zuverlässig reproduzierbar der Verursacher des Fehlers. Mittlerweile habe ich mir ein Programm geschrieben, mit dem ich in meinen Mediatheken (auch ICloud) alle m4a-Dateien gescannt und, falls nötig, im 'covr'-Atom den 'Datatype'-Wert gemäß dem tatsächlichen Grafik-Format ($0E für png, $0D für jpeg) korrigiert habe. Das dauert ca. 20 Minuten (pro Mediathek, mit z. Z. 13000 Tracks). In Zukunft brauche ich dann nur noch die Neuzugänge zu 'behandeln'. Ich habe auch einen Bug-Report an den Apple-Support geschickt. Ob da noch eine Reaktion erfolgt, ist allerdings fraglich, da es sich bei Itunes für Windows anscheinend um ein Auslaufmodell handelt. Was lernen wir daraus? Man sollte sich beim Ermitteln des Grafik-Formats von Coverbildern nur auf den eigentlichen Grafik-Header verlassen! Immerhin werden auf jeden Fall meine m4a-Tracks in Zukunft von MP3Tag korrekt ausgelesen und dargestellt!