Google Takeout fotoğrafları neden yanlış tarih gösteriyor?
Google Takeout dışa aktarmasındaki her fotoğraf neden indirme gününü gösterir, gerçek tarihler nerede saklanır ve onları nasıl geri yazarsınız.
Google Fotoğraflar kitaplığınızı indirdiniz, zip'ten çıkardınız ve klasörü açtınız. On yıllık resim var, ama her biri geçen salı çekilmiş gibi görünüyor. Tarihe göre sıralayınca 2012'deki bir plaj tatili dünkü ekran görüntülerinin yanına düşüyor.
Hiçbir şey kaybolmadı. Tarihler hâlâ orada, yalnızca bilgisayarınızın baktığı yerde değiller.
Tarih nereye gitti?
Bir fotoğraf tarihini üç yerde taşıyabilir. Kamera birini dosyanın kendi içine, EXIF bölümüne, "DateTimeOriginal" olarak yazar. İşletim sistemi dosyanın dışında iki tarih daha tutar: oluşturulma ve değiştirilme. Finder, Dosya Gezgini ve çoğu galeri uygulaması önce EXIF'i okur, EXIF yoksa dosya tarihlerine döner.
Takeout bunu iki yoldan bozar. Birincisi, Google dosyalarınızı bir zip'e koyarken dosya tarihleri zip'in oluşturulduğu ya da sizin zip'i açtığınız an olur. EXIF sağlam olsaydı bu tek başına sorun olmazdı.
İkincisi, fotoğrafların büyük bir kısmında EXIF tarihi ya yoktur ya da yanlıştır. Ekran görüntülerinde hiç olmadı. WhatsApp ve diğer mesajlaşma uygulamaları sıkıştırırken meta verileri siler. Taramalarda baskının yapıldığı gün değil, tarama tarihi vardır. Google Fotoğraflar içinde bir tarihi düzelttiyseniz, o düzeltme dosyaya değil Google'ın veritabanına kaydedildi. Google doğru bilgiyi resmin içine geri yazmak yerine her fotoğrafın yanındaki ayrı bir .json dosyasına koyar.
Bilgisayarınız bu .json dosyalarını tamamen yok sayar. Bu yüzden bulabildiği tek tarihi gösterir: indirme tarihini.
Durumun ne kadar kötü olduğunu denetleyin
Bir şeyi düzeltmeden önce kaç dosyanın gerçekten düzeltilmesi gerektiğini öğrenin. Doğrudan telefon kamerasından gelen fotoğraflarda genellikle hâlâ iyi bir EXIF tarihi vardır. Sizinkilerin çoğunda varsa, yalnızca bir kısmını düzeltmeniz gerekebilir.
exiftool yüklüyse, bu komut EXIF tarihi olmayan her dosyayı listeler:
exiftool -r -if 'not $DateTimeOriginal' -filename "Takeout/Google Photos"
Ölçtüğümüz 991 fotoğraflık gerçek bir Takeout parçasında, yaklaşık her beş fotoğraftan biri için doğru tarihin tek kaynağı yan dosyalardı. Sizin oranınız farklı olacaktır. Ekran görüntüsü, sohbet resmi ve eski taramalarla dolu kitaplıklar yan dosyalara çok daha fazla dayanır.
Bir yan dosyayı açıp bakın
Her fotoğrafın IMG_2034.JPG.supplemental-metadata.json gibi bir eş dosyası vardır (eski dışa aktarmalar IMG_2034.JPG.json kullanır). Herhangi bir metin düzenleyiciyle açın. Önemli kısım şöyle görünür:
"photoTakenTime": {
"timestamp": "1563102330",
"formatted": "Jul 14, 2019, 11:05:30 AM UTC"
}
Bu zaman damgası gerçek tarihtir: 1970'ten bu yana geçen saniye, UTC olarak. Bir de creationTime vardır; bu, dosyanın Google'a yüklendiği zamandır. Resmin çekildiği tarihi istiyorsanız doğru alan photoTakenTime'dır. Dosyanın tamamını Google Takeout'taki JSON dosyaları nedir yazısında anlatıyoruz.
Elle düzeltmek
Birkaç fotoğraf için tarihi elle ayarlayın. Mac'te fotoğrafı Önizleme'de ya da Fotoğraflar'da açıp tarihi değiştirin. Windows'ta dosyaya sağ tıklayın, Özellikler'i, sonra Ayrıntılar'ı seçin ve "Çekim tarihi"ni düzenleyin. Bunu elli fotoğraf için yapınca daha iyi bir yol istersiniz.
Tüm bir kitaplık için insanların başvurduğu araç exiftool'dur. Tek bir komut, her yan dosyadaki zaman damgasını fotoğrafa ve dosya tarihlerine kopyalar:
exiftool -r -d %s -tagsfromfile "%d/%F.supplemental-metadata.json" \
"-DateTimeOriginal<PhotoTakenTimeTimestamp" \
"-FileCreateDate<PhotoTakenTimeTimestamp" \
"-FileModifyDate<PhotoTakenTimeTimestamp" \
-ext jpg -ext jpeg -overwrite_original "Takeout/Google Photos"
İşe yarar, ama tuzakları var. Google uzun yan dosya adlarını 46 karakterde keser, bu yüzden yukarıdaki kalıp bazılarını kaçırır. Kopyalarda (1), yan dosya adında fotoğraf adındakinden farklı bir yerde durur. Videolar farklı etiketler ister. HEIC ve PNG için ayrı geçişler gerekir. Hepsini exiftool rehberinde anlatıyoruz. Terminal kullanmaktan çekinmiyorsanız, adlandırma tuhaflıklarını sizin yerinize çözen GooglePhotosTakeoutHelper gibi ücretsiz topluluk betikleri de var.
Uygulama
Bir akşamı komut satırında geçirmek istemiyorsanız, Takeout JSON Metadata Fixer bu işi macOS, Windows ve Linux'ta bir masaüstü uygulaması olarak yapar.
Uygulamaya Takeout zip dosyalarını ya da açılmış klasörü gösterirsiniz. Her fotoğrafı yan dosyasıyla eşleştirir; 2024'teki supplemental-metadata adları, kesik adlar ve (1) kopyaları da dahil. Sonra photoTakenTime değerini fotoğrafın EXIF'ine yazar ve dosyanın oluşturulma ve değiştirilme tarihlerini buna göre ayarlar. Yan dosyası olmayan fotoğraflar, varsa EXIF tarihlerini korur, yoksa dosya tarihine döner; böylece hiçbir fotoğraf tarihsiz çıkmaz.
Videolar da tarihlerini alır; tarih, oynatıcıların beklediği yere, MP4 ya da MOV dosyasının içine yazılır. Yan dosyada gerçek GPS koordinatları varsa bunlar da fotoğrafa geri yazılır. İsterseniz dosyaları gerçek tarihe göre yeniden adlandırıp yıl ve ay klasörlerine ayırmasını da sağlayabilirsiniz, ama bu kısım isteğe bağlıdır. Yalnızca tarihlerin düzelmesini istiyorsanız "Adları koru" ve "Klasörlerimi koru" seçeneklerini seçin.
Hiçbir şey yazmadan nelerin değişeceğini gösteren bir deneme çalıştırması vardır. İlk 1000 fotoğraf ücretsizdir; 19,99 USD'lik tek seferlik bir satın alma sınırı kaldırır. Her şey kendi bilgisayarınızda çalışır; fotoğraflarınız hiçbir zaman yüklenmez.
Tarihler dosyaların içine yazıldıktan sonra, fotoğraflar sonra nereye giderse gitsin doğru kalır: Apple Fotoğraflar, bir NAS, Immich, bir USB bellek ya da yeni bir telefon.
Sık sorulan sorular
Tarihler doğru saat diliminde mi olacak?
Yan dosya kesin bir anı UTC olarak saklar. Araçlar EXIF yazarken bunu bilgisayarınızın yerel saatine çevirir; EXIF varsayılan olarak saat dilimi taşımaz. Paris'te 11:05'te çekilen bir fotoğraf, bilgisayarınız Paris saatine ayarlıysa 11:05, New York saatine ayarlıysa 05:05 olarak çıkar. Düzeltmeden önce bilgisayarınızı fotoğraflarınızın çoğunun çekildiği saat dilimine ayarlayın ya da tatil fotoğraflarında birkaç saatlik kaymayı kabul edin.
EXIF'e yazmakla bir şey kaybeder miyim?
Bir tarih etiketi yazmak yalnızca meta veri bölümünü değiştirir. Görüntünün piksellerine dokunulmaz. Sonuçtan memnun olana kadar orijinal zip dosyalarını saklayın; bu zaten iyi bir alışkanlıktır.
Neden yalnızca bazı fotoğraflar yanlış?
Çünkü baştan yalnızca bazı fotoğrafların EXIF tarihi yoktu. Kamera fotoğraflarında genellikle vardır. Ekran görüntüleri, sohbet resimleri, taramalar ve Google Fotoğraflar içinde yeniden tarihlendirdiğiniz her şey yan dosyaya bağlıdır.
Tarihleri düzelttikten sonra JSON dosyalarını silebilir miyim?
Evet. Tarih ve GPS fotoğraflara yazıldıktan sonra yan dosyalar işini yapmış olur. Yeni kitaplığınızda birkaç fotoğrafı denetleyene kadar saklayın, sonra silin. Ayrıntılar: Google Takeout JSON dosyaları silinir mi?