Foto
Cara Menggabungkan File JSON Google Takeout ke Foto (Perbaiki Tanggal yang Salah)
Google Takeout menyimpan tanggal foto Anda di file JSON terpisah. Empat alat gratis menggabungkannya kembali: apa yang diperbaiki tiap alat, perintah persisnya, dan cara memeriksanya.
Juga tersedia dalam: العربيةবাংলাDeutschespañolfrançaisગુજરાતીहिन्दीitaliano日本語ಕನ್ನಡ한국어EnglishमराठीpolskiportuguêsрусскийKiswahiliதமிழ்తెలుగుไทยTürkçeукраїнськаاردوTiếng Việt中文
Anda mengunduh pustaka Google Foto dengan Google Takeout. Sekarang ada ribuan foto bersebelahan dengan ribuan file .json, dan penampil foto Anda bilang foto dari tahun 2019 diambil kemarin. Untuk memperbaiki tanggal foto Google Takeout, Anda menggabungkan setiap file JSON kembali ke fotonya. Sebuah alat membaca tanggal pengambilan dari file JSON lalu menuliskannya ke dalam foto, sehingga setiap aplikasi kembali menampilkan tanggal yang benar.
Panduan ini menjelaskan mengapa file JSON itu ada, mengapa penggabungan kadang gagal, dan bagaimana empat alat gratis melakukannya. Anda akan mendapatkan perintah persis untuk masing-masing alat, tanggal mana yang diubah tiap alat, dan cara memeriksa hasilnya sebelum menghapus apa pun.
Mengapa foto Anda datang bersama file JSON
Untuk setiap foto, Takeout memberi Anda dua file: gambarnya, misalnya IMG_1234.jpg, dan sebuah file JSON berisi tanggal asli, koordinat GPS, deskripsi, dan album tempat foto itu berada. Sebuah panduan ekspor menggambarkan kesan pertama yang umum: foto dari tahun 2019 menampilkan tanggal "kemarin", tanpa lokasi dan tanpa album, padahal tidak ada yang hilang. Informasinya ada di file JSON (PixelUnion). Illinois Tech memberi penjelasan yang sama tentang mengapa hasil ekspor berisi lebih banyak file daripada jumlah gambar di pustaka Anda (Illinois Tech).
File foto bisa tidak cocok dengan file JSON. Pembuat google-photos-exif memperhatikan bahwa jika Anda mengubah tanggal di Google Foto, metadata di dalam gambar tidak ikut diperbarui: tanggal baru hanya ada di file JSON. Beberapa gambar, sering kali yang dibagikan orang lain kepada Anda, sama sekali tidak memiliki tanggal di dalamnya (google-photos-exif). README gphotos-takeout-repair memperlihatkan separuh masalah lainnya: dalam hasil ekspor yang sudah diekstrak, foto, versi editannya, dan file JSON semuanya menampilkan tanggal ekspor Takeout sebagai tanggal pembuatan (gphotos-takeout-repair).
Jadi aplikasi yang hanya membaca file foto akan melihat tidak ada tanggal, atau melihat hari ketika Anda mengekspor. Tanggal yang benar ada di file JSON, dan penggabungan mengembalikannya.
Tiga hal yang merusak penggabungan
Setiap alat penggabung harus menemukan file JSON yang tepat untuk setiap foto. Tiga detail dari Takeout membuat hal itu lebih sulit.
- Foto dan file JSON-nya bisa berada di zip yang berbeda. FAQ migrasi Ente memberi contoh
flower.jpegdi satu zip danflower.jsondi zip lain, sehingga keduanya tidak bisa dicocokkan (Ente). README Porte mencantumkan kasus yang sama sebagai keterbatasan yang diketahui: alat ini tidak menemukan file metadata yang berada di arsip berbeda dari gambarnya (Porte). - Nama file JSON tidak konsisten. Untuk
IMG123.jpgAnda bisa mendapatkanIMG123.jpg.jsonatau hanyaIMG123.json, dan beberapa folder berisi file JSON tanpa gambar yang cocok (google-photos-exif). - Foto yang diedit keluar dua kali. Takeout mengekspor foto asli dan salinan hasil edit sebagai file terpisah dengan hash berbeda, sehingga pencari duplikat yang membandingkan hash tidak menandainya (Ente). File hasil edit diberi akhiran
-edited, sepertiIMG_0001-edited.jpgdi sampingIMG_0001.jpg(gphotos-takeout-repair).
Solusi untuk poin pertama sama untuk semua alat: unduh semua zip, lalu ekstrak semuanya ke satu folder induk dan biarkan subfolder seperti apa adanya (Ente). Jika dua zip berisi folder dengan nama yang sama, gabungkan isi kedua folder itu, jangan menimpa yang satu dengan yang lain (google-photos-exif).
Satu tips dari Illinois Tech untuk proses unduhan: biarkan jendela Takeout tetap di depan. Jika Anda meminimalkannya atau bekerja di jendela lain, unduhan gagal setelah 15 menit karena Google meminta Anda login lagi (Illinois Tech).
Empat alat gratis untuk tanggal foto Google Takeout dan tanggal yang diperbaiki masing-masing
Sebuah foto punya dua jenis tanggal. Tanggal EXIF (DateTimeOriginal) disimpan di dalam gambar dan ikut bersamanya ke aplikasi atau layanan mana pun. Tanggal file (modifikasi atau pembuatan) milik sistem file. Tanggal ini mudah hilang: README gpth memperingatkan bahwa memindahkan file di ponsel Android biasanya me-reset-nya (gpth). Sebelum memilih alat, periksa mana dari keduanya yang ditulis alat itu.
Di setiap perintah di bawah, folder pertama adalah hasil ekstrak Takeout Anda dan folder kedua adalah folder output baru yang kosong.
Porte: menulis tanggal dan lokasi ke dalam foto
Porte menyalin stempel waktu dan geolokasi dari file JSON terkait ke data EXIF gambar, tanpa mengompresi ulang gambar. Jika tidak menemukan tanggal, ia mencoba dari nama file, dan memakai tanggal paling awal yang ditemukannya agar tanggal modifikasi file tidak dianggap sebagai tanggal pengambilan. Ia menyalin file ke folder output alih-alih mengubahnya di tempat, menaruh file yang gagal di folder terpisah, dan menyimpan log. Ia tidak menyimpan data album. Anda bisa mengunduh program siap pakai dari halaman rilis proyek ini (Porte):
porte srcpath destpath
google-photos-exif: mengisi tanggal EXIF yang hilang
Alat Node.js ini membaca photoTakenTime dari setiap file JSON. Ia mengatur tanggal modifikasi file, dan mengisi DateTimeOriginal hanya jika foto belum memilikinya. File yang tidak bisa diprosesnya masuk ke folder error (google-photos-exif). Penulis PixelUnion memakainya dan melaporkan bahwa alat ini memproses seluruh pustakanya dalam sekitar dua puluh menit (PixelUnion).
yarn start --inputDir ~/takeout --outputDir ~/output --errorDir ~/error
gpth: menyusun ke satu folder atau per bulan, lalu mengatur tanggal file
Google Photos Takeout Helper bersifat interaktif: Anda menjalankannya dan menjawab pertanyaannya. Alat ini mengumpulkan semua foto ke satu folder, atau ke folder per bulan dengan opsi --divide-to-dates, dan mengatur tanggal terakhir diubah pada file. Menulis kembali data JSON ke EXIF masih ada di daftar rencananya, jadi README-nya memberikan perintah exiftool tambahan yang menyalin tanggal file ke tanggal EXIF untuk foto yang belum punya. Jalankan perintah itu sebelum Anda menyentuh file-file itu lagi. Perhatikan bahwa gpth memindahkan file secara default, jadi simpan zip asli Anda (gpth).
exiftool -overwrite_original -r -if 'not defined DateTimeOriginal' -P "-AllDates<FileModifyDate" "your/output/folder/ALL_PHOTOS/"
gphotos-takeout-repair: membuang file JSON dan duplikat hasil edit
Alat ini menyalin foto Anda ke folder baru, mempertahankan struktur folder, dan mengatur tanggal pembuatan setiap file dari photoTakenTime di file JSON. Jika ada salinan -edited, ia menyimpan versi itu (biasanya yang terbaik) dan meninggalkan yang asli, sehingga hasilnya tidak berisi file JSON maupun duplikat hasil edit (gphotos-takeout-repair). Pasang dengan npm install -g gphotos-takeout-repair, lalu:
gphotos-takeout-repair --src ./unzipped-takeout-dir --dest ./output-dir
Jika Anda ingin tanggal tersimpan di dalam gambar untuk setiap foto, Porte menuliskannya langsung. Dengan tiga alat lainnya, periksa tanggal EXIF sesudahnya, seperti dijelaskan di bawah.
Periksa bahwa tanggalnya benar-benar ada di dalam foto
Jangan percaya kolom "tanggal diubah" di penjelajah file. Periksa metadatanya langsung.
- Tanpa perangkat lunak tambahan: klik kanan sebuah foto lalu pilih Get Info di Mac atau Properties di Windows. Setelah penggabungan yang berhasil, Anda seharusnya melihat tanggal pengambilan yang benar, koordinat GPS jika foto itu memilikinya, dan model kamera bila tersedia (PixelUnion).
- Untuk satu folder penuh: ExifTool dapat menampilkan tag
DateTimeOriginaluntuk setiap JPG dalam sebuah folder. Baris ini didasarkan pada contoh di dokumentasinya (ExifTool):
exiftool -DateTimeOriginal -S -s -ext jpg .
Baris kosong atau tanggal dari minggu Anda mengekspor berarti foto itu tidak tergabung. Lalu periksa folder error atau folder gagal milik alat itu, dan cek apakah file JSON pasangannya berasal dari zip lain.
- Bandingkan jumlahnya. Folder output ditambah folder error seharusnya berisi kira-kira sebanyak foto dan video di hasil ekstrak Takeout, dikurangi duplikat hasil edit jika alat Anda membuangnya.
Alternatif sekali klik
Jika Anda tidak ingin memakai baris perintah, aplikasi desktop bisa melakukan pekerjaan yang sama. PHOTOK adalah produk Pacix Labs. Menurut halamannya, aplikasi ini membaca file .json yang ditebar Google di mana-mana dan mengembalikan tanggal serta tempat yang sebenarnya, lalu menyusun foto ke dalam folder Tahun / Bulan / Tempat dan menyisihkan duplikat yang persis sama. Aplikasi ini berjalan di Windows 10 dan 11 serta di Mac dengan chip Apple, bekerja tanpa mengunggah apa pun, dan tidak pernah menghapus file. Pratinjaunya gratis, dan versi lengkapnya seharga €49 sekali bayar (PHOTOK).
Jalan mana pun yang Anda pilih, alat gratis di atas atau sebuah aplikasi, aturannya sama: kerjakan pada salinan, periksa sampel, dan simpan zip-nya.
Daftar periksa
- Unduh setiap zip dan simpan salinannya di drive kedua.
- Ekstrak semua zip ke satu folder induk, pertahankan subfolder, gabungkan folder yang namanya sama.
- Pilih alat dan ketahui tanggal mana yang ditulisnya: tanggal EXIF, tanggal file, atau keduanya.
- Jalankan pada salinan, ke folder output baru.
- Periksa
DateTimeOriginalpada sampel dari tahun yang berbeda, dan lihat folder error. - Tentukan apa yang akan dilakukan dengan salinan
-edited. - Hapus file JSON dan zip hanya setelah pemeriksaan dan cadangan kedua.
Pertanyaan umum
Mengapa Google Takeout memberi saya file JSON bersama foto-foto saya?
Google menyimpan tanggal pengambilan, lokasi, deskripsi, dan informasi album yang diketahuinya tentang setiap foto dalam file .json terpisah di samping foto. File foto itu sendiri mungkin tidak berisi informasi yang sama, misalnya jika Anda mengubah tanggalnya di Google Foto.
Bolehkah saya menghapus file JSON?
Hanya setelah tanggal dan lokasi sudah masuk ke dalam foto dan Anda sudah memeriksa sebagian sampel. Sebelum itu, file JSON adalah satu-satunya tempat tanggal dan lokasi foto versi Google disimpan.
Tanggal mana yang diperbaiki alat penggabung?
Tergantung alatnya. Ada yang menulis tanggal ke metadata EXIF foto (DateTimeOriginal), yang ikut ke mana pun file dibawa. Ada juga yang hanya mengatur tanggal modifikasi atau tanggal pembuatan file, yang bisa ter-reset oleh beberapa cara penyalinan. Baca README alat itu sebelum memilih.
Mengapa beberapa foto masih salah setelah digabungkan?
Biasanya karena foto dan file JSON-nya ada di zip yang berbeda dan tidak pernah disatukan, atau nama file JSON berbeda dari nama fotonya. Ekstrak semua zip ke satu folder, jalankan lagi alatnya pada salinan baru, dan periksa folder error atau folder gagal milik alat itu.
Apakah saya perlu menyimpan file zip aslinya?
Ya, sampai pustaka hasil penggabungan sudah diperiksa dan Anda punya cadangan lain. Beberapa alat memindahkan file alih-alih menyalinnya, dan zip adalah satu-satunya cara Anda untuk memulai dari awal.
Sumber
- Ente: Google Photos migration FAQ (split zips, wrong dates, duplicates)
- PixelUnion: how to export your Google Photos library without losing the metadata
- Illinois Tech: use Google Takeout to export Google Photos
- google-photos-exif (GitHub README)
- Porte: fixing and organizing a Google Takeout photos export (GitHub README)
- Google Photos Takeout Helper, gpth (GitHub README)
- gphotos-takeout-repair 1.4.2 (README)
- ExifTool documentation