Google Photos Metadata for Personal Photo Album

Started by Antigoon, October 18, 2022, 08:15:15 PM

Previous topic - Next topic

Antigoon

I'm about to re-upload all my photos to Google Photos and want to set the metatada in as optimal way as possible so that the files can be easily searched in google photos. Any and all tips would be appreciated.

(I've read other forum posts fairly extensively before asking this question.)

I maintain my "master copy" of my photo album on my local hard drive. Google Photos would be the "current pretty way to view photos" which might change in the future. This is just a family photo album. No public access, for use just by my family and occasionally sharing with friends and extended family.

Current Structure
  • Keywords - I've added IPTC:Keywords relatively extensively.
  • (I don't personally use the XMP:Description field when manually tagging.)
  • GPS - Newer photos are iPhone GPS tagged. Older photos I've tried to go back and tag with GeoSetter
  • Faces are tagged via ACDSee and previously Picasa.
  • Directory and filenames names are meaningful (basically an album per directory, filenames try to be descriptive)

My thoughts are this:
  • Keywords - Rewrite this into XMP:Description, the only "freeform data" field that Google Photos seems to use. More on this below.
  • "
  • GPS - Can I just leave this alone? Will Google Photos do what I want?
  • Faces - Google is so good at this, I'm not going to worry copying face data over. I did try to prototype this, but I could not figure out how to extract multiple RegionName values and assign them to another tag in a command line like below.
  • I think Google indexes filenames so that's not an issue. I'm going to sync directory names over as albums so again I don't think I need to add these to metadata (XMP:Description) either.

Based on the above, I was therefore thinking of doing something like this. (After all that thinking, it seems like what's required is quite simple.)

exiftool -m -P -r -overwrite_original -tagsFromFile @ '-Description<Keywords' .

I could do this to preserve any Descriptions that are already there, but it would not be re-runnable, which scares me.
exiftool -m -P −r −overwrite_original -TagsFromFile @ '-Description<$Keywords $Description' .


Does that look reasonable? Any other suggestions/comments?
Thanks,
Stephen


karlmchorton

Hi Stephen,

I'm new to this forum and not quite ready to give any useful info yet, but I am preparing to do exactly the same job as you. I have 150,000 images and videos of 20 years of family growing up, and despite Google's pathological reluctance to release any information about how things work inside, I want to re-upload the corpus there, because it is so good for the consumers (my family).

Have you tested your tag suggestions yet?

My starting point here was to use Stargeek's test image called Metadatatestfile.jpg and I'm currently unable to populate the main description field at all.

What I saw in the info pane when I uploaded the test jpg was that the GPS data worked, the "Other" field was set to "XMP-tiff:ImageDescription" and the creation date worked ok.

Sadly, the main Description field was still blank: Google offering me the chance to hand edit it, which isn't what we're after here.

I will carry on experimenting and post back with results.

Karl

here's Stargeek's sample data post

https://exiftool.org/forum/index.php?topic=9212.0

If it moves, tag it with  metadata

palijn

Hi,
just a word of caution : I'm right into the opposite process, i.e. migrate all my Photos out of Google.
The easiest (if not only) option is to use Google Takeout, which I dutifully did.
And then discovered that what you give to Google Photos is NOT what it will give you back.
Specifically, some EXIF tags are modified in the photo file itself. Guess what ? The actual date at which the photo was taken is bogus . It varies from correct to seemingly random to the date at which the Takeout was effected.
(Un)helpfully, a JSON file was generated along each photo, which contains some bogus data such as geolocation all set to 0 (although geo is correctly set in the EXIF), AND the interesting photoTakenTime with the original value.

If you want to share your photos as a copy of your master files, Google Photos might be a good way (though there are others which may actually be better?). But really, I strongly advise agains believing that your data is safe there. (Yes, I have always uploaded original contents, and no, the pictures have never been edited there.)
HTH
Thierry

wywh

Quote from: karlmchorton on November 24, 2022, 02:22:57 PMmain Description field was still blank: Google offering me the chance to hand edit it, which isn't what we're after here.

At around January 2022 for some strange reason Google Photos moved its old Description info-field lower and labeled it "Other". It seems it is not possible to edit that "Other" field unless the edited .jpg is re-imported.

But as before, Google Photos grabs that text from either 'XMP-dc:Description' or 'IPTC:Caption-Abstract' when importing .jpg. It seems to prefer 'XMP-dc:Description' if they differ but I always make them same anyway.

https://exiftool.org/forum/index.php?topic=10161.msg74918#msg74918

https://support.google.com/photos/thread/143046752?hl=en&msgid=145433598

StarGeek

Quote from: palijn on December 27, 2022, 11:35:46 PMAnd then discovered that what you give to Google Photos is NOT what it will give you back.

The files that you download are absolutely the files you uploaded without any change to the embedded metadata.  Unless you have edited the data on the Google Photos website, you do not have to copy the json data back into the files.  I have tested this over and over ad nauseam.  I even did so yet again just now using my test file which has over 1,400 different embedded tags. Here is a difference between the original image and the google takout image.  As you can see, not one tag of the 1,400 embedded tags has changed.  Only the local file system tags have changed.

To repeat, there is no change in the metadata between the uploaded file and the original.  I even checked the files with dupeguru and the files were binarily identical.

You do lose the file system time stamps and similar data because Google photos isn't a local file system and you don't have access to the server's file system..  So things like FileModifyDate and FileCreateDate are lost.  On Windows, these show up under the Properties window like this.


But this isn't data you should be depending upon.  For images, you should be looking at the "Date Taken"


If you really need the file system time stamps to be the same, you can always copy the data from the embedded time stamps, such as the DateTimeOriginal.

If you can share a file which you uploaded and did a takeout where the non-filesystem data changed, before and after, so that I can double check it, it would be appreciated.
* Did you read FAQ #3 and use the command listed there?
* Please use the Code button for exiftool code/output.
 
* Please include your OS, Exiftool version, and type of file you're processing (MP4, JPG, etc).

StarGeek

Quote from: wywh on December 28, 2022, 07:02:54 AMBut as before, Google Photos grabs that text from either 'XMP-dc:Description' or 'IPTC:Caption-Abstract' when importing .jpg. It seems to prefer 'XMP-dc:Description' if they differ but I always make them same anyway.

I believe this isn't necessarily preferring one tag over the other, but instead more a Last in, first out (LIFO) situation or maybe the FIFO, depending upon the order exiftool has written the tags.  I haven't really tested it.

*sigh*  Just did a quick test with my test image and the -v (-verbose) option.  Google photos displayed the data from XMP-tiff:ImageDescription.  Looking through the -v3 output, this appears on line 914.  Caption-Abstract appears on 630, so at first it looks like LIFO.

But XMP-dc:Description appears on line 1184.  So it is the last tag that Google will read, but it isn't used.  So it's like last group in, first group out, first tag in, first tag out.
* Did you read FAQ #3 and use the command listed there?
* Please use the Code button for exiftool code/output.
 
* Please include your OS, Exiftool version, and type of file you're processing (MP4, JPG, etc).