mixvideo-v2/HOTFIX_TEST_GUIDE.md

179 lines
4.7 KiB
Markdown

# Hotfix 测试指南:修复 FFmpeg 命令行闪现问题
## 🔧 问题描述
在之前的版本中,当 MixVideo Desktop 执行 FFmpeg 和 FFprobe 命令时,会在 Windows 上出现命令行窗口闪现的问题,影响用户体验。
## 🛠️ 修复方案
### 技术实现
1. **添加 Windows 特定导入**
```rust
#[cfg(target_os = "windows")]
use std::os::windows::process::CommandExt;
```
2. **创建隐藏控制台的命令函数**
```rust
fn create_hidden_command(program: &str) -> Command {
let mut cmd = Command::new(program);
#[cfg(target_os = "windows")]
{
// 在 Windows 上隐藏控制台窗口
// CREATE_NO_WINDOW = 0x08000000
cmd.creation_flags(0x08000000);
}
cmd
}
```
3. **替换所有 FFmpeg/FFprobe 调用**
- 将所有 `Command::new("ffmpeg")` 替换为 `Self::create_hidden_command("ffmpeg")`
- 将所有 `Command::new("ffprobe")` 替换为 `Self::create_hidden_command("ffprobe")`
### 修复范围
修复了以下方法中的命令行闪现问题:
-`is_available()` - FFmpeg 可用性检查
-`get_status_info()` - FFmpeg 状态信息获取
-`extract_metadata()` - 视频/音频元数据提取
-`detect_scenes_with_ffmpeg()` - 场景检测
-`detect_scenes_alternative()` - 替代场景检测
-`split_video_with_mode()` - 视频切分
-`get_keyframes()` - 关键帧获取
-`generate_thumbnail()` - 缩略图生成
-`get_version()` - 版本信息获取
## 🧪 测试步骤
### 1. 启动应用测试
```bash
cd apps/desktop
pnpm tauri:dev
```
**预期结果**: 应用启动时不应出现任何命令行窗口闪现
### 2. FFmpeg 状态检查测试
1. 打开应用
2. 查看 FFmpeg 状态信息(如果有相关界面)
**预期结果**: 检查 FFmpeg 状态时不应出现命令行闪现
### 3. 视频文件导入测试
1. 创建或打开一个项目
2. 导入一个视频文件
3. 观察元数据提取过程
**预期结果**:
- 视频元数据正常提取
- 过程中不出现命令行窗口闪现
- 控制台日志正常显示处理信息
### 4. 场景检测测试
1. 导入视频文件后
2. 触发场景检测功能
3. 观察场景检测过程
**预期结果**:
- 场景检测正常工作
- 不出现 FFmpeg 命令行窗口闪现
- 场景检测结果正确显示
### 5. 视频切分测试
1. 完成场景检测后
2. 执行视频切分操作
3. 观察切分过程
**预期结果**:
- 视频切分正常执行
- 切分过程中不出现命令行闪现
- 切分后的视频文件正常生成
## 🔍 验证要点
### Windows 特定验证
- ✅ 确认 `CREATE_NO_WINDOW` 标志正确应用
- ✅ 验证只在 Windows 平台应用此修复
- ✅ 确认其他平台不受影响
### 功能完整性验证
- ✅ 所有 FFmpeg 功能正常工作
- ✅ 错误处理机制正常
- ✅ 性能监控正常记录
- ✅ 日志系统正常输出
### 用户体验验证
- ✅ 无命令行窗口闪现
- ✅ 应用响应速度正常
- ✅ 操作流程顺畅
## 📊 测试结果记录
### 编译测试
-**Rust 编译**: 通过 (`cargo check`)
-**前端构建**: 通过 (`pnpm build`)
-**应用启动**: 成功
### 功能测试
-**FFmpeg 状态检查**: 待测试
-**视频元数据提取**: 待测试
-**场景检测**: 待测试
-**视频切分**: 待测试
-**缩略图生成**: 待测试
### 用户体验测试
-**命令行闪现**: 待验证修复
-**操作流畅性**: 待测试
-**错误处理**: 待测试
## 🚀 部署建议
### 测试通过后的步骤
1. **提交修复代码**
```bash
git add .
git commit -m "hotfix: 修复 FFmpeg 命令行闪现问题"
```
2. **合并到主分支**
```bash
git checkout master
git merge hotfix/fix-ffmpeg-console-flash
```
3. **创建补丁版本**
- 更新版本号到 v0.1.3
- 创建发布标签
- 构建新的安装包
### 发布说明
```markdown
## v0.1.3 Hotfix - 修复命令行闪现问题
### 🐛 Bug 修复
- 修复了 Windows 上 FFmpeg/FFprobe 执行时命令行窗口闪现的问题
- 改善了用户体验,操作过程更加流畅
### 🔧 技术改进
- 在 Windows 平台使用 CREATE_NO_WINDOW 标志隐藏控制台窗口
- 保持了所有 FFmpeg 功能的完整性和性能
```
## 📝 注意事项
1. **平台兼容性**: 此修复仅影响 Windows 平台,其他平台行为不变
2. **功能完整性**: 确保所有 FFmpeg 相关功能正常工作
3. **性能影响**: 修复不应影响 FFmpeg 执行性能
4. **错误处理**: 保持原有的错误处理逻辑
---
**测试负责人**: [测试人员姓名]
**测试日期**: 2025年1月13日
**修复分支**: `hotfix/fix-ffmpeg-console-flash`