mp3-Duplikate finden

tobias1985

Der Erlöser
ID: 37913
L
24 April 2006
4.963
607
Hallo zusammen,
ich habe zurzeit ein kleines Problem. Und zwar hat ein Kollege auf seiner Festplatte ca. 50.000 mp3-Dateien.
Er bat mich nun, ob ich helfen könnte, dass die Duplikate gelöscht werden können.
Ich dachte, ich kann das für ihn übernehmen und habe nun versucht, mit Tools (The GodFather, Audio DeDupe) die Duplikate ausfindig zu machen.

Allerdings scheint dies nicht ganz trivial zu sein. Denn die Geschwindigkeit der Tools lässt zu wünschen übrig.
Kurz: Bei dem Tempo, das die Tools vorlegen, kann ich das Wochen laufen lassen, bis ein Durchlauf fertig ist. :roll:

Kennt jemand ein gutes Programm, das auch mit großen Sammlungen fertig wird?
 
Hallo,

so ganz spontan fällt mir ein, dass iTunes einen Funktion in einem Untermenü hat
Datei -> Duplikate anzeigen

...oder hast du das schon mal ausprobiert?

Lg Hinicher

dup.gif
 
Ich nutze kein iTunes (Apple -> :sick: :naughty:)
Ich habe eine alternative (Jajuk). Auch dort gibt es sowas.

Allerdings taugt dies garnichts. Zumindest in Jajuk findet nur ein Namensvergleich statt, der garnichts bringt. Ich bezweifle, dass iTunes das besser macht, lass mich gerne aber eines besseren belehren.
 
Duplikat finden

Hallo


Ich würde das Unter Linux mit der bash, oder per python lösen, unter win dürften die meisten c bevorzugen.
Also en kleines Progarmm in den obigen Sprachen sllte das Problem lösen.

Wäre jetzt nur zu klären, was und wie du Duplikate finden willst ?
per mp3tags
per Dateiname
per Länge

alles eigentlich unzureichend, bei einrr großen Menge und mit vielen doppelten Dateien.
 
Das Problem ist wohl, daß MP3's verschiedene "Qualitäten" haben und diese Vergleichsprogramme alle MP3's auf eine "Standartqualität" umrechnen müssen um diese überhaupt vergleichen zu können und das dauert eben.
 
Dateien hashen; das is ne Sache von 5 Minuten ;) - Funktioniert natürlich nur, wenn es wirklich identische Duplikate sind.
 
Naja, Hash-Vergleich ist ja nur eine Sache.
Dann gibts noch Lieder, die wohl in unterschiedlichen Bitraten gespeichert sind (aber Dateinamen nicht 100% identisch), wovon natürlich nur die höhere Qualität behalten werden soll.

Im Prinzip kann das ja "The GodFather". Aber das Programm ist abartig langsam. Vielleicht verlange ich auch zuviel?! :roll:
 
[...]
Im Prinzip kann das ja "The GodFather". Aber das Programm ist abartig langsam. Vielleicht verlange ich auch zuviel?! :roll:

Überlege mal welchen Aufwand du dem Prozessor zumutest. Das ist im Prinzip schon ein in vernünftiger Zeit nicht algorithmisch lösbares Problem.

Jede Picosekunde wäre für einen Hashvergleich entscheidend. Wenn nun auch noch unterschiedliche Bitraten oder im worstcase Datein mit variablen Bitraten pro Sek. dabei sind, solltest du froh sein, wenn das überhaupt ein Programm auch nur im Ansatz löst.
 
Dabei ist nur ein Problem, wie macht man das?
Naja einfach:
Erst alle Dateien hashen, dann nach Hash sortieren.
Bei mehreren Dateien mit gleichem Hash: alle bis auf eine löschen.

Aufwand:
O(n) zum Hashen
+ O(n log n) zum Sortieren
+ O(n) zum Vergleichen und Löschen
= O(n log n) gesamt

Die obige Variante, irgendwie alle Dateien "normieren" und "vergleichen" zu wollen, hört sich für mich stark nach O(n²) an, was die Laufzeit erklärt.