หากคุณกำลังพูดถึงไฟล์ JPEG แสดงว่ายูทิลิตี้jpeginfoเป็นสิ่งที่คุณต้องการอย่างแท้จริง มันสามารถตรวจสอบไฟล์สำหรับข้อผิดพลาด JPEG และข้อผิดพลาดประเภทต่างๆและส่งคืนรหัสข้อผิดพลาด (สิ่งที่มีประโยชน์ที่สุดสำหรับการเขียนสคริปต์) หรือเพียงแค่ลบไฟล์ที่มีข้อผิดพลาด
ฉันใช้สิ่งนี้เป็นส่วนหนึ่งของการถ่ายโอนไฟล์เริ่มต้นของฉันเพื่อให้แน่ใจว่าทุกอย่างที่คัดลอกไม่เป็นไรโดยไม่ต้องพึ่งพาการตรวจสอบด้วยตนเอง (หลังจากนั้นฉันตรวจสอบให้แน่ใจว่า checksums ของพวกเขาไม่เปลี่ยนแปลงเนื่องจากเป็นส่วนหนึ่งของการป้องกันสำรอง / bitrot ปกติของฉัน)
โปรแกรมดังกล่าวเป็นบรรทัดคำสั่งและมาเป็นซอร์สโค้ด แต่มันควรจะง่ายต่อการสร้างและใช้งานบนการกระจาย Linux หรือบน Mac ด้วยการตั้งค่าสภาพแวดล้อมการพัฒนาที่เหมาะสม ฉันแน่ใจว่าคุณสามารถทำได้บน Windows ด้วย Cygwin หรือ MinGW (ตัวอย่างเช่นแม้ว่าฉันจะไม่สามารถรับรองความถูกต้องได้ แต่บล็อกโพสต์นี้ดูเหมือนถูกต้องและมีการดาวน์โหลดที่คอมไพล์แล้ว) ในการสร้างด้วยตนเอง:
$ git clone https://github.com/tjko/jpeginfo.git
Cloning into 'jpeginfo'...
[...]
Checking connectivity... done
$ cd jpeginfo/
$ ./configure && make
สิ่งนี้ควรสร้างjpeginfo
คำสั่งที่คุณสามารถรันหรือคัดลอกได้ทุกที่ที่คุณต้องการ (อาจใช้make install
)
จากนั้นคุณเรียกใช้ดังนี้:
$ ./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]
ที่นี่ test1.jpg ใช้ได้อย่างสมบูรณ์แบบและ test2.jpg ฉันลบสองสามไบต์จากจุดสิ้นสุดและ test3.jpg ฉันเปลี่ยนบางส่วนของการสุ่มไบต์ในส่วนหัว
หากคุณมีไฟล์ RAW ให้ตรวจสอบหน้านี้จาก American Society of Media Photographers เกี่ยวกับการตรวจสอบความถูกต้องของDNGหรือรายละเอียดการตรวจสอบความถูกต้องของข้อมูลซึ่งครอบคลุมการใช้ตัวแปลง DNG ของ Adobe เพื่อตรวจสอบรูปแบบ RAW ที่เป็นกรรมสิทธิ์ (น่าเสียดายนี่คือการใช้งาน GUI และไม่จำเป็นต้องเป็นสคริปต์ได้อย่างง่ายดาย)
หากคุณมีกล้องที่ให้ผลผลิต DNG รุ่น 1.2 ได้ดีกว่าเนื่องจากมีการตรวจสอบ MD5 ในตัวของข้อมูลภาพ น่าเสียดายที่นี่ดูเหมือนจะไม่ถูกจัดเก็บด้วยข้อมูลเมตาของภาพปกติหรืออย่างน้อย exiftool และ exiv2 ไม่รู้จักและพวกเขาอ่านไฟล์ 1.2 DNG โดยทั่วไป - ซึ่งหมายความว่าเท่าที่ฉันรู้ว่าการตรวจสอบ Adobe ในปัจจุบัน เครื่องมือเป็นวิธีเดียวที่จะใช้ประโยชน์จากสิ่งนั้นเช่นกัน