root e1327c695b feat: 实现 JSON-RPC 通信协议替代字符串匹配
🚀 核心改进:

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)
   - 详细的错误信息和上下文
   - 优雅的降级和备用机制
   - 跨语言错误传播

 优势:
- 可靠的结构化通信 ✓
- 标准化协议,易于扩展 ✓
- 详细的进度跟踪和错误处理 ✓
- 向后兼容现有代码 ✓

现在通信机制更加可靠,不再依赖容易出错的字符串匹配!
2025-07-10 13:02:04 +08:00
2025-07-10 09:41:40 +08:00
2025-07-10 09:41:40 +08:00
2025-07-10 09:41:40 +08:00
2025-07-10 09:41:40 +08:00
2025-07-10 09:41:40 +08:00
2025-07-10 09:41:40 +08:00
2025-07-10 09:41:40 +08:00
2025-07-10 09:41:40 +08:00
2025-07-10 09:41:40 +08:00

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

  1. Clone the repository
  2. Install frontend dependencies: npm install
  3. Install Python dependencies: pip install -r python_core/requirements.txt
  4. Run development server: npm run tauri dev

Features

  • 🎬 视频剪辑拼接
  • 🎵 音频处理与节拍同步
  • 🎨 特效与滤镜
  • 🤖 AI辅助剪辑
  • 📱 多平台适配
  • 分布式任务处理

License

MIT License

Description
视频混剪V2
Readme 1.9 MiB
Languages
Python 50.2%
TypeScript 39.3%
Rust 6.8%
HTML 2.5%
Batchfile 0.6%
Other 0.5%