For images:
find . -name "*.jpg" -exec jpeginfo -c {} \; | grep -E "WARNING|ERROR" > corrupt_jpgs.txt
Use jhead or exiftool to validate headers.
For videos:
ffmpeg -v error -i "file.mp4" -f null - 2> error.log
Remove any file with errors.
Suggested XMP tags:
Example batch rating:
exiftool -Rating=4 -overwrite_original *.jpg
To achieve the HD standard, you need professional grade tools: candidhd spring cleaning full
clean_candidhd.sh:
#!/bin/bash
# Phase 2: remove dupes
fdupes -r -d -N "$1"
# Phase 5: compress jpegs
find "$1" -name "*.jpg" -exec jpegoptim --strip-all -m85 {} \;
# Phase 7: re-check integrity
find "$1" -type f -exec sha256sum {} \; > "$1"/checksums_$(date +%F).txt
diff manifest_before.txt manifest_after.txt
Only expected changes (renames/deletions) should appear.
Example:
YYYY-MM-DD_EventName_OriginalID_Res.jpg For images:
find
Use exiftool to rename by date:
exiftool '-FileName<$DateTimeOriginal_$Model.%e' -d "%Y-%m-%d_%H%M%S" .
If you follow CandidHD Spring Cleaning Full online, you know it extends to screens.