학교 계정으로 구글 포토를 무제한으로 쓰다가 20GB로 제한되어서 그만 쓰려고 한다.
웹 구글 포토 상에서는 일괄 저장 기능이 없다........ 몇천장 되는 사진을 일일이 체크할 수는 없다.
https://takeout.google.com/ 에서 사진만 체크하고 따로 뽑아준다. 내보내기를 누르고 수 분이 지나면 다운로드 링크를 메일로 보내준다.
재밌는 점은 일괄 삭제 기능도 없어서 구글에서 자바 스크립트 찾아서 삭제했다.
그래서 2016년의 IMG_1234.JPG가 2017년의 동명 파일과 겹치는 문제가 발생한다.
또 다른 문제는
IMG_0001.jpg와 IMG_0001(2).jpg가 공존하는 경우 json이 IMG_0001.jpg (2).json 뭐 이딴식으로 생성되는 문제였다. 이게 이유가 저거 때문인지는 확실히 기억이 안나는데..
아무튼 이런 문제가 있었다.
전자는 이미지와 json파일 둘다 숫자를 더 붙여서, 후자는 일일히 .jpg (2).json을 (2).jpg.json으로 바꿔주며 해결했다.
이상하게 사진의 메타데이터를 사진명.JSON의 형식으로 분리해서 준다.. 너무 불편하다.
우선 1차적으로 exiftool
을 사용하고 안된 파일에 대해서 piexif
를 활용한다.
exiftool "-FileCreateDate<CreateDate" "-FileModifyDate<ModifyDate" "-GpsLatitude<GeoDataExifLatitude" "-GpsLatitudeRef<GeoDataExifLatitude" "-GPSLongitude<GeoDataLongitude" "-GPSLongitudeRef<GeoDataLongitude""사진폴더" -r
요렇게 날짜와 gps를 수정하는 코드를 cmd나 powershell에서 실행해준다.
날짜와 gps가 잘 바뀌었는지 검사해야 된다.
piexif
는 파이썬 라이브러리다. 위 검사에서 격리된 항목에 대해 piexif를 통해 날짜, gps정보를 추가한다. 그 다음 다시 위 검사를 반복한다. 거기서 남은 파일들은 애초에 정보가 잘못된 파일들일 것이다.
영상도 exiftool
선에서 해결이 되긴 한다. (나는 mov, mp4파일만 다뤘다.)
그러나 영상은 윈도우 속성창에서 gps정보를 확인할 수 없어 검사를 할 때 gps정보가 잘 들어갔는지 알 턱이 없었다. 그래서 이건 또 ffmpeg-python
라는 파이썬 라이브러리를 사용해서 메타데이터를 뽑아 확인하였다.
위와 같이 아이폰은 IMG_xxxx식으로 이미지에 이름을 붙이기 때문에 언제 또 이름이 겹칠지 모른다. 그래서 이미지, 영상들을 전부 날짜+시간을 포함해서 이름을 수정하였다. 프로그램이 있는지 찾아봤는데 날짜도 적용이 제대로 안되는 경우가 많고 비디오, heic 파일을 지원하는게 없어서 만들었다..(알씨, 포토스케이프 써봄)
https://github.com/ljho01/ImageRenamer 여기서 확인할 수 있다.
중복 유형이 두가지 있다.
1. 백업 복원을 여러번 거치면서 그냥 중복이 발생하는 경우
2. JPG, HEIC가 공존하는 경우(이유 모름)
보통 1번의 경우 확장자가 같기 때문에 중복검사 프로그램에서 쉽게 찾아낼 수 있다. 근데 문제는 2번인데, 확장자가 다르면 같은 사진이라도 감지를 못하더라.. 그래서 heic를 jpg로 일괄 변환해서 중복 검사를 돌렸다.
글로 적으니 별거 아닌 것 같은데 4일동안 이거에만 매달렸다.. 코드를 안짜고 그냥 손으로 한게 대부분이라 시행착오도 잦았다. 다음에도 이러면 코드로 짜서 해야지