你是否遇到过这样的问题:从 iPhone 导出的实况照片(Live Photo),在安卓手机或 Google Photos 里只能看到静态图,动态部分“消失”了?

MotionPhoto2 正是为解决这一跨平台兼容性问题而生。这是一个轻量级开源脚本,可将一张 HEIC/JPG 图片 与一段 MP4/MOV 视频 合成为标准的 Motion Photo v2/v3 格式,生成的文件在 Google Photos 和 三星相册 中均可被正确识别为动态照片。
为什么需要它?
- iPhone 的实况照片由
.HEIC+.MOV组成,但安卓生态不认这种组合。 - 三星、Google Pixel 等设备使用 Motion Photo 格式(内部标记为
mpv2/mpv3),将视频嵌入图像文件的元数据中。 - MotionPhoto2 模仿 Galaxy S23 Ultra 和 Tab S9 的生成逻辑,确保输出文件完全兼容主流安卓相册应用。
更贴心的是:如果源文件来自 iPhone 实况照片,脚本会迁移原始的呈现时间戳(PTS),确保动态部分从正确的关键帧开始播放,体验无缝衔接。
如何使用?
🖥️ 图形界面(新手推荐)
直接运行脚本(无参数),会弹出带说明的图形界面,按提示操作即可。
💻 命令行(高效批量处理)
- 单个文件合成
motionphoto2 --input-image IMG_1234.HEIC --input-video IMG_1234.MOV - 批量处理文件夹(按文件名匹配)
motionphoto2 --input-directory /your/photos - 智能匹配(推荐用于 iCloud/Google Takeout 导出)
有些实况照片导出后,视频文件名会变成IMG_1234(2).MOV,无法靠文件名配对。此时使用--exif-match,脚本会通过 EXIF 元数据 精准关联图片与视频:motionphoto2 --input-directory /your/photos --exif-match
🔧 实用参数(按需添加)
--output-directory:指定输出路径--recursive:递归处理子文件夹--incremental-mode:跳过已合成的文件,适合增量更新--delete-video:合成后自动删除源视频(谨慎使用)--copy-unmuxed:保留未匹配的文件(如纯视频或纯图)
输出文件默认命名为 原文件名.LIVE.HEIC(或 .JPG),可被安卓系统直接识别。
注意:关于 HDR 的限制
目前 Google Photos 仅对符合 ISO/IEC 21496-1 标准的 HEIC HDR 照片 显示 HDR 效果,这基本等同于 iPhone 15+ 拍摄 + iOS 18+ 保存 的照片。
如果你的 HEIC 含有 Apple HDR 数据但不符合上述条件:
- 在 Google Photos 网页或安卓端会显示为“非 HDR”
- 但存回 iPhone 相册后,HDR 仍正常显示(因 iPhone 读取的是 Apple 原生元数据)
原因在于:Google Photos 一旦检测到 Motion Photo 的 GCamera XMP 标签,就不再解析 Apple HDR 元数据。
开发者表示,未来可能支持 JPG 的 HDR 元数据转换,HEIF HDR 转换因技术复杂度高,暂未列入计划。
谁适合用?
- iPhone 用户:想把实况照片分享给安卓朋友,保留动态效果
- 摄影爱好者:整理跨设备照片库,统一为 Motion Photo 格式
- 数据迁移者:从 iCloud/Google Takeout 批量导出后,修复动态照片关联
- 技术用户:需要自动化脚本集成到备份或归档流程中











评论