Google has a new service called Google Photos. You can choose between High quality (free unlimited storage) and Original (xx GB storage left).
I tested it with .jpg
and .png
files. When you choose High quality .jpg
files are always been edited by Google. No matter which file size or image size.
$ sha1sum -b IMG_1428_800_original.jpg IMG_1428_800_google.jpg
191b0b1b442778a3d3bb1ac2a84fddf1f73dda67 *IMG_1428_800_original.jpg
3e598acaf0159bfdceee9efe81a6b3e756462213 *IMG_1428_800_google.jpg
On the High quality option the help page says:
Size: Save high-quality photos and videos while reducing size.
So Google is reducing the quality of the original image. But you get the exact file when you use a PNG file.
When choosing the Original option the image sizes are subtracted from your GDrive’s free space. The images are original.
$ sha1sum -b IMG_1428_800_original.jpg IMG_1428_800_google.jpg
191b0b1b442778a3d3bb1ac2a84fddf1f73dda67 *IMG_1428_800_original.jpg
191b0b1b442778a3d3bb1ac2a84fddf1f73dda67 *IMG_1428_800_google.jpg
Anyway, we don’t know if Google let the files untouched forever. Maybe they alter the files in one year; or two years; or in five or ten years. So getting the untouched original file with the exact same SHA1 hash is not guaranteed.
The Goal
My goal was to create a Ruby script which converts any file to a valid .png
file for uploading it to Google Photos. Maybe you do not want only image files backed up to Google Photos but also other formats such as .mp3
. Or maybe you want to encrypt your images with GPG before uploading them to Google Photos.