Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi MP3-Dateien auf (inhaltliche) Identität prüfen (https://www.delphipraxis.net/46230-mp3-dateien-auf-inhaltliche-identitaet-pruefen.html)

xineohp 20. Mai 2005 21:47


MP3-Dateien auf (inhaltliche) Identität prüfen
 
hi,

Ich möchte MP3-Dateien auf ihre inhaltliche Identität überprüfen, d.h. Inhalt, Länge, Bitrate, etc. sind identisch. Die einzige erlaubte Abweichung darf im Inhalt der Tag-Informationen bestehen.

Für Ideen und Lösungsvorschläge wäre ich dankbar. Natürlich nehme ich auch fertigen Code :mrgreen: Ich denke da besonders an die Autoren die hier ähnliche Programme veröffentlicht haben.

Wie schon angedeutet, scheidet ein Hash (vermutlich) aus, da die Tag-Informationen variieren dürfen.
Einbitweiservergleich wäre wohl möglich, allerdings weiß ich erstens nicht wie und zweitens sollte das ganze selbstversändlich so schnell wie möglich arbeiten :zwinker:

MfG

leddl 20. Mai 2005 22:11

Re: MP3-Dateien auf (inhaltliche) Identität prüfen
 
Ich weiß jetzt nicht ganz sicher, aber soweit ich mich erinnere werden die ID3-Tags ans Ende der Datei angehängt. Wenn du die beim Hashen ignorierst, sollte es ja funktionieren.

malo 20. Mai 2005 22:14

Re: MP3-Dateien auf (inhaltliche) Identität prüfen
 
Wenn ich das richtig verstehe, willst du nur die ID3-Tags überprüfen. Auf www.swissdelphicenter.ch ist irgendwo ein Code zum auslesen und bearbeiten der ID3-Tages. Bin aber grad zu faul zum suchen :duck:

Muetze1 20. Mai 2005 22:21

Re: MP3-Dateien auf (inhaltliche) Identität prüfen
 
Moin!

IMHO nur der ID3v1.x Tags. Ansonsten verweise ich mal dezent auf eine ID3 Tag Lib. Ansonsten bekommt man über diese auch raus, wie gross der ID3v2.3.x.x Tag am Anfang der Datei ist und ob ID3v1.x Tag am Ende vorhanden ist (der ist ja immer 128 Bytes gross?).

MfG
Muetze1

leddl 20. Mai 2005 22:25

Re: MP3-Dateien auf (inhaltliche) Identität prüfen
 
Stimmt ja, warn nur die ID3v1-Tags.
Naja gut, dann muß er jetzt eben anhand der Lib herausfinden, wie und wo die verschiedenen Tags gespeichert werden und nur den Teil der Datei hashen, der keinen Tag beinhaltet. Na dann viel Spaß beim Code-Wühlen! :mrgreen:

xineohp 20. Mai 2005 23:13

Re: MP3-Dateien auf (inhaltliche) Identität prüfen
 
@malo: das will ich gerade nicht. Die Tag-Informationen dürfen unterschiedlich sein, ich will prüfen ob der Rest identisch ist.

@muetze: das klingt sinnvoll, aber mühsam :cry: naja, ich werd schaun was ich mir da basteln kann.

Zitat:

Na dann viel Spaß beim Code-Wühlen! Mr. Green
*grunz* na toll :mrgreen:

thx all

xineohp 20. Mai 2005 23:20

Re: MP3-Dateien auf (inhaltliche) Identität prüfen
 
PS:

soweit so gut, die Taggröße hab ich (glaub ich zumindest). Aber wie bilde ich den Hash von einem Dateiteil bzw. welcher Hash ist da eigentlich empfehlenswert (schnell)?

bigg 20. Mai 2005 23:46

Re: MP3-Dateien auf (inhaltliche) Identität prüfen
 
Libs dazu gibt's wie Sand am Meer.

@Muetze:
Hast du für deine Lib mal eine größeres Projekt erstellt, um sie bsp. zu testen bzw. zu debuggen?

xineohp 21. Mai 2005 00:05

Re: MP3-Dateien auf (inhaltliche) Identität prüfen
 
ich steh grad völlig auf dem Schlauch: Wie kann ich eine Datei in einen Stream einlesen und dann die ersten so und so viel Byte/Bit abschneiden?

noch_ein_hannes 21. Mai 2005 00:13

Re: MP3-Dateien auf (inhaltliche) Identität prüfen
 
Hi,

mal ne andere Idee:

wenn Du in beiden Dateien identische ID-Tags hast kannst Du auch alles komplett verifizieren. Das soll heissen, dass Du vor dem Vergleichen einfach nur alle ID-Angaben durch leere Strings ersetzen musst.

OK, ist vielleicht nicht wirklich elegant "im Sinne des Coders", aber klappen müsste es auch :-)

viel Glück,
Hannes


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:29 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz