[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: mp3's vergleichen, cmp geeignet?



On Sat, 24 Jan 2004 09:36:07 +0100
Ruediger Noack <ernohl@yahoo.de> wrote:

> Ich möchte den Musikbereich von mp3's vergleichen, also herausfinden, ob
> sie sich nur im Tag-Bereich unterscheiden.

Das dürfte schwierig werden, da (wie du ja inzwischen weist) die
eigentlichen Musikdaten zwischen bis zu zwei ID3-Tags liegen, ID3v2 am
Anfang und ID3v1 am Ende. Letzteres hat eine konstante Länge (wie lang
genau verrät dir Google), das Tag der Version 2 wiederum hat eine variable
Länge, je nach dem, welche Felder gesetzt und wie lang die Daten sind. 

Nun könntest du theoretisch die reinen Musikdaten vor dem Vergleich
extrahieren, dazu müsstest du allerdings vorher die Länge des (evtl
vorhandenen) ID3v2-Tags in Erfahrung bringen, sowie ob ein ID3v1-Tag
vorhanden ist. Sowas könnte evtl. mit "id3v2", "id3" o.ä. klappen. 

Die andere Methode wäre, die Dateien vor dem Vergleich zu kopieren und mit
leeren ID3-Tags zu überschreiben. Das geht bestimmt mit einem Skript, was
"id3v2", "id3" oder "id3ren" benutzt und dürfte einfacher sein als erstere
Methode. 

$ id3v2
Usage: id3v2 [OPTION]... [FILE]...
Adds/Modifies/Removes/Views id3v2 tags, converts/lists id3v1 tags
[...]
  -D,  --delete-all         Deletes both id3v1 and id3v2 tags

... Da haben wirs ja schon. Wenn dir die Kopiererei zu lang dauert,
speicher dir die Daten der Tags erst in Variablen, lösche sie aus dem MP3
und schreibe sie nach dem Vergleichen zurück.

Du wirst jedoch bei dem Vergleichen ein Problem bekommen, wenn sich die
Dateien in mehr als nur den Tags unterscheiden, selbst wenn sie gleich
klingen. Ich schätze mal, dass ein und die selbe WAV-Datei mit zwei
verschiedenen Encodern bei gleicher Bitrate kodiert sich durchaus binär
unterscheiden werden (und dass auch wiederum nach dem dekodieren).


Viel Erfolg dabei,

Christian



Reply to: