Takeout JSON meta verilerini fotoğraflara yazma, adım adım
Google Takeout .json yan dosyalarındaki tarihi ve GPS konumunu fotoğraf dosyalarına adım adım yazma: exiftool ile ya da bir masaüstü uygulamasıyla.
Bir fotoğraf klasörünüz var ve her fotoğrafın yanında, gerçek tarihini ve konumunu tutan bir .json dosyası duruyor. Fotoğrafların kendisi yanlış tarihi gösteriyor. İstediğiniz, .json dosyasındaki bilgilerin fotoğrafa yazılması; böylece yan dosyaları atıp normal bir resim klasörüne sahip olabilirsiniz.
Bu, çözülmüş bir sorun. Aşağıda işin elle nasıl yapıldığını ve tek tıklamayla nasıl yapıldığını bulacaksınız.
"Birleştirmek" aslında ne demek?
JPEG, HEIC veya PNG dosyalarında EXIF adlı bir meta veri bloğu bulunur. Kameralar çekim tarihini buraya DateTimeOriginal adlı bir etikete, GPS koordinatlarını da GPSLatitude ve GPSLongitude adlı etiketlere yazar. Her platformdaki fotoğraf uygulamaları bu etiketleri okur.
Takeout yan dosyası aynı bilgiyi başka bir kapta tutar. Birleştirmek, yan dosyadan photoTakenTime ve geoData alanlarını okuyup EXIF etiketlerine yazmak demektir. Bu sırada dosyanın oluşturma ve değiştirme tarihlerini de ayarlarsınız; böylece Finder ve Gezgin, EXIF'i yok sayan görünümlerde bile doğru sıralar.
Videolarda EXIF yoktur. Tarihleri MP4 veya MOV kapsayıcısının içinde, CreateDate gibi etiketlerde durur. Fikir aynı, etiket adları farklı.
1. adım: Her şeyi tek bir yere açın
Takeout büyük dışa aktarmaları birkaç zip dosyasına böler. Albüm klasörleri birleşsin diye hepsini aynı üst klasöre açın. Bir albüm iki zip dosyasına yayılmışsa, fotoğraflarının ve yan dosyalarının yarısı birinde, yarısı ötekinde olabilir; sonunda yan yana durmaları gerekir. Çok sayıda parçanız varsa bkz. Google Takeout birden fazla zip dosyası.
2. adım: Bir fotoğrafın yan dosyasını nasıl bulduğunu anlayın
Yan dosyanın adı, fotoğrafın adı artı bir ektir. IMG_0042.JPG, 2024 ve sonrasındaki dışa aktarmalarda IMG_0042.JPG.supplemental-metadata.json ile, eskilerde ise IMG_0042.JPG.json ile eşleşir. İki durum bu basit kuralı bozar. 46 karakterden uzun adlar kısaltılır, bu yüzden ek yarıda kesilir. Yinelenen fotoğraflarda sayaç başka bir yere gider: IMG_0042(1).JPG, IMG_0042.JPG.supplemental-metadata(1).json ile eşleşir. Kullandığınız araç ikisini de ele almalıdır, yoksa bu dosyaları sessizce atlar. Her ikisinin gerçek örnekleri için: supplemental-metadata.json nedir.
3. adım: exiftool ile birleştirin
exiftool ücretsizdir ve her platformda çalışır. Yükleyin, Google Photos klasöründe bir terminal açın ve şunu çalıştırın:
exiftool -r -d %s -tagsfromfile "%d/%F.supplemental-metadata.json" \
"-DateTimeOriginal<PhotoTakenTimeTimestamp" \
"-CreateDate<PhotoTakenTimeTimestamp" \
"-FileCreateDate<PhotoTakenTimeTimestamp" \
"-FileModifyDate<PhotoTakenTimeTimestamp" \
"-GPSLatitude<GeoDataLatitude" "-GPSLatitudeRef<GeoDataLatitude" \
"-GPSLongitude<GeoDataLongitude" "-GPSLongitudeRef<GeoDataLongitude" \
-ext jpg -ext jpeg -ext heic -ext png -overwrite_original .
Ne yaptığı: her resim için aynı klasörde, aynı ada .supplemental-metadata.json eklenmiş bir dosya arar ve listelenen alanları kopyalar. -d %s, exiftool'a zaman damgasının 1970'ten bu yana geçen saniye olduğunu söyler. -overwrite_original, her dosyanın yedek kopyasını bırakmasını engeller.
Eski tür yan dosyalar için komutu "%d/%F.json" ile ikinci kez çalıştırın. Sonra videolar için bir kez daha çalıştırın:
exiftool -r -d %s -tagsfromfile "%d/%F.supplemental-metadata.json" \
"-CreateDate<PhotoTakenTimeTimestamp" "-ModifyDate<PhotoTakenTimeTimestamp" \
"-TrackCreateDate<PhotoTakenTimeTimestamp" "-MediaCreateDate<PhotoTakenTimeTimestamp" \
"-FileModifyDate<PhotoTakenTimeTimestamp" \
-ext mp4 -ext mov -overwrite_original .
4. adım: exiftool'un kaçırdıklarını ele alın
Kalanları sayın:
exiftool -r -if 'not $DateTimeOriginal' -ext jpg -ext heic -ext png -filename .
Listede kısaltılmış adlar, (1) kopyaları ve hiç yan dosyası olmamış fotoğraflar olacaktır. Kısaltılmış olanları, adı beklenen adın başlangıcı olan .json dosyasını bulan kısa bir betikle yakalayabilirsiniz. Kopyaların, kalıbın işe yaraması için önce yeniden adlandırılması gerekir. On dakikalık bir işi bir akşama çeviren kısım budur ve GooglePhotosTakeoutHelper gibi topluluk betiklerinin var olma nedeni de budur. Ücretsizdirler ve eşleştirmeyi sizin yerinize, bir terminalde yaparlar.
Bir tuzak daha: yukarıdaki GPS satırları, yan dosyası "konum bilinmiyor" diyen fotoğraflara da seve seve 0.0, 0.0 yazar. -if '$GeoDataLatitude ne 0' ekleyin ya da Atlas Okyanusu'nda toplanmış bir fotoğraf kümesini kabul edin.
5. adım: Bunun yerine uygulama
Takeout JSON Metadata Fixer, 1'den 4'e kadar olan adımları macOS, Windows ve Linux'ta tek bir çalıştırmada yapar.
Takeout zip dosyalarını ya da açılmış klasörü seçin. Uygulama, Google'ın kullandığı her adlandırma biçimini deneyerek her fotoğrafı ve videoyu yan dosyasıyla eşleştirir; 46 karakterlik kısaltma ve (1) sayacı da buna dahildir. Tarihi resimlerde EXIF'e, videolarda kapsayıcıya yazar, dosya tarihlerini ayarlar ve GPS bilgisini yalnızca koordinatlar gerçekse yazar. Yan dosyası olmayan fotoğraflar kendi EXIF tarihini, o da yoksa dosya tarihini korur.
Burada durabilirsiniz: "Adları koru" ve "Klasörlerimi koru" ile aynı klasörü doğru meta verilerle geri alırsınız. Ya da aynı anda dosyaları tarihe göre yeniden adlandırmasını ve yıl ve ay klasörlerine yerleştirmesini isteyebilirsiniz. Deneme çalıştırması, hiçbir şey yazılmadan önce planı gösterir. Ücretsiz sürüm 1000 fotoğrafı kapsar; sınırsız kullanım tek seferlik 19,99 USD'dir. Hiçbir şey hiçbir yere yüklenmez.
6. adım: Kontrol edin, sonra yan dosyaları silin
Fotoğraf uygulamanızda farklı yıllardan birkaç fotoğraf açın ve tarihleri doğrulayın. Sonra .json dosyalarını silin. Mac'te veya Linux'ta klasörün içindeyken: find . -name "*.json" -delete. Windows'ta klasörde *.json araması yapın, tümünü seçin ve silin. Bir sorun fark ederseniz diye orijinal zip dosyalarını bir ay kadar bir yerde saklayın.
Sık sorulan sorular
Birleştirmek görüntü kalitesini değiştirir mi?
Hayır. Yalnızca meta veri bloğu yeniden yazılır. Sıkıştırılmış piksel verisi bayt bayt kopyalanır.
Bir fotoğrafın yan dosyadakinden farklı bir EXIF tarihi varsa ne olur?
Yan dosya, Google Fotoğraflar'ın size gösterdiğini yansıtır; yaptığınız düzeltmeler de dahil. Çoğu durumda istediğiniz tarih odur. Google Fotoğraflar'da hiç tarih düzenlemediyseniz ikisi zaten aynıdır.
Saat neden birkaç saat kaymış çıkıyor?
Yan dosyadaki zaman damgası UTC'dir. EXIF'te saat dilimi yoktur, bu yüzden araçlar zamanı bilgisayarınızın yerel saat dilimine çevirir. Bilgisayarınızı fotoğrafların çekildiği saat dilimine ayarlayın ya da kaymayı kabul edin.
Yalnızca tarihi birleştirip GPS'i atlayabilir miyim?
Evet. exiftool komutundan GPS satırlarını çıkarın. Uygulamada GPS varsa yazılır; konumun dosya adlarında olmasını istemiyorsanız onu içermeyen bir adlandırma şablonu seçin.