Manage local photo collection and synchronize it with Google Photos.
I started dabbling in this area around year 2000, when our daughter was born and I got my first digital camera :)
My take on extracting metadata from image files is in the (now archived) podval-imageio repository.
There, between 2003 and 2009, I worked on:
-
extracting image metadata from the image file
-
extracting thumbnails from the raw image file
-
demosaicing raw images
There were some good ideas there:
-
describing metadata structure in XML
-
push and pull parsing of the metadata
I contributed small discoveries I made in 2002 about Canon RAW format (crw) to David Burren.
In the end I realized: it does not make sense to do this myself
when there are groups of people who dedicate significant time
to developing and maintaining dedicated tools like
dcraw, metadata-extractor and ffmpeg :)
-
metadata-extractor (originally, https://drewnoakes.com/code/exif/) by Drew Noakes
-
Canon EXIF Maker Note by David Burren
-
dcraw by Dave Coffin
-
libraw
-
ffprobe
My previous attempt at code to synchronize local photo archive with the cloud photo services is in the (now archived) podval-photo-sync repository.
There, between 2009 and 2011, I worked on:
-
synchronizing with Zenfolio (which I no longer use)
-
synchronizing with Picasa and Google+ (which no longer exist)
-
expose locally recorded timestamp and image orientation to the cloud service
There were some good ideas there:
-
group files belonging to the same picture (raw, jpg, metadata)
-
use family polymorphism to abstract over cloud photo services
In the end, while chasing ever-changing cloud, I neglected the management of the local photo archive - something that this repository finally delivers.
Unfortunately, by now it is impossible to synchronize the local archive with Google photos: in 2024, Google removed the necessary APIs :(
-
list GPhotos pictures and albums
-
record skipped pictures in the local metadata
-
upload pictures
-
create event albums and add pictures to them