AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fuzzy Hash?

Ein Thema von quirks · begonnen am 5. Okt 2004 · letzter Beitrag vom 6. Okt 2004
Antwort Antwort
Benutzerbild von quirks
quirks

Registriert seit: 5. Sep 2004
Ort: Fischbachtal
46 Beiträge
 
Delphi 8 Professional
 
#1

Fuzzy Hash?

  Alt 5. Okt 2004, 20:22
Hm, folgendes Problem: Ich möchte die Ähnlichkeit von Dateien herausfinden, um sie als Dubletten zu kennzeichnen. Hab bis jetzt mit SHA-1 gearbeitet, aber der erwischt nur wirklich gleiche Dateien . Ich möchte so was ähnliches wie DoublePics machen, nur ohne Beschränkung auf Filetype.
Beispiel, damits deutlicher wird:
Wenn in einem MP3 die Tags nicht drin sind, aber die Audio-Information genau die gleiche ist, soll 99% Übereinstimmung als Ergebnis rauskommen.
Mein Ansatz: Die am häufigsten vorkommenden n-byte-Gruppen suchen, speichern, und dann mit denen anderer Dateien vergleichen. Wäre aber vermutlich extreeem langsam...
Irgendwelche Ideen da draußen?
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Fuzzy Hash?

  Alt 5. Okt 2004, 20:56
Zitat von quirks:
Wenn in einem MP3 die Tags nicht drin sind, aber die Audio-Information genau die gleiche ist, soll 99% Übereinstimmung als Ergebnis rauskommen.

Das Problem an Audio-Daten ist, dass Unterschiede in der Sample-Rate etc. eine total andere Dateistruktur verursachen. Speziell bei Audio-Daten bietet sich die Analyse einer Fourier-Transformation an. Such mal hier nach Hier im Forum suchenFFT
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von quirks
quirks

Registriert seit: 5. Sep 2004
Ort: Fischbachtal
46 Beiträge
 
Delphi 8 Professional
 
#3

Re: Fuzzy Hash?

  Alt 5. Okt 2004, 21:13
Ich glaub, ich hab mich beim Beschreiben meines Problems zu sehr auf MP3s festgeschossen.

Ich möchte damit genausogut ZIP/TXT/GIFs vergleichen können.
Aber mittlerweile hat sich das erledigt, denke ich. Ich hab nämlich noch ein bisschen bei Google rumgeschnüffelt und glaub, dass ich für jedes Format (also MP3/WAV->FFT, JPG auch ) ein eigenes Plugin basteln muss.

Ideen aber trotzdem immer noch willkommen!
  Mit Zitat antworten Zitat
moritz

Registriert seit: 18. Apr 2003
1.037 Beiträge
 
#4

Re: Fuzzy Hash?

  Alt 5. Okt 2004, 21:37
Mehr als Bitweise vergleichen und ähnlichkeit berechnen wird dir nicht übrig beliebn. Da würde ich dir aber empfehlen mit Assembler zu arbeiten, oder sehr optimiert mit der Windows API. Da kommt es nämlich auf jede Millisekunde an.
"Optimistisch ist diejenige Weltanschauung, die das Sein höher als das Nichts stellt und so die Welt und das Leben als etwas an sich Wertvolles bejaht."
Albert Schweitzer
  Mit Zitat antworten Zitat
Benutzerbild von fiasko
fiasko

Registriert seit: 10. Dez 2002
Ort: Dresden
506 Beiträge
 
#5

Re: Fuzzy Hash?

  Alt 5. Okt 2004, 21:56
Hallo,

du könntest blockweise Hash's bilden und die vergleichen. Zum hashen würde ich tiger nehmen, der ist recht flott, geht natürlich auch jeder andere Algo.
Thomas Liske
Posts comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
  Mit Zitat antworten Zitat
moritz

Registriert seit: 18. Apr 2003
1.037 Beiträge
 
#6

Re: Fuzzy Hash?

  Alt 5. Okt 2004, 21:58
Lohnt sich glaube ich nicht. Da muss er schon sehr kleine Blöcke nehmen, und dann geht die komplette Performacne flöten
"Optimistisch ist diejenige Weltanschauung, die das Sein höher als das Nichts stellt und so die Welt und das Leben als etwas an sich Wertvolles bejaht."
Albert Schweitzer
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Fuzzy Hash?

  Alt 6. Okt 2004, 13:57
Zitat von quirks:
Ich möchte damit genausogut ZIP/TXT/GIFs vergleichen können.
Aber mittlerweile hat sich das erledigt, denke ich. Ich hab nämlich noch ein bisschen bei Google rumgeschnüffelt und glaub, dass ich für jedes Format (also MP3/WAV->FFT, JPG auch ) ein eigenes Plugin basteln muss.
Da führt kein Weg daran vorbei, denk ich. Die Formate sind teilweise so aufgebaut, dass ähnlicher Inhalt ein total anderes Bitmuster ezeugt. Denk z. B. mal an Prüfsummen in Archiven: Sind die Dateien zweier Archive bis auf ein Bit identisch, so ist die dazugehörige Prüfsumme dennoch total verschieden (zumindest sollte das so sein, sonst kann man sich die Prüfsumme schenken). und wenn dazu noch Metadaten wie Statistiken kommen, ist es ganz aus.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz