Files
Format-Converter/TESTING_FFMPEG.md

248 lines
6.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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"
```