Gestern wollte ich eine MP3-Datei über meinen Music Player Daemon abspielen. Statt Wohlklang, hörte ich nur ein kurzes Geräusch; danach war Stille. Interessanterweise spielte das Stück auf meinem Notebook in Rhythmbox, VLC und MPV ohne Probleme. In Rhythmbox war es ausserdem nicht möglich, die ID3-Tags der MP3-Datei zu ändern. Was war hier geschehen?
Zuerst habe ich weitere ID3-Tag Editoren, wie EasyTAG und MusicBrainz-Picard ausprobiert. Doch auch diese Werkzeuge konnten die Metadaten der MP3-Datei nicht ändern. Dann ging mir ein Licht auf; was wäre, wenn es sich bei der MP3-Datei nicht um eine solche handeln würde? Zur Analyse von Medien-Dateien gibt es das Programm MediaInfo, und zwar mit und ohne grafische Benutzeroberfläche.
Die CLI-Version von MediaInfo habe ich als Snap-Paket installiert. Das Werkzeug gibt es auch in diversen anderen Paket-Formaten. Die Informationen über besagte MP3-Datei sahen dann so aus:
Jetzt war der Fall klar: Die angebliche MP3-Datei war tatsächlich eine WebM-Datei. Im Nachhinein wurde mir auch klar, wie es dazu kommen konnte. Ich hatte das Musikstück für Monaten mit meiner eigenen Software YouPlay heruntergeladen. YouPlay sucht Musik bei YouTube und lädt diese als MP3-Datei herunter. Dazu wird die Bibliothek 'youtube-dl' verwendet. Beim Download über 'youtube-dl' kann man ein Audioformat erzwingen, z.B. 'mp3'. Falls es das Musikstück allerdings nicht in diesem Format gibt, wird das verfügbare Format heruntergeladen. Das war in meinem Fall eben eine WebM-Datei.
Ich werde YouPlay noch dahingehend aufbohren müssen, dass das Medienformat überprüft und gegebenenfalls umgewandelt wird. Damit ich mir Jeff Beck und Imogen Heap endlich auf den grossen Lautsprechern anhören konnte, habe ich die WebM-Datei in eine MP3-Datei konvertiert. Das geht so:
ffmpeg -i input.webm -acodec libmp3lame -aq 4 output.mp3
Fazit: "Es ist nicht immer drin, was drauf steht!" Übrigens kann MediaInfo noch sehr viel mehr Informationen anzeigen als der Screenshot erahnen lässt.