개발, 전산, AI, IT

[EXIF Tag] 구글 포토에서 인식 가능하도록 날짜 정보 갱신하기

크롬망간 2024. 8. 20. 18:21

[EXIF Tag] 구글 포토에서 인식 가능하도록 날짜 정보 갱신하기

 

사진 및 동영상 파일의 EXIF 태그에는 여러 항목이 있는데, 구글 포토는 이 중 DateTimeOriginal 태그를 인식하여 사진이 찍힌 날짜를 추정합니다. 그래서 해당 태그가 아닌 다른 태그에 날짜가 저장된 파일의 경우 구글 포토에서 엉뚱한 날짜를 인식하는 경우가 종종 있습니다. 이를 방지하기 위해서는 exiftool 이라는 프로그램을 사용하여 다음과 같이 처리하면 됩니다. Exiftool은 https://exiftool.org/ 에서 다운받으실 수 있습니다.

 

아래 명령어를 순서대로 입력하면 됩니다. 명령어의 의미는 다음과 같습니다. 명령어 뒤의 /path/to/photos/ 는 사진이 있는 디렉토리의 경로입니다.

(1) DateTimeOriginal 태그가 없으면 FileModifyDate의 값을 DateTimeOriginal에 저장합니다.
(2) (1)의 내용을 K3G 파일에도 적용합니다.
(3) PNG 파일의 경우, DateTimeOriginal 태그가 있으면 그 값을 FileModifyDate에 저장합니다. 이 때 PNG 파일은 조금 특별해서, EXIF:DateTimeOriginal의 값을 가져와야 합니다.

(4)(5)(6) GIF, MP4, MOV 파일에 대해서, DateTimeOriginal 태그가 있으면 그 값을 FileModifyDate에 저장합니다.

 

exiftool -if 'not $DateTimeOriginal' -overwrite_original_in_place '-DateTimeOriginal<FileModifyDate' -r /path/to/photos/

exiftool -if 'not $DateTimeOriginal' -overwrite_original_in_place '-DateTimeOriginal<FileModifyDate' -r -ext k3g /path/to/photos/ 

exiftool -if '$DateTimeOriginal' -overwrite_original_in_place '-FileModifyDate<EXIF:DateTimeOriginal' -r -ext png /path/to/photos/ 

exiftool -if '$DateTimeOriginal' -overwrite_original_in_place '-FileModifyDate<DateTimeOriginal' -r -ext gif /path/to/photos/ 

exiftool -if '$DateTimeOriginal' -overwrite_original_in_place '-FileModifyDate<DateTimeOriginal' -r -ext mp4 /path/to/photos/ 

exiftool -if '$DateTimeOriginal' -overwrite_original_in_place '-FileModifyDate<DateTimeOriginal' -r -ext mov /path/to/photos/ 

 

 

한편 예전 핸드폰인 Cyon과 Optimus, 그리고 VK의 경우 추가로 해 주어야 하는 작업들이 있습니다. 먼저 Cyon과 Optimus의 경우 동영상 파일을 Cyon은 MP4, Optimus는 3GP로 저장하는데, 이 경우 MediaCreateDate 태그가 존재하기 때문에 그 값을 DateTimeOriginal과 FileModifyDate 으로 복사해오면 됩니다.

 

exiftool -if '$MediaCreateDate' -overwrite_original_in_place '-DateTimeOriginal<MediaCreateDate' -r -ext mp4 /path/to/photos/ 

exiftool -if '$MediaCreateDate' -overwrite_original_in_place '-FileModifyDate<MediaCreateDate' -r -ext mp4 /path/to/photos/ 

exiftool -if '$MediaCreateDate' -overwrite_original_in_place '-DateTimeOriginal<MediaCreateDate' -r -ext 3gp /path/to/photos/ 

exiftool -if '$MediaCreateDate' -overwrite_original_in_place '-FileModifyDate<MediaCreateDate' -r -ext 3gp /path/to/photos/ 



그리고 VK 핸드폰의 경우 FileModifyDate 태그조차 사진을 찍은 날짜가 아니라 파일을 컴퓨터에 저장한 날짜로 되어있기 때문에 다음과 같이 파일명에서 날짜를 추출해야 합니다.

 

rename s/P-/20/g ./*.*

exiftool -if 'not $DateTimeOriginal' -overwrite_original_in_place '-DateTimeOriginal<Filename' -r /path/to/photos/

exiftool -if '$DateTimeOriginal' -overwrite_original_in_place '-FileModifyDate<DateTimeOriginal' -r /path/to/photos/