Takeout JSON

구글 포토를 시놀로지 NAS로 옮기고 날짜까지 맞추는 방법

구글 테이크아웃 내보내기를 시놀로지 NAS에 옮겨 Synology Photos가 올바른 날짜를 보여 주게 하는 방법과, 오래 쓸 수 있는 폴더 구조를 설명합니다.

테이크아웃 폴더를 NAS에 복사하고 Synology Photos를 열었더니 타임라인이 복사한 날짜의 사진으로 도배되어 있습니다. .json 파일 수천 개가 섞여 있고, 앨범 폴더 때문에 라이브러리의 절반이 중복입니다.

NAS는 시킨 대로 하고 있을 뿐입니다. 파일을 NAS에 넣기 전에 고쳐야 합니다.

Synology Photos가 날짜를 정하는 방식

Synology Photos는 파일을 색인하면서 이미지는 EXIF DateTimeOriginal에서, 동영상은 컨테이너 메타데이터에서 날짜를 읽습니다. 둘 다 없으면 파일 수정 시각을 씁니다. 구글의 .json 사이드카는 무시하고 지원되지 않는 파일로 표시하거나 숨깁니다.

SMB나 File Station으로 복사하면 많은 환경에서 수정 시각이 복사 시각이 되고, 그전에 압축을 풀 때 이미 그렇게 됐습니다. 그래서 EXIF가 없던 사진은 전부 복사한 날짜로 나옵니다.

구형 DSM의 Photo Station이나, Container Manager에서 돌리는 Plex, Immich처럼 같은 공유 폴더를 색인하는 다른 프로그램도 마찬가지입니다.

메타데이터 작업은 컴퓨터에서 먼저

NAS는 작은 파일 수만 개를 다루는 작업에 느립니다. 고치는 일은 데스크톱에서 하고, 완성된 폴더를 한 번에 옮기십시오.

모든 테이크아웃 조각을 한 폴더에 풉니다. 그다음 사이드카의 날짜를 파일에 씁니다. exiftool로는 이렇게 합니다.

exiftool -r -d %s -tagsfromfile "%d/%F.supplemental-metadata.json" \
  "-DateTimeOriginal<PhotoTakenTimeTimestamp" "-FileModifyDate<PhotoTakenTimeTimestamp" \
  "-GPSLatitude<GeoDataLatitude" "-GPSLatitudeRef<GeoDataLatitude" \
  "-GPSLongitude<GeoDataLongitude" "-GPSLongitudeRef<GeoDataLongitude" \
  -ext jpg -ext heic -ext png -overwrite_original .

동영상은 QuickTime 날짜 태그로 한 번 더 돌리고, 잘린 이름과 (1) 사이드카는 따로 처리합니다. 전체 절차는 exiftool 안내에 있습니다. 무료 스크립트인 GooglePhotosTakeoutHelper도 짝 맞추기를 해 주고 연도 폴더로 정리할 수 있습니다.

Takeout JSON Metadata Fixer는 이 일을 윈도우, 맥, 리눅스용 데스크톱 앱으로 합니다.

테이크아웃 zip을 선택합니다. 앱은 각 사진과 동영상에 실제 날짜와 GPS를 쓰고, 파일 날짜를 맞추고, 선택한 폴더 구조로 결과를 정리합니다. 마운트한 네트워크 공유 폴더에 바로 쓸 수도 있지만, 로컬 드라이브에 쓴 뒤 완성된 폴더를 NAS로 복사하는 편이 빠릅니다. 인터페이스는 한국어입니다. 처음 1000장은 무료이고, 무제한은 19.99달러 한 번입니다.

NAS용 폴더 구조 고르기

Synology Photos는 폴더 구조가 필요 없습니다. 날짜로 타임라인을 만듭니다. 그러나 컴퓨터에서도 공유 폴더를 열어 볼 것이고, 좋은 구조는 백업과 나중의 이동을 쉽게 합니다.

대부분에게는 연도, 그 아래 월이 맞습니다. 2019/07-July/2019-07-14-1105_Jeju.jpg. 앱의 "연/월" 템플릿이 만드는 구조입니다. 폴더마다 크기가 적당하고, 여행 사진을 찾으려면 폴더 두 개만 열면 됩니다. 연도만 쓰면 파일 수천 개짜리 폴더가 되고, 연/월/일까지 쓰면 작은 폴더 수백 개가 됩니다. 사진을 연도와 월 폴더로 정리하기에서 장단점을 다룹니다.

온 가족이 Synology Photos에서 보게 하려면 공유 photo 폴더 아래에, 혼자만 볼 것이면 개인 공간인 homes/이름/Photos 아래에 두십시오. 둘 다에 넣지는 마십시오.

테이크아웃의 앨범 폴더는 건너뛰십시오. 연도 폴더에 이미 있는 사진의 사본입니다. Synology Photos에는 자체 앨범이 있어 타임라인에서 다시 만들 수 있고, 중복으로 가득한 폴더는 모든 백업을 두 배로 만듭니다. 앱으로 정리하면 같은 원본 파일을 한 목적지에 두 번 쓰지 않으므로, 앨범 사본 대부분이 도중에 걸러집니다.

NAS로 복사하기

완성된 폴더를 한 번에 복사하십시오. 맥에서는 파인더에서 마운트한 공유 폴더로 끌어다 놓습니다. 윈도우에서는 탐색기를 쓰거나, 타임스탬프를 유지하려면 robocopy에 /COPY:DAT를 붙입니다. 리눅스에서는 rsync -a가 날짜를 유지합니다. 기가비트 유선이면 200GB 라이브러리가 30분 정도 걸리고, 와이파이면 밤새 걸리니 케이블을 꽂으십시오.

네트워크를 거치지 않으려면 폴더를 USB 드라이브에 넣어 NAS에 꽂은 뒤 File Station으로 제자리에 복사하면 됩니다. 큰 라이브러리는 NAS에서 직접 USB로부터 복사하는 것이 대개 가장 빠릅니다.

색인

Synology Photos는 새 파일을 백그라운드에서 색인합니다. 큰 라이브러리는 몇 시간 걸리고 NAS가 느려집니다. 밤새 두십시오. 끝나면 타임라인을 열어 오래된 연도로 내려가 보십시오. 사진이 실제 날짜에 있으면 메타데이터가 제대로 들어간 것입니다. 일부가 복사한 날짜로 나오면 그 파일의 DateTimeOriginal이 있는지 exiftool로 확인하십시오.

타임라인이 갱신되지 않으면 Synology Photos 설정에서 다시 색인을 강제할 수 있습니다. 숨겨진 @eaDir 폴더를 지우면 미리보기가 다시 생성되는데, 필요한 경우는 드뭅니다.

시놀로지의 HEIC

Synology Photos는 HEIC를 표시하지만, Advanced Media Extensions 패키지가 있는 모델에서만 되고 이 패키지는 시놀로지 계정 로그인이 필요합니다. 모델이 지원하지 않거나 그러고 싶지 않다면 복사 전에 HEIC를 JPG로 변환하십시오. 앱은 메타데이터를 유지하면서 변환할 수 있습니다. 테이크아웃 HEIC를 JPG로 변환을 참고하십시오.

시간대

사이드카의 시각은 UTC이고, 날짜를 쓰는 컴퓨터의 시간대로 변환됩니다. NAS가 아니라 데스크톱에서 작업하는 이유가 하나 더 있는 셈입니다. 데스크톱이 한국 표준시로 설정되어 있는지 확인한 뒤 시작하십시오. 사진 시간이 9시간 차이 나는 이유에 설명이 있습니다.

자주 묻는 질문

Synology Photos가 GPS를 읽나요?

읽습니다. EXIF GPS를 읽어 지도 보기에 사진을 표시합니다. 테이크아웃에 실제 위치가 없던 사진은 그냥 거기 나타나지 않습니다.

JSON 파일을 NAS에 남겨 둬도 되나요?

됩니다만 Synology Photos는 쓰지 않고 모든 폴더가 지저분해집니다. 날짜가 파일 안에 들어간 뒤에는 지우십시오.

Synology Photos를 쓸까요, NAS에서 Immich를 돌릴까요?

어느 쪽이든 됩니다. 둘 다 파일에서 날짜를 읽으므로 준비는 같습니다. Immich는 검색과 얼굴 인식이 낫고, Synology Photos는 설정이 필요 없습니다. 같은 폴더에 둘 다 돌리는 사람도 있습니다.

동영상은 맞는데 사진이 틀리거나, 그 반대입니다.

사진과 동영상은 날짜를 다른 곳에 저장합니다. EXIF만 쓴 도구는 사진만 고쳤습니다. 파일 날짜만 바꾼 도구는 시놀로지가 메타데이터에서 읽는 것을 하나도 고치지 못했습니다. exiftool로 각각 확인하십시오.