Verifique o arquivo danificado mp3, m4a (aac) no Linux

3

Eu tenho cerca de 15.000 arquivos de música armazenados no servidor Ubuntu (16.04), cerca de 50% FLAC, 25% de cada mp3 e m4a (aac).

Acho que talvez 3-5% estejam corrompidos devido a falhas no hardware do disco rígido. Os problemas se acumularam gradualmente por algum tempo antes que eu percebesse. Os arquivos agora são recuperados para novas unidades usando ddrescue .

O armazenamento original continha duas cópias de cada arquivo em dispositivos separados, e ambas as unidades falharam gradualmente, mas de forma independente. O resultado é que um arquivo que é ruim em uma cópia pode estar OK na outra cópia.

Eu estou tentando encontrar o método de validação de linha de comando para usar em um script para identificar quais títulos têm pelo menos uma cópia boa. Nos casos em que ambos são ruins, eu precisarei re-ripar do CD.

Para o FLAC, eu coloquei o comando flac -t em um script que gera listas de arquivos bons e arquivos ruins. Acredito que o comando flac -t decodifica sem enviar áudio para qualquer dispositivo de reprodução e calcula um hash MD5 no áudio decodificado e compara isso com um hash original incluído nos metadados do arquivo. Isso é muito rápido e funciona bem.

Gostaria de obter validação semelhante com os arquivos mp3 e m4a, mas não consegui encontrar uma ferramenta adequada. Eu olhei para mp3val , mas testar isso contra um mp3 onde eu deliberadamente danifiquei dados no áudio não mostra um erro.

Pelo que eu posso encontrar pesquisando mp3 e m4a, parece que não há hash armazenado, então eu não tenho certeza de quais outras abordagens para validação podem ser possíveis.

Idealmente, eu gostaria de classificar definitivamente bom / definitivamente ruim. Se isso não puder ser feito, eu ainda me beneficiaria da classificação em possivelmente bom / definitivamente ruim, ou definitivamente bom / possivelmente ruim.

Alguém pode sugerir alguma solução Linux que poderia conseguir isso para ambos / mp3 e m4a / aac?

    
por BobM 14.11.2017 / 08:04

0 respostas