Skip to content

fekilooo/google-photos-merger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Google Photos Metadata Merger (Google 相簿詮釋資料合併工具)

這是一個專為 Google Takeout (匯出) 資料設計的 Python GUI 工具。 當你從 Google 相簿下載照片時,Google 會將照片的拍攝時間、GPS 地點等資訊分離成額外的 .json 檔案,導致照片本身的 EXIF 資訊遺失,在電腦上排序混亂。

本工具能自動讀取這些 JSON 檔,將原本的資訊「寫回」照片與影片中,並還原正確的檔案建立日期。

✨ 主要功能

  • 還原 EXIF 資訊:將 JSON 中的 photoTakenTime (拍攝時間) 與 geoData (GPS 經緯度) 寫回圖片 (.jpg, .jpeg)。
  • 影片 Metadata 修復:整合 ExifTool,支援將時間與 GPS 資訊寫入影片檔 (.mp4, .mov, .m4v)。
  • 修正檔案日期:將所有檔案 (包含不支援 metadata 的格式) 的電腦檔案「建立日期/修改日期」修正為實際拍攝時間,解決檔案總管排序問題。
  • 保留資料夾結構:自動遞迴掃描,輸出時完整保留原本的相簿目錄結構(例如 2023年/旅遊)。
  • 智慧過濾:自動將 Screenshot (截圖) 或 FB_IMG (臉書下載) 的檔案分類到 output/other 資料夾,避免相簿雜亂。
  • 強大的 JSON 匹配:支援 Google 各種奇怪的 JSON 命名規則:
    • image.jpg.json
    • image.jpg.supplemental-metadata.json
    • image.supple.json
    • image(1).json (處理重複檔名)
    • 以及模糊搜尋功能 (*.*.json)。

🛠️ 安裝需求

  • OS: Windows 10/11
  • Python: 3.10+
  • 必要工具: ExifTool (用於影片處理,需放在專案目錄下的 exiftool-13.44_64 資料夾中)

Python 套件依賴

  • customtkinter (GUI 介面)
  • piexif (圖片 EXIF 處理)
  • Pillow (圖片處理核心)

🚀 安裝與執行

1. 取得程式碼

git clone https://github.com/fekilooo/google-photos-merger.git
cd google-photos-merger

2. 建立虛擬環境 (推薦使用 uv)

# 安裝 uv (如果你還沒安裝)
pip install uv

# 建立環境
uv venv

# 安裝依賴
uv pip install -r requirements.txt

3. 設定 ExifTool

請下載 ExifTool Windows Executable,解壓縮後將 exiftool(-k).exe 改名為 exiftool.exe,並放入專案內的 exiftool-13.44_64/ 資料夾中。

4. 執行程式

雙擊目錄下的 start.bat,或在終端機執行:

.\start.bat

📖 使用說明

  1. 來源資料夾:選擇 Google Takeout 解壓縮後的根目錄(包含很多年份資料夾的那層)。
  2. 輸出資料夾:建議建立一個乾淨的空資料夾作為輸出位置。
  3. 開始執行:程式會自動掃描所有子資料夾,將合併後的照片複製到輸出路徑。
    • Log視窗會即時顯示處理進度與錯誤訊息。
    • 處理完成後,請檢查輸出資料夾的檔案詳細資訊,確認拍攝日期與 GPS 是否已還原。

📂 輸出結構範例

來源 (Input):
├── 2023年
│   ├── IMG_001.JPG
│   ├── IMG_001.JPG.json
│   └── Screenshot_2023.png

輸出 (Output):
├── 2023年
│   └── IMG_001.JPG (已寫入 EXIF 與 GPS)
└── other
    └── 2023年
        └── Screenshot_2023.png (被自動歸類)

📝 授權

MIT License

About

Automatically merge Google Takeout JSON metadata back into photos and videos.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors