Si vous parlez de fichiers JPEG, l'utilitaire jpeginfo est exactement ce que vous recherchez. Il peut vérifier les fichiers pour différents types d'erreurs JPEG et de corruption et retourner un code d'erreur (la chose la plus utile pour les scripts), ou simplement supprimer les fichiers contenant des erreurs.
J'utilise cela dans le cadre de mon transfert de fichier initial, pour m'assurer que tout est bien copié sans compter sur une vérification manuelle. (Après cela, je m'assure que leurs sommes de contrôle ne changent pas dans le cadre de ma protection normale de sauvegarde / bitrot.)
Le programme est en ligne de commande et est fourni en code source, mais il devrait être facile à construire et à utiliser sur n'importe quelle distribution Linux ou sur un Mac avec un environnement de développement correctement configuré. Je suis sûr que vous pourriez même le faire sur Windows avec Cygwin ou MinGW. (Par exemple, bien que je ne puisse pas garantir son intégrité, ce billet de blog semble légitime et inclut un téléchargement précompilé.) Pour le créer vous-même:
$ git clone https://github.com/tjko/jpeginfo.git
Cloning into 'jpeginfo'...
[...]
Checking connectivity... done
$ cd jpeginfo/
$ ./configure && make
Cela devrait créer une jpeginfo
commande que vous pouvez exécuter sur place ou copier où vous le souhaitez (éventuellement en utilisant make install
).
Ensuite, vous l'exécutez comme ceci:
$ ./jpeginfo -c *.jpg
test1.jpg 1996 x 2554 24bit Exif P 6582168 [OK]
test2.jpg 1996 x 2554 24bit Exif P 6582116 Premature end of JPEG file [WARNING]
test3.jpg Corrupt JPEG data: 1 extraneous bytes before marker 0xe2 1996 x 2554 24bit Exif P 6582169 [WARNING]
Ici, test1.jpg est parfaitement bien, et test2.jpg j'ai supprimé quelques octets de la fin, et test3.jpg j'ai changé quelques octets aléatoires dans l'en-tête.
Si vous avez des fichiers RAW, consultez cette page de l'American Society of Media Photographers sur la validation DNG , ou une sur les détails de validation des données , qui couvre l'utilisation du convertisseur DNG d'Adobe pour valider par lots les formats RAW propriétaires. (Malheureusement, il s'agit d'une opération d'interface graphique et pas nécessairement facilement scriptable.)
Si vous avez un appareil photo qui produit nativement la version 1.2 de DNG, c'est encore mieux, car cela inclut une somme de contrôle MD5 intégrée des données d'image. Malheureusement, cela ne semble pas être stocké avec les métadonnées d'image normales - ou au moins exiftool et exiv2 ne le reconnaissent pas, et ils lisent les fichiers 1.2 DNG en général - ce qui signifie que, pour autant que je sache actuellement, la validation Adobe outil est le seul moyen de profiter de cela aussi.