如果想要將Google相簿照片搬家,最簡單的方式就是跟Google申請下載全部照片了吧,對,你有這個權力,你可以跟Google要你上傳的全部原始畫質檔案(如果你上傳時沒有勾選壓縮畫質的話)。
將Google相簿照片下載到自己電腦,後續要整理總是方便多了。整理好後便可以安心搬家到 Immich、 PhotoPrism等自架相簿的替代方案了。
但下載後,你可能會遇到照片日期、拍照地點跑掉的問題,以及Google自成一套的資料夾結構,裡面一堆json是安怎!?原來Google相簿把照片資訊分別寫在單獨的json檔呀,可其他相片軟體不見得吃這樣的整理邏輯呀。
為了解決上述問題,我們可以使用開源軟體「Google Photos Takeout Helper」(GPTH) 合併所有檔案,讓下載的照片變成只有一個資料夾,並且還原照片拍攝的時間地點,保留線上整理過的相簿結構。
此軟體由Mateusz Soszyński以Dart語言寫成,支援Linux/Windows/macOS(x86)。
到 Google Takeout申請資料匯出作業,僅勾選Google相簿,等Google寄下載連結給你。
使用7zip解壓縮。Google相簿的壓縮檔解壓縮後會含有大量json檔;並且照片是按照年份資料夾分類的,這樣不好用其他軟體管理。
到Github下載 Google Photos Takeout Helper執行檔,Linux是
gpth-linux
,Windows是gpth-windoza.exe
。切換到GPTH程式所在的資料夾,開啟終端機(Windows在檔案總管右鍵按+Shift,開啟Powershell),執行GPTH程式,開始合併。
語法為:./gpth -i "來源資料夾路徑" --album "參數" -o "輸出資料夾路徑"
GPTH指令裡面有一個--albums
參數,用於設定遇到Google相簿的「線上相簿」的處理方式:
duplicate-copy
:針對每個相簿建立新資料夾,並複製照片到該資料夾,即使重複也無所謂。此選項佔用更多磁碟空間。json
:不複製照片,將所有封存和垃圾桶的照片放在同一個資料夾,並將相簿資訊寫入至單一json檔。nothing
:無視封存和垃圾桶的照片,將全部照片放在同一個資料夾。shortcut
:針對每個相簿建立資料夾,但不複製檔案,僅新增符號連結(捷徑)指向原始照片,節省磁碟空間。缺點是符號連結可能會在搬移檔案到其他電腦的時候毀損。
我使用以下指令,處理位於 /home/user/Downloads/Takeout/Google 相簿
的照片,使用--album shortcut
,並將合併後的照片輸出到桌面的output
資料夾。
./gpth-linux -i "/home/user/Downloads/Takeout/Google 相簿" -o "/home/user/Desktop/output" --albums "shortcut"
合併結果如下。原本相簿的Json檔案都不見了,所有照片位於ALL_PHOTOS
資料夾下,以及各個相簿的資料夾。
如果點開相簿的資料夾,會發現檔案全部都是連結檔,連結指向上一層ALL_PHOTOS
資料夾下的原始照片檔案。