docs: 添加项目 README
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
127
README.md
Normal file
127
README.md
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
# Live Photo Studio
|
||||||
|
|
||||||
|
> 将任意视频转换为 iOS Live Photo,支持锁屏动态壁纸
|
||||||
|
|
||||||
|
[](https://developer.apple.com/ios/)
|
||||||
|
[](https://swift.org/)
|
||||||
|
[](LICENSE)
|
||||||
|
|
||||||
|
## ✨ 功能特性
|
||||||
|
|
||||||
|
- 📹 **视频转 Live Photo** — 导入相册视频,一键生成系统可识别的 Live Photo
|
||||||
|
- ✂️ **精准裁剪** — 时长裁剪(1~1.5s)+ 多比例模板(锁屏/全面屏/4:3/1:1)
|
||||||
|
- 🎨 **AI 超分辨率** — 集成 Real-ESRGAN,智能提升画面清晰度
|
||||||
|
- 🖼️ **封面帧选择** — 滑杆精选最佳静态封面
|
||||||
|
- 📱 **壁纸引导** — 系统版本适配的设置步骤引导
|
||||||
|
|
||||||
|
## 📱 系统要求
|
||||||
|
|
||||||
|
- iOS / iPadOS 18.0+
|
||||||
|
- Xcode 16.0+
|
||||||
|
- Swift 6.0
|
||||||
|
|
||||||
|
## 🚀 快速开始
|
||||||
|
|
||||||
|
### 克隆项目
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/yourusername/to-live-photo.git
|
||||||
|
cd to-live-photo
|
||||||
|
```
|
||||||
|
|
||||||
|
### 构建运行
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 模拟器构建
|
||||||
|
xcodebuild -scheme to-live-photo \
|
||||||
|
-destination 'platform=iOS Simulator,name=iPhone 16 Pro' \
|
||||||
|
build
|
||||||
|
|
||||||
|
# 真机 Archive
|
||||||
|
xcodebuild -scheme to-live-photo \
|
||||||
|
-configuration Release \
|
||||||
|
-destination 'generic/platform=iOS' \
|
||||||
|
-archivePath build/to-live-photo.xcarchive \
|
||||||
|
archive
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🏗️ 项目结构
|
||||||
|
|
||||||
|
```
|
||||||
|
to-live-photo/
|
||||||
|
├── Sources/LivePhotoCore/ # Swift Package - 核心库
|
||||||
|
│ ├── LivePhotoCore.swift # 生成管线、数据模型
|
||||||
|
│ ├── AIEnhancer/ # Real-ESRGAN 超分辨率
|
||||||
|
│ └── Resources/ # metadata.mov, ML 模型
|
||||||
|
├── to-live-photo/ # iOS App
|
||||||
|
│ ├── Views/ # SwiftUI 视图
|
||||||
|
│ │ ├── HomeView.swift # 首页导入
|
||||||
|
│ │ ├── EditorView.swift # 编辑裁剪
|
||||||
|
│ │ ├── ProcessingView.swift # 处理进度
|
||||||
|
│ │ ├── ResultView.swift # 保存结果
|
||||||
|
│ │ └── WallpaperGuideView.swift # 壁纸引导
|
||||||
|
│ ├── AppState.swift # 全局状态管理
|
||||||
|
│ └── DesignSystem.swift # Soft UI 设计令牌
|
||||||
|
└── docs/ # 文档
|
||||||
|
├── USER_GUIDE.md # 用户手册
|
||||||
|
├── TEST_MATRIX.md # 测试矩阵
|
||||||
|
└── APP_STORE_METADATA.md # 上架信息
|
||||||
|
```
|
||||||
|
|
||||||
|
## 🔧 技术架构
|
||||||
|
|
||||||
|
### 生成管线
|
||||||
|
|
||||||
|
```
|
||||||
|
normalize → extractKeyFrame → aiEnhance → writePhotoMetadata → writeVideoMetadata → saveToAlbum → validate
|
||||||
|
```
|
||||||
|
|
||||||
|
### 核心参数
|
||||||
|
|
||||||
|
| 参数 | 默认值 | 说明 |
|
||||||
|
|-----|-------|-----|
|
||||||
|
| 时长 | 0.917s | 与 iPhone 原生 Live Photo 一致 |
|
||||||
|
| 分辨率 | 1080×1920 | 竖屏最大,可配置兼容模式降至 720p |
|
||||||
|
| 帧率 | 60fps | 兼容模式可降至 30fps |
|
||||||
|
| 编码 | H.264 | 兜底策略确保兼容性 |
|
||||||
|
| HDR | 转 SDR | 壁纸场景更稳定 |
|
||||||
|
|
||||||
|
### AI 超分辨率
|
||||||
|
|
||||||
|
- 模型:Real-ESRGAN x4plus(Core ML,64MB)
|
||||||
|
- 处理:512×512 分块 + 64px 重叠 + 线性混合
|
||||||
|
- 放大:约 2.25x(输入 512→输出 2048)
|
||||||
|
|
||||||
|
## 📋 开发规范
|
||||||
|
|
||||||
|
### Git 提交类型
|
||||||
|
|
||||||
|
- `feat`: 新功能
|
||||||
|
- `fix`: 修复缺陷
|
||||||
|
- `refactor`: 重构(行为不变)
|
||||||
|
- `chore`: 构建、依赖、工具
|
||||||
|
- `docs`: 仅文档
|
||||||
|
|
||||||
|
### 代码规范
|
||||||
|
|
||||||
|
- 遵循 `DesignSystem.swift` 令牌,禁止硬编码颜色/间距
|
||||||
|
- 新增 View 必须包含 `accessibilityLabel`
|
||||||
|
- 新增 View 必须适配深色模式和 iPad
|
||||||
|
- 触控目标 ≥ 44pt
|
||||||
|
|
||||||
|
## 📄 文档
|
||||||
|
|
||||||
|
| 文档 | 说明 |
|
||||||
|
|-----|-----|
|
||||||
|
| [CLAUDE.md](CLAUDE.md) | AI 助手指令(宪法文档) |
|
||||||
|
| [TASK.md](TASK.md) | 里程碑与任务追踪 |
|
||||||
|
| [docs/USER_GUIDE.md](docs/USER_GUIDE.md) | 用户使用手册 |
|
||||||
|
| [docs/TEST_MATRIX.md](docs/TEST_MATRIX.md) | 测试用例矩阵 |
|
||||||
|
|
||||||
|
## 📜 许可证
|
||||||
|
|
||||||
|
MIT License - 详见 [LICENSE](LICENSE)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<p align="center">Made with ❤️ for iOS Live Photos</p>
|
||||||
Reference in New Issue
Block a user