老坑新踩:谷歌相册导出照片到本地

前言

趁着618入手了NAS和几块硬盘,想着把照片和视频存一份在NAS里面。日常的照片全都是通过pixel一代同步到谷歌相册中,总体积达460G+。在把这些照片备份下来的过程中一步一个坑😶‍🌫️,接下来我来好好挖挖这些槽点。

稳妥的操作

谷歌相册数据备份导出

几番摸索下来,在数据量比较大的情况下,推荐以下方法。

谷歌账号的数据可以在 https://takeout.google.com/ 导出,选择Google相册下一步

提供方式选择添加到Onedrive,文件的大小选择上限值50GB

但是

  1. Onedrive需为个人账号,校园账号和企业账号无法关联导出。我拼车了家庭版 Office365,OneDrive有1T空间;

  2. 且剩余空间要足够谷歌相册文件的总体积,否则最后会有部分压缩包无法导出。

BB:即使如此,我这导出的压缩包足足也有10个😭

关联Onedrive账号后,静待导出完成即可。

压缩包解压

从谷歌相册的Takeout页面导出,并且把所有压缩包同步到本地后,将所有压缩包解压,合并,得到一个takeout\google相册目录,里面的照片和视频以年份和自定义相册分类在不同的文件夹中。这些媒体文件已经“净身出户”,丢失了原有的exif信息,这些exif信息被存到了同名的.json文件中。下一步关键的操作就是把这些.json文件重新合并到媒体文件中。

写入exif信息

现在已经有不少现成工具可以批量把.json文件合并到媒体文件中,有免费的,有收费的,如

  1. 如何导出 Google Photos 的照片,评论区提到GooglePhotosTakeoutHelpergoogle-photos-exif
  2. https://stackoverflow.com/questions/65210140/how-to-merge-json-and-google-takeout-photos-to-get-the-right-dates-back
  3. https://stackoverflow.com/questions/42024255/bulk-join-json-with-jpg-from-google-takeout

对安装编程环境不熟悉的用户可以下载GooglePhotosTakeoutHelper编译好的可执行文件takeout-helper.exe,在命令行中输入

1
"E:\temp\takeout-helper.exe" -i "E:\temp\takeout\Google相册" -o "E:\temp\谷歌相册导出"

根据自己电脑的情况替换上面的路径,建议带上双引号"",防止路径中包含空格等特殊符号导致命令错误

  1. E:\temp\takeout-helper.exetakeout-helper.exe所在的路径
  2. E:\temp\takeout\Google相册:压缩包解压合并后得到的文件夹
  3. E:\temp\谷歌相册导出:处理完成后照片和视频的导出路径

GooglePhotosTakeoutHelpergoogle-photos-exif的命令行版本使用也比较简单,参考主页说明即可。

检查文件

如果你不确认是否所有的文件都顺利处理好,对比下源文件夹跟输出文件夹是否有文件重复就可以。类似的查找重复文件的软件很多,例如Duplicate Cleaner

踩坑操作

坑一:电子邮件下载链接

首先图中的Google云端硬盘和Dropbox免费空间都很小,付费版本价格较高,且访问需要梯。文件体积过大无法全部导出,并且拉回本地还需要消耗较多流量。 在国内,还是导出到OneDrive更适合,价格便宜更不需要梯。

选择通过电子邮件发送下载链接,谷歌会提供单独的压缩包下载链接(最后悔的尝试),要注意的问题如下:

  1. 梯流量要足够(花了近500G的流量下载,心痛);
  2. 压缩包下载卡99.9%进度,如鲠在喉,如果你有自信打破卡99.9%的诅咒,尽管尝试;
  3. 谷歌提供的压缩包下载链接只能访问7次(大概),如果你因为各种原因点击了7次还没下载完成,恭喜你,重新导出吧😡;
  4. 尽量选择文件上限50GB导出,减少压缩包的数量。初次尝试我选择了2GB,结果得到了118个压缩包下载链接,让人头皮发麻。

坑二:直接导出到Onedrive

当然,细心的你还会发现另一个导出选项

这居然是直接把照片导出到OneDrive(不是压缩包)。然而,这也是一个大坑

  1. 真的仅仅是导出照片,多么精准的描述,视频是无法通过这个途径导出的😊;
  2. 导出的照片放在OneDrive的图片文件夹。图片文件夹也是手机相册默认上传的位置,谷歌导出的图片会混在一起
  3. 导出的照片丢失exif信息,并且无附带.json文件,例如拍摄时间,地点等。(众所周知),谷歌Takeout页面导出的媒体文件原本的exif信息单独存放于同名的.json文件,然而直接导出到Onedrive的时候并不包含.json文件,这意味着你的照片无法以正确的时间序列展示,并且其它常用于分析归类照片的exif信息也全都无了。

坑三:本地磁盘空间不足

本地磁盘空间是很容易忽略的一点

  1. 从Onedrive把压缩包同步到本地,若本地缓存空间不足,同样会卡下载;
  2. 压缩包解压同上;
  3. 写入exif信息的时候,同样会自动把文件复制一遍到输出文件夹中,空间不足程序会中止。

谷歌相册还是很好用的,但有备无患,毕竟照片和视频记录了我人生中无数重要的时刻,怎么备份都不为过。