Überprüfen Sie, ob die Datei mp3, m4a (aac) unter Linux beschädigt ist

4

Ich habe ungefähr 15.000 Musikdateien auf dem Ubuntu-Server (16.04) gespeichert, ungefähr 50% FLAC, jeweils 25% mp3 und m4a (aac).

Ich denke, dass 3-5% aufgrund eines Festplattenfehlers beschädigt sind. Die Probleme häuften sich allmählich für einige Zeit, bevor ich es bemerkte. Dateien werden jetzt auf neuen Laufwerken wiederhergestellt ddrescue.

Der ursprüngliche Speicher bestand aus zwei Kopien jeder Datei auf separaten Geräten, und beide Laufwerke fielen nach und nach aus, jedoch unabhängig voneinander. Das Ergebnis ist, dass eine Datei, die in einer Kopie fehlerhaft ist, in der anderen Kopie in Ordnung sein kann.

Ich versuche, eine Befehlszeilenvalidierungsmethode zu finden, die in einem Skript verwendet werden kann, um zu ermitteln, welche Titel mindestens eine gute Kopie enthalten. In Fällen, in denen beide Probleme auftreten, muss ich die CD erneut rippen.

Für FLAC habe ich den Befehl flac -tin einem Skript wiederholt, das Listen mit guten und schlechten Dateien generiert. Ich glaube, der flac -tBefehl dekodiert, ohne Audio an ein Wiedergabegerät zu senden, und berechnet einen MD5-Hash für das dekodierte Audio und vergleicht diesen mit einem ursprünglichen Hash, der in den Metadaten der Datei enthalten ist. Das ist ziemlich schnell und funktioniert gut.

Ich möchte eine ähnliche Validierung mit den Dateien mp3 und m4a erreichen, konnte jedoch kein geeignetes Tool finden. Ich habe es mir angesehen mp3val, aber wenn ich es mit einer MP3-Datei teste, bei der ich absichtlich Daten im Audio beschädigt habe, wird kein Fehler angezeigt.

Soweit ich MP3 und M4A recherchieren kann, scheint kein Hash gespeichert zu sein, daher bin ich mir nicht sicher, welche anderen Validierungsansätze möglich sein könnten.

Idealerweise würde ich gerne in definitiv gut / definitiv schlecht sortieren. Wenn dies nicht möglich ist, würde ich trotzdem davon profitieren, in möglicherweise gute / definitiv schlechte oder definitiv gute / möglicherweise schlechte zu sortieren.

Kann jemand eine Linux-Lösung vorschlagen, die dies sowohl für mp3 als auch für m4a / aac erreichen könnte?

BobM
quelle
Vielleicht könnten Sie Beispiele für beschädigte Dateien angeben oder wie Sie eine erstellen, die den beschädigten Dateien ähnelt, die Sie haben?
Slhck
Kurze Antwort - Die Identifizierung beschädigter Dateibeispiele von Hand erfordert ein wenig Arbeit. Ich werde es versuchen, kann aber einen Tag oder so dauern. Schätzung um 3-5% schlecht. Die Dateien befinden sich auf einem Server, der über ein Sonos-System abgespielt wird. Ich vermute, dass das zugrunde liegende Problem verloren geht oder beschädigte Blöcke auf Hardware- oder Dateisystemebene sind und manchmal Metadaten, manchmal Audiodaten betreffen. Wenn Sie jetzt ein Skript auf FLAC ausführen, dauert dies einige Stunden. Danach werde ich versuchen, fehlerhafte MP3- oder M4A-Dateien für einen genaueren Blick zu finden. Eigentlich möchte ich nur einen vorläufigen Bildschirm machen, damit ich mich auf die wahrscheinlich fehlerhaften Dateien konzentrieren kann.
BobM