开源项目:把本地视频转成 Live Photo 并导入 Apple Photos

前言

最近有点往骑行博主的方向发展,平时骑车会拍不少视频素材。问题是很多片段其实不值得专门剪成一条完整视频,但直接丢着又有点可惜,所以我就在想,能不能干脆把这些素材转成 Live Photo,这样不管是发小红书还是抖音,都会更轻一点。

我先搜了一圈,发现市面上这类转换工具基本都是移动端的。如果只是偶尔处理一下倒还好,但我更想要的是一个 mac 桌面端工具,能直接在电脑上批量处理、选封面、导入相册,不用来回倒腾手机。

于是就有了这个项目:LivePhotoMaker。

它可以把本地视频转换成系统可识别的 Live Photo,然后直接导入到 Apple Photos。更有意思的是,这个项目我几乎是全程用 AI 完成的,从动手到跑出一个能用的版本,前后大概只花了半小时。

它能做什么

LivePhotoMaker 目前已经支持下面这些能力:

  • 批量导入本地视频
  • 支持拖拽操作
  • 为每个视频单独指定封面图片
  • 从视频中选择某一帧作为封面
  • 自动生成 Live Photo 所需的 HEIC 和 MOV 配对资源
  • 写入 Apple Photos 识别所需的元数据
  • 直接导入系统「照片」App
  • 提供隐藏命令行入口,方便调试和单独转换

我做这个项目的时候,目标不是"导出一份能凑合用的结果",而是尽量把整条链路做完整,让导入后的效果更接近 iPhone 原生 Live Photo。

当前界面大概是这样:

使用

整个使用流程比较直接:

  1. 打开 LivePhotoMaker.app
  2. 将一个或多个视频拖进导入队列,或者点击按钮选择视频
  3. 如果需要,可以给每个视频单独设置封面图
  4. 也可以直接从视频里选一帧作为封面
  5. 点击创建
  6. 首次使用时,允许 App 访问「照片」图库
  7. 完成后在系统「照片」App 中查看结果

我自己比较常用的场景,是把一些生活记录、旅行片段或者随手拍的小视频整理进相册。相比单独保存成普通视频,Live Photo 在图库里浏览起来会自然很多。

运行要求

目前项目面向 macOS 14 及以上版本,首次导入时需要允许 App 访问「照片」图库。构建方面依赖 Xcode 或 Command Line Tools,仓库中也放了构建脚本和 GitHub Actions 工作流,方便本地打包和自动发布。

需要说明的是,当前版本还没有正式的 Apple Developer ID 签名和 notarization,所以第一次打开时,macOS 可能会弹出安全提示。这属于个人开源 macOS 项目里比较常见的情况,不影响项目本身的功能逻辑。

项目链接

项目地址:

github.com/Flywith24/L...

如果你手头也有一些视频,想把它们整理进 Apple Photos,并且希望最后的结果更像系统原生 Live Photo,可以试试看。

如果你对 Live Photo 的生成细节本身感兴趣,也欢迎直接看代码,或者提 issue、提 PR 一起交流。

关于我

如果感觉这篇文章对你有帮助,欢迎点个赞,这对我很重要。

我是 Flywith24,平时会分享一些 Android、效率工具、开源项目和日常折腾相关的内容,最近也在认真发展副业身份:骑行博主。

相关推荐
茶底世界之下11 小时前
斜光下的旧自行车:用 Awaking 留一版复古胶片色
ios·app·产品
方白羽5 天前
Android 双开环境底层剖析与风控检测落地
android·安全·app
xbzb6 天前
IP、掩码、网关、DNS 到底谁管什么?网络基础与七种设备一次讲清
网络·网关·mac·ip·dns·掩码
Bigger7 天前
开源了一个"先预览、能反悔"的文件整理工具,聊聊背后的工程细节
rust·开源·app
tech_zjf12 天前
下班后,我做了一个把照片贴进日历的 iPhone 应用:Daypatch
react native·app·产品
sbjdhjd13 天前
从 VLAN 到 MSTP 的交换网络入门
网络·计算机网络·mac·ip·stp·vlan·交换机
Web3&Basketball14 天前
Meta Muse 816B 实测:两台 Mac 本地跑通
macos·大模型·mac·本地部署·moe·显存优化·meta muse
Momo__15 天前
155个App把豆包关在门外,豆包反手掏出第二把钥匙
app·agent·ai编程
Keith Guo18 天前
Understanding the Layers of Wireless Chips: RF, Baseband, and MAC in ESP32-S31
mac·rf·baseband