Google Takeoutで写真は受け取れますが、日付と位置情報は、名前の付け方がばらばらな何千もの個別のJSONファイルに記録されています。定番の修正方法はコマンドラインのプログラムです。このツールは、その中核となる作業をWebページ上で行います。ZIPパートを展開せずにそのまま読み込み、各ファイルをJSONファイルと紐付け、JPEG、HEIC、MP4/MOVファイルの中に日付を書き込み、新しいZIP内のすべてのファイルにファイルの日時を設定します。
紐付けルールの作り方
命名規則は、オープンソースのTakeoutツール(GooglePhotosTakeoutHelper、immich-go)のIssueトラッカーとテストスイートを基にしており、自動テストで検証しています。対象は、短縮されたファイル名、重複番号、2024年に登場した .supplemental-metadata という接尾辞、十数か国語の編集済みコピー、Live Photoです。
ファイルの編集方法
ファイルを作り直すことはありません。JPEGとHEICは元のEXIFブロックを1バイトも変えずに残し、新しいエントリを末尾に追加してそこを参照させます。動画は、固定長の日付フィールドをその場で上書きします。結果は、独立した読み取りツール(EXIFはPillowとexifr、動画はffprobeとffmpegによるデコード)を使った自動テストで確認しています。
対応していないこと
- PNG、GIF、WebP、AVI、MKVファイルの内部には日付を書き込みません(ファイルの日時は設定されます)。また、EXIFブロックのないHEICにEXIFブロックを追加することもありません。
- アルバムのショートカットの作成と、ファイル拡張子の修復。
- どこかへのアップロード — 結果はお使いのパソコンに残ります。
本サイトはGoogleとは提携していません。Google PhotosおよびGoogle TakeoutはGoogle LLCの商標です。