supplemental-metadata.json nedir? Silinir mi, ne işe yarar?
Google Takeout'taki supplemental-metadata.json, fotoğrafın tarihini, konumunu ve açıklamasını tutar. Bu bilgi fotoğrafa yazılana kadar dosyayı silmeyin.
supplemental-metadata.json, Google Takeout'un her fotoğrafın ve videonun yanına koyduğu küçük bir metin dosyasıdır. İçinde Google Fotoğraflar'ın o dosya hakkında bildikleri vardır: çekim tarihi, GPS konumu, açıklama ve orijinal dosya adı. 2024'ten beri eski dışa aktarmalarda IMG_5512.HEIC.json olarak adlandırılan yan dosyanın yeni adıdır. İçeriği aynıdır.
Tarihi ve konumu fotoğrafın içine yazılana kadar bu dosyayı saklayın. Fotoğraf uygulamalarının çoğu onu hiç okumaz. Bu adımı atlarsanız fotoğraflarınız indirme tarihini gösterir.
Belki buraya, eskiden Takeout dışa aktarmalarını düzelten bir betik artık fotoğrafların yarısını atladığı için geldiniz. Ya da bir fotoğrafın yanında IMG_5512.HEIC.supplemental-metadata.json, bir başkasının yanında PXL_20240311_183022711.jpg.supplemental-m.json gördünüz ve ikincisinin bozuk olup olmadığını merak ettiniz. İkisi de bozuk değil. Aşağıda adları, alanları ve bu dosyalarla ne yapmanız gerektiğini açıklıyoruz.
"Supplemental metadata" ne demek?
Meta veri, bir fotoğraf hakkındaki bilgidir: ne zaman, nerede, hangi kamerayla. "Supplemental" ek demektir. Google Fotoğraflar'ın görüntü dosyasının içinde değil, kendi veritabanında tuttuğu bilgidir.
Birçok fotoğrafın tarihi zaten içinde, EXIF verisinde yazılıdır. Ekran görüntüleri, sohbetlerden kaydedilen resimler, taramalar ve tarihini ya da yerini Google Fotoğraflar'da düzelttiğiniz her fotoğraf için bu geçerli değildir. Bunlarda fotoğrafın ne zaman ve nerede çekildiğinin tek kaydı bu ek meta veri dosyasıdır. Daha uzun arka plan için Google Takeout'taki JSON dosyaları nedir yazısına bakın.
Dosyanın içinde ne var?
Birini Not Defteri, TextEdit ya da herhangi bir kod düzenleyiciyle açın. Düz metindir. Önemli alanlar şunlardır:
title: orijinal dosya adı. Takeout gerçek dosya adını kısalttığında işe yarar.photoTakenTime: fotoğrafın çekim tarihi, Google Fotoğraflar'ın gösterdiği hâliyle. Elle düzelttiğiniz tarihler de buradadır. Kullanılması gereken tarih budur.creationTime: dosyanın Google'a yüklendiği zaman. Eski bir baskının taramasında bu, gerçek tarihten on yıllar sonra olabilir.geoData: Google Fotoğraflar'ın bildiği konum, elle belirlediğiniz bir yer de dahil.geoDataExif: yükleme sırasında dosyanın kendi EXIF verisinde olan konum.description: yazdıysanız açıklamanız.peoplevefavorited: varsa etiketlenen kişiler ve yıldızlı fotoğraflar.
Zaman damgaları, 1 Ocak 1970'ten bu yana geçen saniyelerdir ve UTC'dir. Konumu olmayan bir fotoğrafta enlem ve boylamın ikisi de 0.0 olur. Bunu gerçek bir yer olarak değil, "konum yok" olarak kabul edin. Bkz. Takeout'tan GPS'i geri getirme (İngilizce).
Ad 2024'te neden değişti?
Yıllarca IMG_5512.HEIC için yan dosya IMG_5512.HEIC.json idi: fotoğraf adı, sonra .json. Her betik bu kalıba göre eşleştiriyordu.
2024'te Google IMG_5512.HEIC.supplemental-metadata.json adına geçti. İçerik aynı, alanlar aynı, ad daha uzun. Yeni ad, dosyanın ne olduğunu söylüyor; tek başına .json, fotoğrafın kendi verisiyle karıştırılabilirdi. O tarihten beri yapılan dışa aktarmalar yeni adı kullanır. Bir diskte duran eski bir dışa aktarma eski adı kullanır. İki dışa aktarmayı karıştıran bir klasörde ikisi birden bulunur.
<fotoğraf>.json arayan her araç artık hiçbir şey bulamaz ve devam eder. Bazı araçlar her dosya için "yan dosya bulunamadı" der. Diğerleri sessizce dosya tarihine, yani indirme tarihine döner. Böylece fotoğraflar hiçbir hata olmadan yanlış tarihle çıkar. "Düzeltme işe yaramadı" yazılarının çoğunun nedeni bu sessiz hatadır.
Bazı adlar neden .supplemental-m.json gibi kesik?
Google, yan dosyanın tüm adını 46 karakterde keser. Eski kısa .json ekiyle bu nadiren sorun olurdu. .supplemental-metadata.json eklenince, yaklaşık 19 karakterden uzun her fotoğraf adı ekinin bir kısmını kaybeder.
PXL_20240311_183022711.jpg adlı bir Pixel fotoğrafı 26 karakterdir. .supplemental-metadata.json ekleyince 53 olur. Google bunu 46'ya keser: PXL_20240311_183022711.jpg.supplemental-m.json. Bir Samsung fotoğrafı 20240311_183022.jpg ise 20240311_183022.jpg.supplemental-metada.json alır. Her kamera markası biraz farklı bir kesik verir, bu yüzden eşleştirilecek tek bir ek yoktur.
Dosya hasarlı değildir. Yalnızca adı kısadır. Güvenilir kural şudur: yan dosyanın adı, <fotoğraf adı>.supplemental-metadata.json dizesinin başıdır. Bir betik sabit bir dizeyle karşılaştırmak yerine bunu denetlemelidir. Kendi yazdığınız adlar gibi çok uzun orijinal dosya adları, fotoğraf adının kendisinden de kesilebilir. Bu yüzden yan dosyanın içindeki title alanını okumak değerlidir. Takeout dosyalarının adları neden garip (İngilizce) tüm adlandırma kurallarını özetler.
(1) nereye gider?
Google Fotoğraflar aynı adı taşıyan iki dosyaya izin verir, Takeout ise onları tek bir klasöre koymak zorundadır. İkincisine bir sayaç ekler: IMG_5512.HEIC ve IMG_5512(1).HEIC.
Yan dosyaların IMG_5512.HEIC.supplemental-metadata.json ve IMG_5512(1).HEIC.supplemental-metadata.json olmasını beklersiniz. Öyle değildir. Sayaç, yan dosya adının sonuna, .json'dan önceye taşınır: IMG_5512.HEIC.supplemental-metadata(1).json. Eski biçimde bu IMG_5512.HEIC(1).json idi.
Yani bir araç fotoğraf adını almalı, (1)'i çıkarmalı, yan dosya adını kurmalı ve (1)'i .json'dan hemen önceye geri koymalıdır. Bunu 46 karakterlik kesikle birleştirince PXL_20240311_183022711.jpg.supplemental-(1).json gibi adlar çıkar. Gerçek dışa aktarmalarda bunlar vardır.
Sayaçlar yaygındır. İki albüme kaydedilen aynı fotoğraf, düzenlediğiniz ve Google'ın iki sürümünü de sakladığı bir fotoğraf ya da bir dosyayı ikisi de IMG_0001.JPG olarak adlandıran iki telefon bunları üretir.
Düzenlenmiş kopyaların kendi yan dosyası yoktur
Google Fotoğraflar içinde düzenlenen fotoğraflar iki dosya olarak çıkar: IMG_5512.HEIC ve IMG_5512-edited.HEIC. Genellikle orijinal ada bağlı tek bir yan dosya vardır. Basit bir araç düzenlenmiş kopyayı tarihsiz bırakır. Dikkatli bir araç -edited kısmını çıkarır ve orijinalin yan dosyasını yeniden kullanır. Ayrıntılar: Takeout'ta kopyalar ve düzenlenmiş sürümler (İngilizce).
supplemental-metadata.json silinir mi?
Evet, ama yalnızca tarihi ve konumu fotoğrafın içine yazıldıktan sonra. Dosyaları önce silerseniz bu bilgi kaybolur. Fotoğraflarınız indirme tarihini korur ve geri dönmenin tek yolu yeni bir Takeout dışa aktarmasıdır.
Güvenli sıra şudur: verileri fotoğraflara aktarın, birkaç fotoğrafı denetleyin, sonra .json dosyalarını silin. Immich veya PhotoPrism'e aktarıyorsanız, bu araçlar yan dosyaları okuyabildiği için aktarma bitene kadar onları saklayın. Kısa yanıt Google Takeout JSON dosyaları silinir mi? yazısında.
Hangi uygulamalar okur?
Apple Fotoğraflar, Windows ve telefon galerileri okumaz. Yalnızca görüntü dosyasının içine bakarlar. Klasörü yeniden yüklerseniz Google Fotoğraflar da okumaz. Immich, PhotoPrism ve bazı diğer kendi sunucunuzda çalışan araçlar içe aktarma sırasında Takeout yan dosyalarını okuyabilir. Diğer her hedef için verileri önce fotoğrafa yazın.
Veriler fotoğrafa nasıl geri yazılır?
Yan dosya verilerini fotoğrafın EXIF'ine yazmaya birleştirme denir. exiftool ile her ek için bir kez, toplam iki kez çalıştırın:
exiftool -r -d %s -tagsfromfile "%d/%F.supplemental-metadata.json" "-DateTimeOriginal<PhotoTakenTimeTimestamp" -ext jpg -ext heic -overwrite_original .
exiftool -r -d %s -tagsfromfile "%d/%F.json" "-DateTimeOriginal<PhotoTakenTimeTimestamp" -ext jpg -ext heic -overwrite_original .
Sonra hâlâ tarihsiz olanları exiftool -r -if 'not $DateTimeOriginal' -filename . ile listeleyin. Geriye kalanlar kesik adlı ve (1) sayaçlı dosyalardır. En basit çözüm, bu yan dosyaları kısa bir betikle beklenen tam ada yeniden adlandırmak ve exiftool'u yeniden çalıştırmaktır. GPS ve videolarla birlikte tam anlatım JSON meta verilerini fotoğraflara yazma ve exiftool rehberi yazılarında.
Ücretsiz bir topluluk aracı olan GooglePhotosTakeoutHelper bu eşleştirmeyi içinde barındırır ve terminal kullanmaktan çekinmiyorsanız olağan seçimdir. Sürümleri bazen Google'ın değişikliklerinin gerisinde kalır; bir çalıştırma dosya atlıyorsa sorun kayıtlarına bakın.
Uygulama
Takeout JSON Metadata Fixer tüm bu durumları hiçbir ayar yapmadan macOS, Windows ve Linux'ta çözer.
Her fotoğraf için 2024 adını, eski adı, taşınmış (1) sayacını ve son olarak adı beklenen tam adın başı olan klasördeki herhangi bir .json dosyasını dener. Düzenlenmiş kopyalar orijinalin yan dosyasını ödünç alır. Sonra tarihi ve GPS'i dosyaya yazar. Kaç fotoğrafın bir yan dosyayla eşleştiğini ve kaçının EXIF'e ya da dosya tarihine döndüğünü bildirir; böylece bir şey silmeden önce eşleştirmenin işe yarayıp yaramadığını görürsünüz. Deneme çalıştırması, hiçbir şey yazmadan planı gösterir. İlk 1000 fotoğraf ücretsizdir.
Sık sorulan sorular
supplemental-metadata.json'un içeriği eski .json'dan farklı mı?
Hayır. Alanlar aynıdır: title, photoTakenTime, creationTime, geoData, geoDataExif vb. Yalnızca dosya adı değişti.
Fotoğrafımın hiç yan dosyası yok. Neden?
Live Photo klipleri genellikle yan dosyasızdır. Bazı çok eski yüklemelerde de yoktur. Ayrıca yan dosyanın adı kesikse ya da sayacı taşınmışsa, aracınız dosya oradayken onu eksik diye bildirebilir. Klasöre kendiniz bakın. Bazı fotoğrafların neden JSON dosyası yok (İngilizce) olağan durumları listeler.
Bu dosya virüs ya da casus yazılım mı?
Hayır. Google'ın kendi dışa aktarmanıza yazdığı düz bir metin dosyasıdır. Program kodu içermez.
Yan dosyaları eski biçime geri adlandırabilir miyim?
Evet, bu eski betikleri yeniden çalışır hâle getirir. .supplemental-metadata kısmını çıkaran ve (1)'i adın fotoğraf kısmına geri taşıyan bir yeniden adlandırma yeterlidir. Önce bir kopya üzerinde deneyin.
Google adı yeniden değiştirir mi?
Olabilir. Her araç için güvenli yol, tam bir eke göre değil, adın başına ve title alanına göre eşleştirmektir.