んたのブログ

週末になると出没します。

ダウンロードしたGooglePhotoの日付問題

 
さて、写真データを無事ダウンロードすることは出来たんですが、あれ?とおもう事象が2つ。
 
$ ls -l
合計 3840
-rw-r--r-- 1 **** **** 1396105  8月 13 10:17 'IMG_0022(1).PNG'
-rw-r--r-- 1 **** ****  120876  8月 13 10:17  IMG_0022.PNG
-rw-r--r-- 1 **** ****     803  8月 13 10:17 'IMG_0022.PNG(1).json'
-rw-r--r-- 1 **** ****     804  8月 13 10:17  IMG_0022.PNG.json
 
  1. ファイルのタイムスタンプが全部ファイルをダウンロードした日付
  2. jsonファイルは何者?
 
ということで検索っと。どうやらExifやタイムスタンプのメタデータjsonファイルに分離されてる模様。なんでまたそんな面倒なことを。
でも回復はさせられることもわかりました。今回はこちらのページを参考にしてメタデータを回復させてます。
 
参考:
 
まずはgoogle-photos-takeout-helperをダウンロード。
 
 
今回EndeavourOSで対応したので「gpth-linux」をダウンロード。
ダウンロードしたら実行権を付与します。
 
$ ls -l gpth-linux
-rw-r--r-- 1 **** **** 7189624  8月 17 10:02 gpth-linux
$ chmod 744 gpth-linux
$ ls -l gpth-linux
-rwxr--r-- 1 **** **** 7189624  8月 17 10:02 gpth-linux
 
そしたらいよいよメタデータの編集です。実行するのは以下のコマンド。「-i」が元フォルダ、「-o」が出力先、「--divide-to-dates」が日付ごとにフォルダを作成するオプションです。
 
$ ./gpth-linux -i Takeout/ -o Photo/ --divide-to-dates
 
$ ls -l
合計 3808
-rw-r--r-- 1 **** **** 1396105 11月  7  2020 'IMG_0022(1).PNG'
-rw-r--r-- 1 **** ****  120876 11月  7  2020  IMG_0022.PNG
 
おお、タイムスタンプ回復してる!ちなみにフォルダ構成はこんな感じになります。
 
$ tree -d Photo/
Photo_TEST/
├── 11-12-18
│   └── date-unknown
├── 20201107 5Gテスト
│   └── 2020
│      └── 11
├── ALL_PHOTOS
│   ├── 1968
│   │   └── 01
│   ├── 2011
│   │   ├── 07
│   │   ├── 08
〜〜〜
 
「--divide-to-dates」のオプションを使わない場合、「ALL_PHOTOS」の下は年月日でフォルダ分けされずにまとめて写真データが置かれます。この当たりはお好みですね。
「date-unknown」にはメタデータを復活させられなかったファイルがまとめて入ってました。
元フォルダの「Takeout」配下はjsonファイルしか残ってないので、作業が終わったらまるごと消しちゃってOKです。
 
普段日付でソートしてるから、ってこともありますが写真を撮ったタイムスタンプがわからないとなるとやっぱり不便なので、回復できてよかったです。