Using PhotoStructure's ability to extract Google Photos face tags to convert them into portable metadata?

Hello,

I’m a new PhotoStructure user. I have a bunch of pictures and videos with a bunch of faces in my Google Photos, and I’d like to use PS to be able to sort through all of my pictures/videos by the people seen in them. I’d like to search and find people not only through PS’s ability to read the Google Takeout JSON data, but I’d also like to search and find them through digiKam and/or even File Explorer.

Is this possible? Is PS able to read and translate the Google Takeout JSON data into something that can be recognized by digiKam/File Explorer? If so, how may I do this? If not, what else may I do?

Thank you for reading this post.

Howdy @bruh , welcome to PhotoStructure!

Interesting–I hadn’t thought about this use case before!

This is what I’m currently pulling from the Takeout sidecars:

export type JsonSidecarTags = Pick<
  Tags,
  "Title" | "Description" | "GPSLatitude" | "GPSLongitude" | "GPSAltitude"
> & {
  /**
   * This is when the photo was uploaded to Google Photos:
   */
  creationTime?: Dated
  /**
   * This is the time the photo was last modified within Google Photos:
   */
  modificationTime?: Dated
  /**
   * This isn't remotely correct. I'm expecting 2019:01:08 17:28:44.740313
   * (local, UTC-10:00) but I get something like Jan 9, 2019, 3:14:38 AM UTC
   * (expecting 3:28:44 UTC)
   */
  photoTakenTime?: Dated
  imageViews?: number
  peopleNames?: string[]
  favorited?: boolean
  // https://forum.photostructure.com/t/handle-egregious-google-takeout-metadata-butchering/1029/2
  googlePhotosOrigin?: boolean
}

I also look for metadata.json files, which hold album metadata (like album title and album description). It turns out that album support in EXIF/IPTC metadata isn’t really a thing. There’s a single string attribute that Adobe added to XMP-album, but it’s not really a standard, and it doesn’t clearly support a given asset living in more than one album.

PhotoStructure handles albums as hierarchical tags, rooted from Albums. It seems that DigiKam “albums” correspond purely to the filesystem directory where the photo resides–so changing to a different “album” is done by physically moving the file into a different directory. (If I’m mistaken, please share!)

As far as faces, I’m doing a quick test with the new version of DigiKam to see where it’s putting detected faces. I don’t believe I can write metadata into files such that it integrates seamlessly into the DigiKam database. (Again, if anyone believes otherwise, please share!)

As far as I know, search on File Explorer on Windows and Files on Gnome don’t look at file-embedded metadata–only stat fields, and “extended attributes”, in the case of NTFS and some linux filesystems. macOS Finder also supports searching extended file attributes. I’m hesitant to add support for extended file attributes given that those get wiped if a file ever gets backed up on an unsupported (like, non-APFS) volume.

Ohh alrighty. Thank you so much for the quick and detailed response! Have a good rest of your day :+1::+1: