티스토리 뷰

스캔한 옛날 사진이나, 카메라 시계가 잘못 맞춰진 상태로 찍은 사진들의 메타데이터를 한 번에 고쳐야 할 때가 있다. ExifTool을 쓰면 명령 한 줄로 끝난다.

설치

brew install exiftool

명령어

위치만 변경

exiftool -gpslatitude=37.6534 -gpslongitude=126.8321 \
  -gpslatituderef=N -gpslongituderef=E \
  -overwrite_original /경로/사진_폴더/*.jpg

날짜만 변경

exiftool "-AllDates=2024:08:24 12:34:56" \
  -overwrite_original /경로/사진_폴더/*.jpg

둘 다 변경

exiftool "-AllDates=2024:08:24 12:34:56" \
  -gpslatitude=37.5665 -gpslongitude=126.9780 \
  -gpslatituderef=N -gpslongituderef=E \
  -overwrite_original /경로/사진_폴더/*.jpg

옵션 설명

  • -AllDatesDateTimeOriginal, CreateDate, ModifyDate 세 개를 한 번에 설정한다. 개별로 지정할 수도 있지만 대개 셋 다 맞추는 게 맞다
  • -gpslatituderef=N — 북위. 남반구는 S
  • -gpslongituderef=E — 동경. 서반구는 W
  • -overwrite_original — 원본을 덮어쓴다. 이 옵션이 없으면 파일명.jpg_original 백업 파일이 같이 생긴다

참고로 -overwrite_original 없이 실행해서 백업본을 남기는 게 처음에는 안전하다. 결과를 확인하고 나서 백업 파일을 지우면 된다.

자주 쓰는 응용

날짜를 상대적으로 이동

카메라 시계가 3시간 느리게 맞춰져 있었다면, 절대값 대신 이동시키는 게 편하다.

# 모든 날짜를 3시간 뒤로
exiftool "-AllDates+=0:0:0 3:0:0" -overwrite_original *.jpg

# 2일 앞으로
exiftool "-AllDates-=0:0:2 0:0:0" -overwrite_original *.jpg

형식은 연:월:일 시:분:초 다.

파일명에서 날짜 가져오기

20240824_123456.jpg 같은 파일명이면 거기서 날짜를 추출할 수 있다.

exiftool "-AllDates<filename" -overwrite_original *.jpg

파일 수정 시각을 EXIF로

exiftool "-AllDates<FileModifyDate" -overwrite_original *.jpg

반대로 EXIF 날짜로 파일명 바꾸기

exiftool "-FileName<DateTimeOriginal" -d "%Y%m%d_%H%M%S%%-c.%%e" .

하위 폴더까지 재귀 처리

exiftool -r "-AllDates=2024:08:24 12:34:56" -overwrite_original /경로/사진_폴더

확인하는 법

# 특정 파일의 모든 메타데이터
exiftool photo.jpg

# 날짜 관련만
exiftool -time:all -a -G1 photo.jpg

# GPS만
exiftool -gps:all photo.jpg

# 폴더 전체를 표로
exiftool -T -filename -DateTimeOriginal -GPSPosition *.jpg

개인정보 관점: EXIF 제거하기

반대 방향도 알아둘 필요가 있다. 사진을 웹에 올릴 때 EXIF에 촬영 위치가 그대로 남아 있으면 집 주소가 노출된다.

# GPS 정보만 제거
exiftool -gps:all= -overwrite_original *.jpg

# 모든 메타데이터 제거
exiftool -all= -overwrite_original *.jpg

# 방향(회전) 정보는 남기고 나머지 제거
exiftool -all= -tagsfromfile @ -orientation -overwrite_original *.jpg

마지막 명령이 실용적이다. Orientation을 지우면 세로 사진이 눕기 때문에, 그것만 남기고 나머지를 털어내는 방식이다.

주의할 점

  • 애플 사진 앱 라이브러리를 직접 건드리지 않는다. ~/Pictures/Photos Library.photoslibrary 내부 파일을 수정하면 DB와 어긋나서 라이브러리가 깨질 수 있다. 내보내기 → 수정 → 다시 가져오기 순서로 한다
  • 먼저 복사본으로 테스트한다. -overwrite_original은 되돌릴 수 없다
  • HEIC도 지원한다. 아이폰 기본 포맷도 문제없이 처리된다
  • 동영상도 가능하다. MP4, MOV의 CreateDate도 수정할 수 있다

정리

  • brew install exiftool 한 줄로 설치
  • -AllDates로 촬영·생성·수정 날짜를 한 번에
  • -overwrite_original 없으면 _original 백업이 생긴다. 처음엔 붙이지 말 것
  • 시계가 틀어졌으면 +=, -= 로 상대 이동이 편하다
  • 웹에 올릴 사진은 -gps:all=위치 정보 제거
  • 애플 사진 앱 라이브러리 내부는 직접 수정하지 않는다
댓글


최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday