Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Live 工坊 App 图标

Live 工坊

把喜欢的视频片段,变成会呼吸的 Live Photo。

Turn video moments into beautiful Live Photos.

iOS 17+ Swift 5.0 SwiftUI

零第三方依赖 GitHub Stars MIT License

功能亮点 · 界面预览 · 开发视频 · 快速开始 · 隐私


Live 工坊 是一款面向 iPhone 的视频转 Live Photo 工具。选择一段视频,调整片段、封面、画幅与播放效果,即可导出为系统照片 App 能够识别和播放的 Live Photo。

它完全使用 Apple 原生框架构建,无需账号、没有云端上传,视频处理都在设备本地完成。

选择视频 → 调整效果 → 选择封面 → 导出 Live Photo

✨ 功能亮点

能力 说明
🎞️ 真正的 Live Photo 生成配对的 JPEG 与 MOV,并写入系统 Live Photo 所需元数据,不是 GIF 或普通视频。
🖼️ 灵活画幅 支持原始、1:13:49:1616:9 五种画幅;裁剪时可直接拖动画面取景。
✂️ 片段与封面 在时间轴中选择视频片段,并通过独立指针精确指定 Live Photo 封面帧。
🎛️ 丰富参数 支持 1–3 秒的成片时长、0.5x–4x 播放速度、音频开关,以及 iPhone 设备水印或无水印。
🌈 HDR 兼容处理 对系统可解码的 HDR 素材采用统一的 Core Image / BT.709 SDR 预览与导出管线,改善过曝与显示兼容性。
🕘 最近项目 在本地保存并展示最近导出的缩略图、时长与画幅信息。
🔒 隐私优先 使用系统照片选择器,全程本地处理;仅在导出时申请向照片图库添加内容的权限。

📱 界面预览

Note

以下图片为 SPEC.md 中的高保真设计稿,用于展示产品的视觉方向,并非实机截图。

首页 Live Photo 工作台
Live 工坊首页设计预览 Live 工坊工作台设计预览

📺 从设计到实现

0 基础从设计到实现!image2 + Codex 做出视频转 Live Photo App

51 分钟零基础完整实战:认识 Live Photo、梳理需求与竞品、使用 imagegen 生成设计稿,
再从 Xcode 工程、AGENTS.mdSPEC.md 出发,用 Codex 完成 SwiftUI App。

🚀 快速开始

环境要求

  • macOS;建议使用 Xcode 26.5 或更高版本(当前工程的创建环境)
  • iPhone 模拟器,或运行 iOS 17.0+ 的 iPhone
  • 无需安装第三方依赖,也无需配置 API Key

运行项目

git clone https://github.com/XunMengWinter/Video2Live-iOS.git
cd Video2Live-iOS
open LivePhotoer5.xcodeproj

在 Xcode 中选择 LivePhotoer5 Scheme 与一个 iPhone 运行目标,然后点击 Run

Tip

如果要在真机运行,请在 Signing & Capabilities 中选择自己的 Development Team;必要时将 Bundle Identifier 改为唯一值。

首次使用时,选择一段至少 1 秒的视频。App 只会在导出时请求向照片图库添加 Live Photo 的权限。

🧰 技术栈

技术 用途
SwiftUI 界面、导航与编辑交互
AVFoundation 视频读取、时间轴、合成与导出
Core Image HDR 素材到 BT.709 SDR 的统一图像处理
PhotosUI / PhotoKit 系统视频选择器与 Live Photo 保存
ImageIO / AVAssetWriter 配对照片、视频及 Live Photo 元数据写入
XCTest 编辑参数、裁剪布局与最近项目持久化测试

全部能力均基于 Apple 原生框架实现,项目不包含第三方依赖。

🗂️ 项目结构

LivePhotoer5/
├── LivePhotoer5/
│   ├── Models/          # 编辑参数与最近项目模型
│   ├── Services/        # 视频导入、合成与 Live Photo 导出
│   ├── ViewModels/      # 编辑状态和播放控制
│   ├── Views/           # 首页、工作台、时间轴与播放器
│   ├── Resources/       # App 内置媒体资源
│   └── Assets.xcassets/ # 图标与颜色资源
├── LivePhotoer5Tests/   # 单元测试
├── logs/                # 开发记录
└── SPEC.md              # 产品需求与验收标准

🔐 隐私说明

  • 视频通过系统 PhotosPicker 选择,App 无需读取整个照片图库。
  • 所有预览、裁剪、转码与导出都在本机完成,不需要登录,也不会上传视频。
  • 仅在导出时申请 PhotoKit 的“仅添加”权限,用于把成品保存到照片图库。
  • 导出中间文件会在任务结束后清理;最近项目数据和缩略图保存在 App 本地。

🤝 参与贡献

欢迎提交 Issue、建议或 Pull Request。开始修改前,建议先阅读 SPEC.md,并保持实现简单、原生且符合 iOS 设计规范。

  1. Fork 本仓库并创建功能分支。
  2. 完成改动与必要测试。
  3. 提交 Pull Request,说明改动动机与验证结果。

如果这个项目对你有帮助,欢迎点亮一个 ⭐️。

👤 作者

📄 许可证

本项目基于 MIT License 开源。

Made with SwiftUI, imagegen & Codex.

About

视频转 Live 图

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages