Takeout JSON

HEIC 批量转 JPG,怎样保留拍摄日期和位置?

iPhone 的 HEIC 照片怎样批量转成 JPG 而不丢日期、GPS 和方向。Mac、Windows、Linux 上的手动方法,以及一次做完的工具。

你的 iPhone 拍的是 HEIC。电视、照片冲印店的自助机、公司的电脑、家里长辈的 Windows 机器,还有一半的网站,都打不开它。转换本身很容易。转完不丢日期和位置,才是人们做错的地方。

HEIC 是什么

HEIC 是苹果对用 HEVC(和 4K 视频同一种编码)压缩的 HEIF 图片的叫法。同等画质下它用的空间大约是 JPEG 的一半。苹果从 2017 年起把它设为默认。三星和一些其他 Android 手机也能拍。

苹果之外的支持参差不齐。Windows 要从 Microsoft Store 装解码扩展才有完整支持。Linux 的看图软件有的能开有的不能。老相机、电视、电子相框和网页表单直接拒绝。JPEG 到哪都能开,这就是转换的全部理由。

差的转换会丢什么

三样东西,按发生频率排。

日期。有些转换工具写出一个完全没有 EXIF 的新 JPEG。照片现在只剩文件时间,也就是转换那一刻。整个相册落到同一天。

位置。同一个原因。GPS 存在 EXIF 里。丢了 EXIF,就丢了地点。

方向。HEIC 把旋转存成图片的一个属性。忽略它的转换工具产出一张横躺的 JPEG。读了它但又把 EXIF 方向标签也复制过去的工具,产出一张有些看图软件会转两次的 JPEG。

在线转换网站还多一样损失:你的照片离开了你的电脑。带着 GPS 的家庭照片,这是真实的代价。

「足够无损」

HEIC 转 JPEG 永远不是真正无损的。HEVC 和 JPEG 是两种不同的压缩,像素得解码再重新编码。JPEG 质量 90 以上,任何屏幕、任何打印上都看不出差别。文件会变大,通常翻倍。这是换兼容性的代价。

空间允许的话保留 HEIC 原件。它们是更小、画质更高的版本。转出来的副本给那些需要 JPEG 的地方用。

手动转

macOS。 在访达里选中照片,右键,「快速操作」,「转换图像」,选 JPEG。它保留 EXIF,包括 GPS 和日期,方向也处理得对。「预览」的导出对单个文件一样。终端里用 sips

sips -s format jpeg photo.heic --out photo.jpg

Windows。 从 Microsoft Store 装「HEIF 图像扩展」和「HEVC 视频扩展」。然后「照片」应用能打开 HEIC 并「另存为」JPEG,但一次一张。批量的话,XnView MP 或装了插件包的 IrfanView 能转整个文件夹,勾上保留元数据的选项就保留 EXIF。

Linux。 libheif 的 heif-convert 在大多数软件源里都有:

for f in *.heic; do heif-convert -q 92 "$f" "${f%.heic}.jpg"; done

它会把 EXIF 带过去。ImageMagick 的 magick 在编译时包含 libheif 的情况下也能读 HEIC。

任何转换之后,用 exiftool photo.jpg 检查一个文件,确认 DateTimeOriginalGPSLatitude 都在。不在,说明工具把它们丢了。exiftool 可以从原件复制回来:

exiftool -tagsfromfile photo.heic -all:all photo.jpg

Takeout 的情况

Google 相册把 HEIC 存成 HEIC。一个 iPhone 相册的 Takeout 导出里全是 HEIC,而日期和 GPS 在 .json 附属文件里,不在文件里。不先读附属文件就把它们转成 JPEG,你得到的是双重没有日期的 JPEG。Takeout 专门的指南见 Takeout 的 HEIC 转 JPG 不丢日期

用软件

Takeout JSON Metadata Fixer 把 HEIC 转 JPG 作为整理运行的一部分,同时把日期和 GPS 写进 JPEG,不管它们来自 HEIC 自己的 EXIF 还是 Takeout 的附属文件。

打开「HEIC 转 JPG」。文件夹或导出里的每个 HEIC 都变成一个带着 DateTimeOriginal、GPS 和其余元数据的 JPEG。方向的处理方式是把像素转正、把标签设为正常,所以以后什么都不会横着显示。不是 HEIC 的文件原样通过。

Mac 上解码用苹果自己的框架。Windows 和 Linux 上软件自带 HEIC 解码器,不需要 Microsoft Store 的扩展或发行版的软件包。一切在你的机器上完成,不上传。

转换和其他功能结合:日期开头的文件名,年/月文件夹,直接导出到 U 盘。界面有简体中文。1000 张免费,无限制一次性 19.99 美元,Windows、Linux 和 Mac。

常见问题

转完该删 HEIC 吗?

有空间就别删。HEIC 是更好的原件。放在一个归档文件夹里,JPEG 用来分享和给需要它的设备。

转换会改变照片的日期吗?

不应该。好的转换工具复制 EXIF,JPEG 里的 DateTimeOriginal 和原来一样。文件的修改时间会是转换时间,这就是为什么文件内部的日期才是要紧的那个。见拍摄时间和文件修改时间的区别

实况照片怎么办?

实况照片是一个 HEIC 加一段短 MOV。把 HEIC 转成 JPEG,MOV 保持不动。两者保持同一个基本文件名,理解配对的软件仍然把它们当一个。见动态照片和实况照片说明

有质量设置吗?

大多数工具默认在 85 到 95 之间。低于 85 天空和皮肤可能出现瑕疵。高于 95 文件大很多,看不出收益。