Takeout JSON
KO

USB 메모리로 사진을 옮겨도 날짜가 그대로 남게 하는 방법

USB 메모리나 SD 카드로 복사한 사진의 날짜가 바뀌는 이유, FAT32와 exFAT이 저장하는 날짜의 한계, 어떤 드라이브에서도 날짜가 살아남게 하는 방법입니다.

가족 사진을 USB 메모리에 담아 TV로 보거나 부모님께 드렸습니다. TV에서는 사진이 제멋대로 순서로 나옵니다. 부모님 컴퓨터에서는 모든 사진이 복사한 날에 만들어졌다고 나옵니다. USB가 날짜에 무슨 짓을 한 것입니다.

USB 메모리가 저장할 수 있는 날짜와 없는 날짜

대부분의 USB 메모리와 SD 카드는 FAT32나 exFAT으로 포맷되어 있습니다. 어떤 기기에서나 읽히기 때문입니다. 둘 다 오래되고 단순한 방식이라 타임스탬프에 한계가 있습니다.

FAT32는 수정한 시각을 2초 단위로, 만든 시각을 10밀리초 단위로 저장하고, 둘 다 시간대가 없습니다. 1980년 이전 날짜는 아예 저장하지 못합니다. 시계가 한 시간대에 맞춰진 컴퓨터에서 복사한 파일을 다른 시간대에서 읽으면 그 차이만큼 시각이 밀립니다.

exFAT은 더 낫습니다. 시간대 항목이 있고 더 정밀합니다. 그래도 파일 시스템의 날짜일 뿐이고, 파일 시스템 날짜는 그것을 쓴 복사 작업만큼만 믿을 수 있습니다.

진짜 문제는 복사 작업입니다. 탐색기나 파인더에서 끌어다 놓으면 대부분의 시스템에서 수정한 날짜는 복사되지만 만든 날짜는 지금으로 바뀝니다. 어떤 복사 도구는 둘 다 초기화합니다. USB를 읽는 안드로이드나 TV는 둘 중 아무것이나 보여 줄 수 있습니다.

옮겨도 살아남는 날짜

사진 안의 날짜입니다. EXIF DateTimeOriginal은 파일 바이트의 일부입니다. 파일 시스템이 무엇이든, 어떻게 복사하든 이미지와 함께 복사됩니다. USB가 망가뜨릴 수 없습니다. 이 차이는 찍은 날짜와 수정한 날짜에 자세히 있습니다.

문제는 USB를 읽는 기기 중 상당수가 그 값을 보지 않는다는 점입니다. TV의 기본 사진 뷰어, 디지털 액자, 대부분의 차량용 디스플레이는 파일 이름이나 파일 시스템 날짜로 정렬합니다. 사진 앱은 EXIF를 읽고, 단순한 뷰어는 읽지 않습니다.

그래서 목표가 둘이고, 해결책도 둘입니다. 사진 앱을 위해서는 EXIF가 맞아야 합니다. 단순한 뷰어를 위해서는 파일 이름에 날짜를 넣어야 합니다. 파일 이름은 모든 기기가 정렬에 쓰는 유일한 기준이기 때문입니다.

손으로 고치기

먼저 EXIF가 온전한지 확인합니다. 폴더에서 exiftool -DateTimeOriginal *.jpg를 실행하면 날짜가 나열됩니다. 날짜가 있다면 EXIF를 읽는 앱에서는 문제가 없습니다.

TV와 액자를 위해 이름 앞에 날짜를 붙입니다. exiftool로 됩니다.

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

이제 2016-08-14-1105.jpg는 어떤 기기에서든, 어떤 언어 설정에서든, 메타데이터를 전혀 읽지 않고도 2016-08-15-0900.jpg보다 앞에 옵니다. 이름 짓는 방식은 사진을 날짜순으로 폴더에 정리하기에서 더 다룹니다.

USB에 복사하기 전에 EXIF 날짜를 파일의 수정한 날짜에도 복사해 두면, 파일 날짜로 정렬하는 기기도 순서를 맞춥니다.

exiftool "-FileModifyDate<DateTimeOriginal" .

FAT32는 이 값을 2초 단위로 반올림하고 시간대를 버리지만, 순서에는 영향이 없습니다.

카카오톡으로 받은 사진이나 예전 구글 포토 내보내기처럼 EXIF 날짜가 없는 사진은 먼저 날짜를 써 넣어야 합니다. 그러지 않으면 이름 바꾸기가 오늘 날짜를 붙여서, 문제가 사라지는 것이 아니라 자리만 옮깁니다. 카카오톡 사진 날짜테이크아웃 촬영일 복구를 참고하십시오.

앱으로 하기

Takeout JSON Metadata Fixer는 USB 메모리나 SD 카드로 바로 정리할 수 있고, 가는 길에 날짜를 고칩니다.

USB를 결과 위치로 고르면 됩니다. 앱은 사진마다 실제 날짜를 EXIF에 씁니다. 테이크아웃 사이드카가 있으면 거기서, 없으면 기존 EXIF에서, 그것도 없으면 파일 날짜에서 가져옵니다. 파일 타임스탬프도 USB 파일 시스템이 허용하는 범위에서 맞춥니다. 파일 이름에는 고른 형식대로 날짜가 앞에 붙어 TV가 순서대로 정렬합니다. 폴더는 연/월로 나누거나 한 폴더에 둘 수 있습니다.

사진은 USB의 DCIM 폴더에 들어갑니다. 카메라와 많은 TV, 액자가 가장 먼저 찾는 곳입니다. TV는 HEIC를 거의 열지 못하므로 가는 길에 HEIC를 JPG로 바꿀 수 있습니다. 옆으로 누운 사진은 똑바로 돌려 줍니다. 방향 태그를 무시하는 기기가 대개 TV이기 때문입니다. 같은 이유로 오래된 동영상은 MP4로 바꿀 수 있습니다.

앱은 시작 전에 USB의 남은 공간을 확인하고, 시험 실행으로 쓰기 전에 결과를 보여 줍니다. 윈도우, 맥, 리눅스에서 오프라인으로 동작합니다. 처음 1000장은 무료이고, 무제한은 19.99달러 한 번입니다.

자주 묻는 질문

USB를 exFAT으로 포맷할까요, FAT32로 할까요?

그 USB를 읽을 모든 기기가 지원한다면 exFAT입니다. 최근 10년 안의 TV와 컴퓨터는 대부분 지원합니다. 오래된 기기에서 읽어야 한다면 FAT32로 하고 4GB 파일 크기 제한을 받아들이십시오. 동영상에서는 이 제한이 문제가 됩니다. 용량 계산은 테이크아웃에 필요한 디스크 용량에 있습니다.

이름에 날짜를 넣었는데도 TV가 이상한 순서로 보여 줍니다.

어떤 TV는 이름이 아니라 USB에 쓰인 순서대로 정렬합니다. 한 번에 한 폴더씩, 이름 순서대로 복사하면 대개 해결됩니다. 아무 기준 없이 보여 주는 TV도 몇몇 있습니다.

FAT32로 복사하면 잃는 것이 있나요?

파일 타임스탬프의 정밀도와 시간대를 잃습니다. 사진 자체, EXIF, GPS는 그대로입니다. 중요한 것은 아무것도 잃지 않습니다.

다른 컴퓨터에서 USB의 사진이 전부 오늘 날짜로 나옵니다.

만든 날짜가 복사한 시각으로 정해졌고, 그 컴퓨터가 기본으로 만든 날짜를 보여 주기 때문입니다. 수정한 날짜로 정렬하거나, 이름 앞에 날짜를 넣어 두면 상관없어집니다.