Files
Format-Converter/TESTING_FFMPEG.md

6.3 KiB
Raw Permalink Blame History

FFmpeg 安装测试指南

测试目标

测试在没有 FFmpeg 的电脑上全新安装该软件后,第一次启动时的 FFmpeg 自动安装流程。

测试方法

方法 1临时重命名 FFmpeg推荐

如果你的电脑已经安装了 FFmpeg可以临时重命名它来模拟未安装的情况

macOS/Linux:

# 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:

# 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:

rm -rf ~/Library/Application\ Support/FormatConverter/ffmpeg

Windows:

del /F /Q "%LOCALAPPDATA%\FormatConverter\ffmpeg.exe"

Linux:

rm -rf ~/.local/share/format-converter/ffmpeg

方法 3使用虚拟机或容器

最彻底的测试方法:

  1. 使用虚拟机VirtualBox、VMware、Parallels
  2. 使用 Docker 容器
  3. 使用云端测试环境

测试流程

1. 启动应用

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. 检查安装位置

    # 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 下载并添加到 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

调试技巧

查看控制台日志

# 开发模式下,控制台会输出详细日志
npm run dev

# 查看后端日志
# 在终端中查看 Rust 输出

手动触发安装

在浏览器控制台中执行:

// 显示安装引导
document.getElementById('ffmpeg-install-guide').classList.add('active');

// 直接开始安装
installFFmpeg();

检查 FFmpeg 状态

在浏览器控制台中执行:

// 检查 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

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