TakeoutをImmichに取り込む2つの方法
immich-goは、Immichコミュニティが提供する無料のコマンドラインツールです。TakeoutのZIPファイルを直接読み込み、JSONファイルを紐付けて、アップロードしながらサーバー上で日付を設定します(immich-go upload from-google-photos --server=… --api-key=… takeout-*.zip)。ターミナルの操作に抵抗がなく、1回の手順で済ませたいなら、こちらを使ってください。このページは必要ありません。
このページと公式のアップロード方法の組み合わせは、先にファイルを確認したい場合や、ファイル自体に日付が記録された修正済みのライブラリのコピーを手元に残したい場合に向いています。バックアップや、今後ほかのアプリを使うときにも役立ちます。
手順
- エクスポート:takeout.google.comでGoogle Photosを選択し、.zipを選んで、すべてのパートをダウンロードします。
- 修正:上の欄にすべてのパートをドロップし、修正&保存をクリックします。
- 展開:修正済みZIPを1つのフォルダに展開します。
- Immich CLIで取り込む:
npm i -g @immich/cliでインストールし、immich login https://your-server/api YOUR_API_KEYでログインしてから、immich upload --recursive /path/to/folderを実行します。 - ブラウザで取り込む場合:展開したフォルダをImmichのタイムラインにドラッグします。ドラッグならフォルダとサブフォルダを読み込めますが、アップロードボタンでは個別のファイルしか選べません。
Immichに表示される日付
- ImmichはExifToolでファイル内の日付を読み取ります。JPEGとHEICではDateTimeOriginal、MP4とMOVではヘッダーの作成日時です。このツールが書き込むのは、まさにこれらのフィールドです。
- PNG、GIF、EXIFのないHEICなど、ファイル内に日付がないファイルについては、Immichはファイルの更新日時を使います。更新日時は、CLIでもWebアプリでもアップロードのたびに送信されます。修正済みZIPが復元するのは、このファイルの日時です。
- Immich自体はTakeoutのJSONファイルを読み込まないため、修正しないとこうしたファイルはエクスポートした日の日付になってしまいます。
- 動画の日付はUTCとして読み取られます。動画ヘッダーに記録されているのもUTCです。
アルバム
CLIの--albumオプションを使うと、フォルダ名を付けたアルバムが作成されます。Takeoutのアルバムフォルダはアルバムになりますが、Photos from 2019のような年別フォルダもアルバムになってしまいます。本来のアルバムだけを作るには、年別フォルダは--albumなしで、アルバムフォルダはこのオプション付きでアップロードしてください。ここで同じ写真のアルバム内コピーを除外する必要はありません。Immichはチェックサムによって、すでにあるファイルを識別します。
よくある質問
代わりにimmich-goを使うべきですか?
TakeoutをImmichに入れたいだけで、ターミナルの操作にも慣れているなら、immich-goが最短の方法です。ZIPファイルを読み込み、JSONの日付をサーバー上で適用してくれます。ファイルそのものを修正して手元に残したい場合、先にレポートで紐付け結果を確認したい場合、あるいは同じライブラリを後でImmich以外のサービスにも取り込みたい場合は、このページを使ってください。
このページからImmichサーバーにアップロードされますか?
いいえ。Immichに接続することも、APIキーを求めることもありません。修正済みのフォルダは、Immich CLIまたはWebアプリを使ってご自身で取り込んでください。
ファイル内に日付が書き込まれるのはどのファイルですか?
JPEGの写真は、写真アプリが最初に読み取るEXIFデータに日付(位置情報がない場合はそれも)が書き込まれます。HEICの写真も、iPhoneの写真のようにEXIFブロックがあれば同様に書き込まれます。EXIFブロックのないHEICは、ファイルの日時のみ設定されます。MP4、MOV、M4V、3GPの動画は、動画アプリが読み取る「作成日時」であるムービーヘッダーとトラックヘッダーに日付が記録されます。再エンコードはせず、その場で書き換えます。PNG、GIF、WebP、AVI、MKVなどの形式は変更されず、修正済みZIPを展開したときに、その日付がファイルの日時(「更新日時」)として設定されます。
カメラが記録した日付は上書きされますか?
初期設定では上書きされません。JPEGやHEICにすでに「撮影日時」(DateTimeOriginal)やGPSの位置情報がある場合は、そのまま残します。動画の場合、ヘッダー内の撮影日時が妥当であれば残します。日付が空、1970年より前、またはアップロードや処理の日時にすぎない場合(それより前に撮影された動画で、アップロード時点以降の日付)は置き換えます。Google Photosで日付を変更していて、そちらを使いたい場合は、カメラが記録済みの日付と位置情報も置き換えるをオンにしてください。
写真はアップロードされますか?
いいえ。ZIPファイルはお使いのパソコン上でブラウザが読み込み、修正済みアーカイブも同じパソコンに書き出されます。サーバーには何も送信されません。ページの読み込み後にインターネット接続を切っても、そのまま動作します。