A Day in the Life

Google Photos へ WebP 圧縮したファイルをアップロード

2021年5月末で Google Photos の実質無料が終わってしまい、その代替をどうするか問題。Google Photos は適切な共有もでき、アプリも写真検索・閲覧用途でも使いやすく(顔認識もあるしね)、また今あるフォトストレージの中では一番なくならなさそう、ということで代替サービスは特に見当たらなかった。

今の Photos の運用では、ちゃんとした写真(= 選定した写真)は Lightroom CC のクラウドに RAW として保存していて、Google Photos へアップロードしている写真はミラーレスのバックアップ用途 & 妻がブログで使う用の撮って出しの jpeg。これを以前書いた仕組みと、これまた以前作ったオリンパスカメラのAPI経由でのFTPアップロードでアップロードしている。

jpeg は一枚につき、これまでの Photos の無料枠の16MPだと4MB前後のファイルサイズになる。今のペースだと一年間で3万枚ぐらい撮ってるので、このままアップし続けると単純計算で年間120GBぐらいの容量を使ってしまう。

Google Photos の容量カウントはアップロードしたオリジナルファイルサイズに左右されるようで、つまりこのファイルサイズが小さければ小さいほど良い。試しに WebP を cwebp コマンド経由で以下のように変更する(何も指定しないと q は 75 になる)と、

cwebp -preset photo -resize 2894 2170 -metadata exif input.jpg -o output.jpg

ファイルサイズは平均300KB程度で、これなら3万枚でも年間9GBなのでだいぶ容量節約になる。なお長辺4096pxサイズなら平均1MB強程度だった。

また長辺は 2894px として resize のサイズを別プログラムで計算して決めている。cwebp コマンド単体ではアスペクト比固定で長辺指定の resize は出来ないようだった。なお2894px は web で使うには困らなさそう & 350dpi のA5サイズのピクセルなのでこのサイズ。バックアップ用途なのであまり深くは考えていない。また metadata は他にも ICC や XMP があるが、サイズが割と大きかったので exif 以外は削除している。また exif も40KB ぐらいあるので、不必要な人は削除すればもっとダイエットできる。

WebP は 2020年11月頃の macOS / iOS / Safari のアップデートで Apple 製品でも普通に閲覧できるようになり、大体どのOSでも最新の状態なら見れるようになった。また妻が使っている、はてなブログに Google Photos から貼り付ける機能も、WebP 画像は jpeg に変換されはてなフォトライフにアップロードされるよう(exifがちゃんとしてるかは調べてないけど)なので問題なし。

というわけで、しばらくはこの方法(ftpでアップロードした画像をwebp変換した後にアップロード)で運用してみる。なお jpeg からの webp 変換はこんな感じのスクリプトで適当に行っている。

記事の一覧 >

関連するかもエントリー

Google Photos の画像をダウンロードして、ブログの画像を別の画像に差し替える
Google Photos は様々な Web サイトから Google Photos にアップロードした写真を貼り付けできるjpgをママ貼り付けでき、サムネイルサイズも自由なサイズを選べ、Google の高速なサーバ経由で配信され、しかもアップロードしたオリジナルファイルもダウン...
Google Photos は様々な Web サイトから Google Photos にアップロードした写真を貼り付けできるjpgをママ貼り...