mixvideo-v2/README.md

437 lines
11 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Aone Design AI设计创作平台
<div align="center">
![Aone Design Logo](https://img.shields.io/badge/Aone_Design-AI设计创作平台-blue?style=for-the-badge)
**构建全球领先的AI驱动设计创作生态平台让每个人都能轻松创作出专业级的设计内容**
[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
[![Version](https://img.shields.io/badge/version-0.1.25-blue.svg)](CHANGELOG.md)
[![Tauri](https://img.shields.io/badge/Tauri-2.0-orange.svg)](https://tauri.app/)
[![React](https://img.shields.io/badge/React-18.0-blue.svg)](https://reactjs.org/)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.0-blue.svg)](https://www.typescriptlang.org/)
</div>
## 🎯 产品愿景
### 愿景声明
**"构建全球领先的AI驱动设计创作生态平台让每个人都能轻松创作出专业级的设计内容"**
### 使命
通过AI技术和创作者生态降低视频创作门槛提升创作效率让优质内容创作变得触手可及同时为创作者提供可持续的收入来源。
## ✨ 核心特性
### 🤖 AI智能分析
- **智能视频分类**基于Gemini AI的视频内容自动分类
- **场景检测**:自动识别视频场景变化,智能分割片段
- **质量评估**AI评估视频质量提供优化建议
### 📁 项目管理
- **项目组织**:支持多项目管理,本地路径绑定
- **素材管理**:视频、音频、图片素材统一管理
- **版本控制**:素材版本追踪,支持回滚操作
### 🎬 模板系统
- **模板创建**:可视化模板编辑器
- **智能匹配**AI驱动的素材与模板自动匹配
- **批量处理**:一键应用模板到多个素材
### 👥 模特管理
- **模特档案**:完整的模特信息管理系统
- **照片管理**:支持多类型照片分类存储
- **关联匹配**:素材与模特自动关联
## 🚀 快速开始
### 环境要求
- **Node.js** >= 18.0.0
- **pnpm** >= 8.0.0
- **Rust** >= 1.70.0
- **Tauri CLI** >= 2.0.0
### 安装步骤
1. **克隆项目**
```bash
git clone https://gitee.com/meepo_vip/mixvideo.git
cd mixvideo
```
2. **安装依赖**
```bash
pnpm install
```
3. **启动开发环境**
```bash
pnpm tauri:dev
```
4. **构建生产版本**
```bash
pnpm tauri:build
```
## 🏗️ 技术架构
### 前端技术栈
- **框架**React 18 + TypeScript
- **状态管理**Zustand
- **UI组件**TailwindCSS + Lucide Icons
- **路由**React Router
- **构建工具**Vite
### 后端技术栈
- **框架**Tauri 2.0 (Rust)
- **数据库**SQLite
- **AI集成**Google Gemini API
- **文件处理**FFmpeg
### 项目结构
```
mixvideo/
├── apps/
│ └── desktop/ # Tauri桌面应用
│ ├── src/ # React前端代码
│ │ ├── components/ # UI组件
│ │ ├── pages/ # 页面组件
│ │ ├── store/ # 状态管理
│ │ ├── services/ # 业务服务
│ │ └── types/ # 类型定义
│ └── src-tauri/ # Rust后端代码
│ ├── src/
│ │ ├── business/ # 业务逻辑层
│ │ ├── data/ # 数据访问层
│ │ └── presentation/ # 表现层
│ └── Cargo.toml
├── packages/ # 共享包
├── docs/ # 文档
└── promptx/ # 开发规范
```
## 📖 功能详解
### 🎥 视频处理流程
1. **素材导入**
- 支持批量导入视频、音频、图片
- 自动提取元数据信息
- 生成缩略图预览
2. **智能分析**
- AI场景检测和分割
- 内容分类和标签
- 质量评估和优化建议
3. **模板匹配**
- 基于AI的智能素材匹配
- 支持自定义匹配规则
- 批量处理和预览
4. **输出导出**
- 多格式输出支持
- 自定义参数配置
- 批量导出处理
### 🔧 AI分类设置
- **分类管理**创建和管理AI分类类别
- **提示词配置**自定义AI分类提示词
- **实时预览**:提示词效果实时预览
- **批量分类**一键对项目素材进行AI分类
### 📊 数据统计
- **项目概览**:素材数量、分类统计
- **使用情况**:素材使用率分析
- **性能监控**AI分类任务进度
- **质量报告**:内容质量评估报告
## 🛠️ 开发指南
### 代码规范
本项目遵循严格的开发规范,详见 `promptx/` 目录:
- **Tauri开发规范**`promptx/tauri-desktop-app-expert/`
- **前端开发规范**`promptx/frontend-developer/`
- **UI/UX设计规范**:遵循现代化设计原则
### 开发流程
1. **创建功能分支**
```bash
git checkout -b feature/your-feature-name
```
2. **开发和测试**
```bash
pnpm tauri:dev # 开发模式
pnpm test # 运行测试
```
3. **提交代码**
```bash
git add .
git commit -m "feat: 添加新功能描述"
```
4. **合并到主分支**
```bash
git checkout master
git merge feature/your-feature-name
git push origin master
```
### 测试策略
- **单元测试**:核心业务逻辑测试
- **集成测试**API和数据库集成测试
- **E2E测试**:用户界面端到端测试
- **性能测试**AI处理性能基准测试
## 🔌 API集成
### Gemini AI集成
```typescript
// AI视频分类示例
const classifyVideo = async (videoPath: string) => {
const result = await invoke('start_video_classification', {
request: {
material_id: materialId,
project_id: projectId,
overwrite_existing: false
}
});
return result;
};
```
### 数据库操作
```rust
// Rust后端数据库操作示例
pub async fn create_material(
repository: &MaterialRepository,
request: CreateMaterialRequest,
) -> Result<Material> {
let material = Material::new(request);
repository.create(&material).await
}
```
## 📱 功能截图
### 主界面
- 项目管理界面
- 素材导入和管理
- AI分类设置
### 核心功能
- 智能视频分析
- 模板匹配系统
- 批量处理工具
## 🤝 贡献指南
我们欢迎所有形式的贡献!
### 如何贡献
1. **Fork 项目**
2. **创建功能分支** (`git checkout -b feature/AmazingFeature`)
3. **提交更改** (`git commit -m 'Add some AmazingFeature'`)
4. **推送到分支** (`git push origin feature/AmazingFeature`)
5. **创建 Pull Request**
### 贡献类型
- 🐛 **Bug修复**:修复已知问题
-**新功能**:添加新的功能特性
- 📚 **文档**:改进文档和示例
- 🎨 **UI/UX**:界面和用户体验优化
-**性能**:性能优化和改进
- 🧪 **测试**:添加或改进测试用例
## 📋 更新日志
### v0.1.25 (最新)
- ✨ 添加项目详情页面筛选功能
- 🐛 修复无限请求后台数据问题
- 🎨 优化模特名称显示
- ⚡ 提升UI响应性能
### v0.1.24
- ✨ 实现AI分类设置管理
- 🔧 优化视频分类流程
- 📊 添加分类统计功能
查看完整更新日志:[CHANGELOG.md](CHANGELOG.md)
## 🔗 相关链接
- **项目主页**[MixVideo官网](https://mixvideo.ai)
- **文档中心**[开发文档](https://docs.mixvideo.ai)
- **API文档**[API参考](https://api.mixvideo.ai)
- **社区论坛**[讨论区](https://community.mixvideo.ai)
## 📞 联系我们
- **邮箱**contact@mixvideo.ai
- **微信群**:扫码加入开发者群
- **QQ群**123456789
- **GitHub Issues**[问题反馈](https://github.com/mixvideo/mixvideo/issues)
## 📄 许可证
本项目采用 [MIT 许可证](LICENSE) - 查看 LICENSE 文件了解详情。
## 🙏 致谢
感谢以下开源项目和技术:
- [Tauri](https://tauri.app/) - 跨平台桌面应用框架
- [React](https://reactjs.org/) - 用户界面库
- [Rust](https://www.rust-lang.org/) - 系统编程语言
- [SQLite](https://www.sqlite.org/) - 嵌入式数据库
- [FFmpeg](https://ffmpeg.org/) - 多媒体处理库
- [Google Gemini](https://ai.google.dev/) - AI分析服务
---
<div align="center">
**⭐ 如果这个项目对你有帮助,请给我们一个星标!**
Made with ❤️ by MixVideo Team
</div>
### 1.3 核心价值主张
- **创作者价值**提供AI工具和模板资源大幅提升创作效率和内容质量
- **消费者价值**:获得个性化、高质量的视频内容和服务
- **平台价值**:构建可持续的创作者经济生态系统
🎬 **MixVideo** - 基于 Tauri 构建的跨平台多媒体处理桌面应用
## ✨ 特性
- 🚀 **跨平台**: 支持 Windows、macOS、Linux
-**高性能**: 基于 Rust + Tauri 2.0 构建
- 🎨 **现代界面**: React + TypeScript + Vite
- 🔧 **可扩展**: 支持多语言微服务架构
- 📦 **多包管理**: PNPM Workspace + Cargo Workspace
## 🏗️ 项目结构
```
mixvideo/
├── apps/
│ └── desktop/ # Tauri 桌面应用
├── packages/
│ ├── services/ # 微服务 (Python, Rust)
│ └── shared/ # 共享代码和协议
├── tools/ # 开发工具
└── docs/ # 文档
```
## 🚀 快速开始
### 环境要求
- **Node.js** 18+
- **Rust** 1.70+
- **PNPM** 8+
### 安装依赖
```bash
pnpm install
```
### 开发模式
```bash
# 启动桌面应用开发模式
pnpm tauri:dev
# 或者直接在 apps/desktop 目录下
cd apps/desktop
pnpm dev
```
### 构建应用
```bash
# 构建生产版本
pnpm tauri:build
# 或者在 apps/desktop 目录下
cd apps/desktop
pnpm tauri build
```
## 📦 发布
### 手动发布
1. 构建应用: `pnpm tauri:build`
2. 安装包位置: `target/release/bundle/`
- Windows: `.msi``.exe` 安装包
- macOS: `.dmg``.app`
- Linux: `.deb`, `.rpm``.AppImage`
### 自动发布 (GitHub Actions)
1. 创建新的 Git 标签:
```bash
git tag v0.1.0
git push origin v0.1.0
```
2. GitHub Actions 将自动构建并创建 Release
## 🛠️ 技术栈
### 桌面应用
- **前端**: React 18 + TypeScript + Vite
- **后端**: Rust + Tauri 2.0
- **状态管理**: 待定
- **UI 组件**: 待定
### 微服务 (计划中)
- **Python 服务**: FastAPI + gRPC
- **Rust 服务**: Tonic + gRPC
- **通信协议**: Protocol Buffers
## 📝 开发指南
### 推荐 IDE
- **VS Code** + 扩展:
- Tauri
- rust-analyzer
- ES7+ React/Redux/React-Native snippets
### 代码规范
- **Rust**: 使用 `cargo fmt``cargo clippy`
- **TypeScript**: 使用 ESLint + Prettier
- **Python**: 使用 Black + isort + flake8
## 🤝 贡献
欢迎提交 Issue 和 Pull Request
## 📄 许可证
MIT License - 详见 [LICENSE](LICENSE) 文件
## 👨‍💻 作者
**imeepos** - [GitHub](https://github.com/imeepos)