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