🔧 **Store Hooks 修复**: 1. **问题识别**: - useAIVideoJobs, useAIVideoProcessing, useAIVideoSettings 使用方式错误 - 缺少 useAIVideoStore 主 store 的导入 - 函数名不匹配:generateBatchVideos vs batchGenerateVideos 2. **修复内容**: - 添加 useAIVideoStore 导入 - 正确使用 selector hooks: * useAIVideoJobs() → 返回 jobs 数组 * useAIVideoProcessing() → 返回 isProcessing 布尔值 * useAIVideoSettings() → 返回设置对象 - 通过主 store 获取 actions: * generateSingleVideo * batchGenerateVideos * clearCompletedJobs 3. **Store 架构理解**: - **Selector Hooks**: 用于获取特定状态片段 - **Main Store**: 用于获取 actions 和复杂操作 - **类型安全**: 所有 hooks 都有正确的 TypeScript 类型 4. **函数调用修复**: - generateBatchVideos → batchGenerateVideos - 保持与 store 定义的一致性 ✅ **修复效果**: - 编译错误消除 ✓ - Store 状态正确访问 ✓ - Actions 函数正常调用 ✓ - TypeScript 类型检查通过 ✓ 现在组件可以正确使用 Zustand store 进行状态管理! |
||
|---|---|---|
| python_core | ||
| src | ||
| src-tauri | ||
| .gitignore | ||
| README.md | ||
| gemini.md | ||
| index.html | ||
| install_ai_video_deps.py | ||
| jm_video_ui.md | ||
| package.json | ||
| pnpm-lock.yaml | ||
| postcss.config.js | ||
| prompt.md | ||
| tailwind.config.js | ||
| test_image.jpg | ||
| test_path_fix.py | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||
README.md
MixVideo V2 - 视频混剪软件
A modern video editing software built with Tauri (Rust + React) frontend and Python core processing engine.
Architecture
分层架构设计 (Layered Architecture)
- 前端层 (Frontend Layer): Tauri + React - UI渲染和用户交互
- 桥接层 (Bridge Layer): Tauri Commands - 前端与Python核心的通信
- 核心层 (Core Layer): Python - 视频处理核心逻辑
- 服务层 (Service Layer): Python - 后台服务和文件管理
Project Structure
mixvideo_v2/
├── src-tauri/ # Tauri backend (Rust)
│ ├── src/
│ │ ├── main.rs
│ │ ├── commands/ # Tauri commands for Python bridge
│ │ └── utils/
│ ├── Cargo.toml
│ └── tauri.conf.json
├── src/ # React frontend
│ ├── components/ # UI components
│ ├── hooks/ # React hooks
│ ├── services/ # API services
│ ├── stores/ # State management
│ └── utils/
├── python_core/ # Python video processing engine
│ ├── video_processing/ # Core video processing modules
│ ├── audio_processing/ # Audio processing modules
│ ├── services/ # Background services
│ ├── utils/ # Utility functions
│ └── requirements.txt
├── assets/ # Static assets
├── docs/ # Documentation
└── tests/ # Test files
Core Libraries
Video Processing
- MoviePy: 剪辑拼接、字幕添加、特效调整
- FFmpeg-Python: 底层编码/解码、格式转换
- OpenCV-Python: 帧级处理、人脸识别
- PySceneDetect: 自动检测镜头切换点
Audio Processing
- Librosa: 节拍跟踪、频谱分析
- Pydub: 音频剪切、音量调整、混音
- PyAudio: 麦克风输入流采集
- Spleeter: 人声/伴奏分离
AI & Machine Learning
- Video-Transformers: 视频内容理解
- Magenta: AI音乐生成
- TempoCNN: 基于CNN的BPM预测
Getting Started
Prerequisites
- Node.js 18+
- Rust 1.70+
- Python 3.9+
- FFmpeg
Installation
- Clone the repository
- Install frontend dependencies:
npm install - Install Python dependencies:
pip install -r python_core/requirements.txt - Run development server:
npm run tauri dev
Features
- 🎬 视频剪辑拼接
- 🎵 音频处理与节拍同步
- 🎨 特效与滤镜
- 🤖 AI辅助剪辑
- 📱 多平台适配
- ⚡ 分布式任务处理
License
MIT License