Jeśli mówisz o plikach JPEG, to narzędzie jpeginfo jest dokładnie tym, czego szukasz. Może sprawdzać pliki pod kątem różnego rodzaju błędów i uszkodzeń JPEG i albo zwrócić kod błędu (najbardziej przydatna rzecz dla skryptów), albo po prostu usunąć pliki z błędami.
Używam tego jako części mojego początkowego transferu plików, aby upewnić się, że wszystko jest w porządku, bez konieczności ręcznego sprawdzania. (Po tym upewniam się, że ich sumy kontrolne nie zmieniają się w ramach mojej normalnej ochrony kopii zapasowej / bitrotu.)
Program jest wierszem poleceń i jest dostarczany jako kod źródłowy, ale powinien być łatwy do zbudowania i używania w dowolnej dystrybucji Linuksa lub na komputerze Mac z poprawnie skonfigurowanym środowiskiem programistycznym. Jestem pewien, że możesz to zrobić nawet w systemie Windows z Cygwin lub MinGW. (Na przykład, chociaż nie mogę ręczyć za jego integralność, ten post na blogu wydaje się wiarygodny i zawiera wstępnie skompilowane pobieranie). Aby go zbudować:
$ git clone https://github.com/tjko/jpeginfo.git
Cloning into 'jpeginfo'...
[...]
Checking connectivity... done
$ cd jpeginfo/
$ ./configure && make
Powinno to utworzyć jpeginfo
polecenie, które można uruchomić w miejscu lub skopiować w dowolnym miejscu (ewentualnie za pomocą make install
).
Następnie uruchom to w następujący sposób:
$ ./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]
Tutaj test1.jpg jest całkowicie w porządku, a test2.jpg usunąłem kilka bajtów z końca, a test3.jpg zmieniłem kilka losowych bajtów w nagłówku.
Jeśli masz pliki RAW, sprawdź tę stronę Amerykańskiego Towarzystwa Fotografów Medialnych na temat walidacji DNG lub jedną ze szczegółowych informacji na temat walidacji danych , która obejmuje użycie konwertera DNG firmy Adobe do walidacji partii zastrzeżonych formatów RAW. (Niestety jest to operacja GUI i niekoniecznie łatwa do skryptowania).
Jeśli masz kamerę, która natywnie generuje wersję DNG 1.2, jest to nawet lepsze, ponieważ obejmuje ona wbudowaną sumę kontrolną MD5 danych obrazu. Niestety, wydaje się, że nie są one przechowywane z normalnymi metadanymi obrazu - lub przynajmniej exiftool i exiv2 nie rozpoznają go, i czytają ogólnie pliki DNG 1.2 - co oznacza, że o ile wiem obecnie walidację Adobe narzędzie to jedyny sposób, aby z tego skorzystać.