🎯 核心修复: 1. 正确实现 Tauri 对话框命令: - 使用 tauri_plugin_dialog::DialogExt 正确的 API - 实现 select_image_file 和 select_folder 命令 - 使用 blocking_pick_file 和 blocking_pick_folder 方法 - 修复路径转换问题 (FilePath.to_string()) 2. 简化前端文件选择逻辑: - 移除复杂的多重备用方案 - 直接调用 Tauri 命令 invoke('select_image_file') - 清晰的错误处理,不再回退到 HTML input - 统一的文件和文件夹选择逻辑 3. 清理代码: - 移除不需要的 HTML input 元素 - 移除 useRef 和相关的备用代码 - 移除 @tauri-apps/plugin-dialog 直接导入 - 清理未使用的导入和函数 4. 配置优化: - 确保 Tauri 对话框插件正确注册 - 移除不必要的配置复杂性 - 专注于核心功能实现 ✅ 修复效果: - 文件选择:直接使用原生 Tauri 对话框 ✓ - 路径获取:确保返回完整的文件路径 ✓ - 代码简洁:移除复杂的回退逻辑 ✓ - 错误处理:清晰的错误信息 ✓ 现在文件选择功能应该直接工作,返回完整的文件路径! |
||
|---|---|---|
| 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