# FFmpeg 安装测试指南 ## 测试目标 测试在没有 FFmpeg 的电脑上全新安装该软件后,第一次启动时的 FFmpeg 自动安装流程。 ## 测试方法 ### 方法 1:临时重命名 FFmpeg(推荐) 如果你的电脑已经安装了 FFmpeg,可以临时重命名它来模拟未安装的情况: #### macOS/Linux: ```bash # 1. 查找 FFmpeg 位置 which ffmpeg # 2. 临时重命名(需要 sudo) # 如果在 /usr/local/bin/ffmpeg sudo mv /usr/local/bin/ffmpeg /usr/local/bin/ffmpeg.backup sudo mv /usr/local/bin/ffprobe /usr/local/bin/ffprobe.backup # 如果在 /opt/homebrew/bin/ffmpeg (Apple Silicon) sudo mv /opt/homebrew/bin/ffmpeg /opt/homebrew/bin/ffmpeg.backup sudo mv /opt/homebrew/bin/ffprobe /opt/homebrew/bin/ffprobe.backup # 3. 测试完成后恢复 sudo mv /usr/local/bin/ffmpeg.backup /usr/local/bin/ffmpeg sudo mv /usr/local/bin/ffprobe.backup /usr/local/bin/ffprobe ``` #### Windows: ```cmd # 1. 查找 FFmpeg 位置 where ffmpeg # 2. 临时重命名 ren "C:\path\to\ffmpeg.exe" "ffmpeg.exe.backup" ren "C:\path\to\ffprobe.exe" "ffprobe.exe.backup" # 3. 测试完成后恢复 ren "C:\path\to\ffmpeg.exe.backup" "ffmpeg.exe" ren "C:\path\to\ffprobe.exe.backup" "ffprobe.exe" ``` ### 方法 2:删除应用数据目录 删除应用存储的 FFmpeg: #### macOS: ```bash rm -rf ~/Library/Application\ Support/FormatConverter/ffmpeg ``` #### Windows: ```cmd del /F /Q "%LOCALAPPDATA%\FormatConverter\ffmpeg.exe" ``` #### Linux: ```bash rm -rf ~/.local/share/format-converter/ffmpeg ``` ### 方法 3:使用虚拟机或容器 最彻底的测试方法: 1. 使用虚拟机(VirtualBox、VMware、Parallels) 2. 使用 Docker 容器 3. 使用云端测试环境 ## 测试流程 ### 1. 启动应用 ```bash npm run dev ``` ### 2. 观察初始化过程 应该看到以下流程: 1. **应用启动** - 显示主页面 - 底部状态栏显示"检测编码器..." 2. **检测 FFmpeg** - 控制台输出:`正在检测 FFmpeg...` - 控制台输出:`调用 check_ffmpeg_status...` 3. **弹出安装引导** - 如果未检测到 FFmpeg,自动弹出安装引导弹窗 - 弹窗标题:🔧 需要安装 FFmpeg - 显示两个选项: - 🚀 自动安装(推荐) - 📝 手动安装 4. **点击"开始安装"** - 弹窗关闭 - 切换到安装页面 - 显示进度条和安装信息 5. **安装过程** - 0-5%: 准备下载 FFmpeg... - 5-50%: 正在下载 FFmpeg... (显示下载进度) - 50-90%: 正在解压... - 90-95%: 正在安装... - 95-100%: 正在清理... - 100%: FFmpeg 安装完成 6. **安装完成** - 自动返回主页面 - 底部状态栏显示"编码器"(绿色点) - 鼠标悬停显示 FFmpeg 版本信息 ### 3. 验证安装 安装完成后,验证功能: 1. **选择文件** - 点击或拖拽文件到主页面 - 应该能正常分析文件 2. **转换测试** - 选择一个小文件进行转换 - 观察转换过程是否正常 3. **检查安装位置** ```bash # macOS ls -la ~/Library/Application\ Support/FormatConverter/ # Windows dir "%LOCALAPPDATA%\FormatConverter\" # Linux ls -la ~/.local/share/format-converter/ ``` ## 预期结果 ### 成功场景 - ✅ 自动检测到 FFmpeg 未安装 - ✅ 弹出安装引导弹窗 - ✅ 点击"开始安装"后显示安装页面 - ✅ 显示实时下载和安装进度 - ✅ 安装完成后自动返回主页面 - ✅ 状态栏显示"编码器"(绿色) - ✅ 可以正常使用转换功能 ### 失败场景处理 - ❌ 网络连接失败:显示错误信息,提示检查网络 - ❌ 下载失败:显示错误信息,提供重试选项 - ❌ 解压失败:显示错误信息,提示手动安装 - ❌ 权限不足:显示错误信息,提示以管理员身份运行 ## 常见问题 ### Q: 点击"稍后安装"后怎么办? A: 弹窗关闭,但状态栏仍显示"编码器未安装"。用户可以: - 手动安装 FFmpeg 到系统 PATH - 重启应用,会再次弹出安装引导 ### Q: 安装失败怎么办? A: 应用会显示错误信息。用户可以: 1. 检查网络连接 2. 点击重试 3. 选择手动安装 FFmpeg ### Q: 如何手动安装 FFmpeg? A: - **macOS**: `brew install ffmpeg` - **Windows**: 从 [ffmpeg.org](https://ffmpeg.org/download.html) 下载并添加到 PATH - **Linux**: `sudo apt install ffmpeg` 或对应包管理器 ### Q: 安装后在哪里? A: - **macOS**: `~/Library/Application Support/FormatConverter/ffmpeg` - **Windows**: `%LOCALAPPDATA%\FormatConverter\ffmpeg.exe` - **Linux**: `~/.local/share/format-converter/ffmpeg` ## 调试技巧 ### 查看控制台日志 ```bash # 开发模式下,控制台会输出详细日志 npm run dev # 查看后端日志 # 在终端中查看 Rust 输出 ``` ### 手动触发安装 在浏览器控制台中执行: ```javascript // 显示安装引导 document.getElementById('ffmpeg-install-guide').classList.add('active'); // 直接开始安装 installFFmpeg(); ``` ### 检查 FFmpeg 状态 在浏览器控制台中执行: ```javascript // 检查 FFmpeg 状态 window.tauriInvoke('check_ffmpeg_status').then(console.log); // 获取 FFmpeg 版本 // 返回: [installed: boolean, version: string | null] ``` ## 测试清单 - [ ] 应用启动时自动检测 FFmpeg - [ ] 未安装时弹出安装引导弹窗 - [ ] 安装引导 UI 显示正常 - [ ] 点击"开始安装"切换到安装页面 - [ ] 显示实时下载进度 - [ ] 显示解压和安装进度 - [ ] 安装完成后返回主页面 - [ ] 状态栏显示"编码器"(绿色) - [ ] 可以正常选择和转换文件 - [ ] 点击"稍后安装"可以关闭弹窗 - [ ] 安装失败时显示错误信息 - [ ] 重启应用后不再弹出安装引导(已安装) ## 注意事项 1. **网络要求**: 自动安装需要网络连接,下载大小约 50-100 MB 2. **权限要求**: 某些系统可能需要管理员权限 3. **磁盘空间**: 确保有足够的磁盘空间(至少 200 MB) 4. **防火墙**: 确保防火墙允许应用访问网络 5. **代理设置**: 如果使用代理,可能需要配置系统代理 ## 恢复测试环境 测试完成后,记得恢复 FFmpeg: ```bash # macOS/Linux sudo mv /usr/local/bin/ffmpeg.backup /usr/local/bin/ffmpeg sudo mv /usr/local/bin/ffprobe.backup /usr/local/bin/ffprobe # Windows ren "C:\path\to\ffmpeg.exe.backup" "ffmpeg.exe" ren "C:\path\to\ffprobe.exe.backup" "ffprobe.exe" ```