Entwickler-Ecke
Multimedia / Grafik - MP3 file identifizieren
Steff - Mi 20.11.02 17:18
Titel: MP3 file identifizieren
also ich mehrere 1000 Dateien die alle total verwirrende Namen haben (z.b FILE7377.CHK , FILE7378.CHK , FILE7379.CHK....). So und macnhe davon sind mp3s. ich will jetzt ein Programm bauen das überprüft ob es sich z.b. bei FILE7378.CHK um eine Mp3 handelt und diese in den ordner c:\mp3s kopieren. Mein Problem bei der ganzen Sache: Wie kann ich erkennen ob es sich bei FILE7378.CHK um eine Mp3 oder um was anderes (exe,jpg....) handelt?
Ach ja id3tag haben nicht alle also das hab ic hschon probiert. Es muß das sowas geben was alle mp3s gleich haben (z.b. wie 32bit exe haben doch dieses "Cannot run in dos Mode" oder so ähnlich)
tommie-lie - Mi 20.11.02 19:57
das wird schwierig!
Die chk-Dateien sind alle verlorene Cluster, die von Checkdisk wiederhergestellt wurden. Wenn deine MP3-Dateien vorher mal größer waren, als ein Cluster (bei FAT32 oft 4 KB, manchmal auch 8 oder 16, seltener 32, gar nicht 64KB (weil 64 ausschließlich NTFS vorbehalten blieben (was ja wohl auch schwachsinn war, auf einem Server so große Cluster laufen zu lassen...)), dann kann es durchaus sein, daß die CHK-Datei irgendwo in der Mitte der MP3-Datei anfängt, oder am Ende oder sonstwo. Man kann also nicht sagen, daß eine CHK-Datei einfach inne MP3 umbenannt werden kann, und diese dann eine vollständige MP3 ist, sofern es vorher mal zu einer MP3-Datei gehört haben sollte. Du kannst also nicht nach irgendwelchen Merkmalen suchen, wie "This program cannot be run in DOS mode" oder "This program must be run under Win32", weil sowas bei den Windows-EXEs immer weit am Anfang steht. Hast du ein Ende erwischt, gibt's diesen String nicht in dem Dateistück und dein Programm erkennt deine Datei nicht als EXE, selbst wenn es zu einer gehört.
Um MP3-Dateien zu identifizieren, muss man nach Bitmustern suchen, die durch den Komprimierungsalgorithmus entstehen. Da braucht man extrem viel Wissen und einen guten Draht zu den Entwicklern vom Fraunhofer Institut, damit diese dir den Algo geben. Das werden sie höchstwahrscheinlich nicht tun, also wäre die Mühe meist vergebens.
Selbst das umbenennen und probeweise abspielen in einem MP3-Player würde nichts bringen, weil, wenn der Anfang fehlt, wichtige Header fehlen, die der Decoder braucht um das Ding entschlüsseln zu können.
Sorry, aber deine MP3s sind vermutlich verloren, wenn du nicht haar genau die Stücke fndest, die zusammengehören. Und das zu schaffen, grenzt an ein Wunder, weil es reines Ausprobieren wäre (jeder mit jedem, aber wer mit wem?).
Steff - Do 21.11.02 22:46
also damit das scandisk datein sind da hast du recht!
Die haben auch alle größen die durch 32 teilbar sind.
Aber was ich beobachtet hab ist das die Files alle(!) komplett sind.
Nur wurden am Ende der files immer irgendwelcher kauderwelch angehängt damit er auf eien Größe kommt die durch 32 teilbar ist.
Jetzt hab ich ein PRog geschrieben was den ordner wo die dateien drinnen leigen nach den id3tags absucht und falls gefunden das file rauskoiert in einen MP3 ordner. (Alle MP3s funzen 100%)
Und bei Mp3s gibts nich irgendwo am anfang was, worauf man sofort schließen kann damit es ein mp3 file ist.
Delete - Fr 22.11.02 01:34
Der hat da keinen Kauderwelsch drangehängt damit es paßt. Der Kauderwelsch ist der Rest vom Cluster, wenn das Dateifragment ihn nicht ganz ausgefüllt hat. Das sind also Reste von Dateifragmenten, die vorher in dem Cluster lagen. Und Scandiskt stellte eben Cluster wiederher und keine Dateien.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!