e1327c695bb350982033be136bd410cb6d5ff83d
🚀 核心改进: 1. 创建标准化 JSON-RPC 2.0 通信模块: - 新增 jsonrpc.py 模块,实现完整的 JSON-RPC 2.0 规范 - JSONRPCResponse 类处理响应和错误 - ProgressReporter 类使用通知机制报告进度 - 标准化错误代码定义 (JSONRPCError) 2. Python 脚本集成 JSON-RPC: - 视频生成器支持 request_id 参数 - 使用结构化进度报告替代简单字符串 - 错误处理通过 JSON-RPC 错误响应 - 保持向后兼容的 progress_callback 3. Rust 端 JSON-RPC 解析: - 识别 'JSONRPC:' 前缀的结构化消息 - 区分进度通知和最终结果 - 支持直接 JSON 结果的备用解析 - 详细的调试日志和错误处理 4. 通信协议标准化: - 进度消息:{"jsonrpc":"2.0","method":"progress","params":{...}} - 结果消息:{"jsonrpc":"2.0","id":"...","result":{...}} - 错误消息:{"jsonrpc":"2.0","id":"...","error":{...}} - 时间戳和详细信息支持 5. 错误处理增强: - 标准化错误代码 (-32001 到 -32005) - 详细的错误信息和上下文 - 优雅的降级和备用机制 - 跨语言错误传播 ✅ 优势: - 可靠的结构化通信 ✓ - 标准化协议,易于扩展 ✓ - 详细的进度跟踪和错误处理 ✓ - 向后兼容现有代码 ✓ 现在通信机制更加可靠,不再依赖容易出错的字符串匹配!
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
Description
Languages
Python
50.2%
TypeScript
39.3%
Rust
6.8%
HTML
2.5%
Batchfile
0.6%
Other
0.5%