QualityScaler-Go 用户操作手册
适用平台: Windows 10/11 | 语言: 简体中文
目录
1. 快速入门
1.1 基本操作流程
- 添加文件 — 点击左侧「添加文件」或「添加文件夹」,或直接拖拽文件到窗口
- 选择 AI 模型 — 在「AI 核心」标签页选择适合的模型(默认 LVAx2 适用于大多数场景)
- 设置输出目录 — 点击右侧「浏览」选择保存位置
- 开始处理 — 点击「开始处理」按钮
1.2 界面概览
| 区域 | 功能 |
|---|---|
| 左侧 — 文件列表 | 添加/清空待处理文件,显示处理状态 |
| 中央 — 处理参数 | 4 个标签页:AI 核心、性能与硬件、图像处理、视频处理 |
| 右侧上方 — 分辨率预览 | 实时预览源分辨率 → 输入缩放 → 模型放大 → 输出分辨率 |
| 右侧下方 — 输出/进度/控制 | 输出目录选择、处理进度、开始/停止按钮 |
2. 环境要求
2.1 操作系统
- Windows 10/11 64-bit(主要支持平台)
- Linux(实验性支持,部分功能可能不可用)
2.2 必装基础环境
Visual C++ Redistributable 2015-2022(所有版本必需)
ONNX Runtime 底层依赖 VC++ 运行时库。如果缺失,程序启动时会报 DLL 错误(如 VCRUNTIME140.dll not found)。
📥 下载:vc_redist.x64.exe
2.3 NVIDIA GPU 加速环境
GPU 加速需要显卡驱动、CUDA 和 cuDNN。各版本的依赖见 2.4 节。TensorRT 运行时随 tensorrt-gpu 和 full 发布包提供,不需要单独安装。
第一层:NVIDIA 显卡驱动
所有 GPU 加速方案的基础。建议通过 NVIDIA GeForce Experience 或官网下载最新 Game Ready / Studio 驱动。
验证方式:
nvidia-smi
如果命令正常输出 GPU 信息,说明驱动已安装。
第二层:CUDA Toolkit 12.4+(必需)
CUDA 提供 GPU 并行计算的基础运行时库(cudart64_*.dll 等),是 ONNX CUDA 和 TensorRT 的通用前提。
- 版本要求: CUDA 12.4 或更高版本
- 安装路径: 默认
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.1\ - 环境变量: 安装器通常自动设
CUDA_PATH
验证方式:
# 检查 CUDA 版本
nvcc --version
# 或检查环境变量
echo $env:CUDA_PATH
第三层:cuDNN 9.x(ONNX CUDA / TensorRT 必需)⚠️ 关键
仅安装 CUDA 是不够的! ONNX Runtime 的 CUDA provider 依赖 cuDNN(CUDA Deep Neural Network Library)才能启用 GPU 加速。缺少 cuDNN 是最常见的 GPU 未生效原因。
- 推荐版本: cuDNN 9.x(v9.0 以上)
- 安装路径:
C:\Program Files\NVIDIA\CUDNN\v9.x\bin\ - 关键 DLL:
cudnn_engines_runtime_compiled64_9.dll
📥 下载:从 NVIDIA cuDNN 官网 下载(需注册 NVIDIA Developer 账号,免费)
安装步骤:
- 下载 cuDNN 9.x for CUDA 12.x(ZIP 包)
- 解压后将
bin/、include/、lib/目录合并到 CUDA 安装目录:将 cudnn\bin\*.dll 复制到 → C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.1\bin\ 将 cudnn\include\*.h 复制到 → C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.1\include\ 将 cudnn\lib\x64\*.lib 复制到 → C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.1\lib\x64\ - 或者使用 NVIDIA 官方安装器(exe),安装到
C:\Program Files\NVIDIA\CUDNN\v9.x\
验证 cuDNN 是否生效:
- 程序启动时日志会输出
Added cuDNN to PATH: ...(表示已检测到) - 如果 CUDA 已安装但推理仍走 CPU,大概率是缺少 cuDNN
TensorRT 运行时(仅 tensorrt-gpu / full 版本)
TensorRT 只在 tensorrt-gpu 和 full 版本中启用。运行时、qualityscaler_tensorrt.dll 以及相关 NVIDIA DLL 都已随发布包提供,用户不需要从 NVIDIA 官网另行下载或安装 TensorRT。
请保留发布包中的 DLL,不要用其他 CUDA、cuDNN 或 TensorRT 安装中的文件覆盖它们。混用不同版本的 DLL 可能导致后端加载失败。不需要 TensorRT 时,onnx-cuda 版本即可满足一般使用。
2.4 各版本依赖汇总
| 组件 | onnx-cpu | onnx-cuda | tensorrt-gpu | full |
|---|---|---|---|---|
| VC++ Redist 2015-2022 | ✅ | ✅ | ✅ | ✅ |
| ONNX Runtime DLL | ✅ | ✅ | ✅ | ✅ |
| NVIDIA 显卡 + 驱动 | ❌ | ✅ | ✅ | ✅ |
| CUDA Toolkit 12.4+ | ❌ | ✅ | ✅ | ✅ |
| cuDNN 9.x | ❌ | ✅ 必需 | ✅ 必需 | ✅ 必需 |
| TensorRT 运行时 DLL(随包提供) | ❌ | ❌ | ✅ 内置 | ✅ 内置 |
| qualityscaler_tensorrt.dll | ❌ | ❌ | ✅ 内置 | ✅ 内置 |
| OpenCV (gocv) | ✅ 内置 | ✅ 内置 | ✅ 内置 | ✅ 内置 |
2.5 依赖关系图
基础层(所有版本)
└─ Visual C++ Redistributable 2015-2022
└─ ONNX Runtime DLLs (onnxruntime.dll + onnxruntime_providers_shared.dll)
└─ OpenCV (gocv)
GPU 加速(onnx-cuda / tensorrt-gpu / full)
├─ NVIDIA 显卡驱动
├─ CUDA Toolkit 12.4+
└─ cuDNN 9.x ← ⚠️ 最易遗漏!没有它,ONNX Runtime 无法使用 GPU
TensorRT 加速(tensorrt-gpu / full)
└─ 发布包内置 TensorRT 运行时和 qualityscaler_tensorrt.dll
└─ 不需要单独安装 TensorRT
2.6 环境验证清单
安装完成后,按以下步骤验证环境是否就绪:
# 1. 检查显卡驱动
nvidia-smi
# 预期:显示 GPU 型号、驱动版本、CUDA 版本
# 2. 检查 CUDA
nvcc --version
# 预期:显示 CUDA 版本号(如 12.6)
# 3. 检查 cuDNN(查看 DLL 是否存在)
ls "C:\Program Files\NVIDIA\CUDNN\v9*\bin\cudnn_engines_runtime_compiled64_9.dll"
ls "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v*\bin\cudnn_engines_runtime_compiled64_9.dll"
# 预期:至少一处能找到该 DLL
# 4. 检查 VC++ Redist
# 控制面板 → 程序和功能 → 查找 "Microsoft Visual C++ 2015-2022 Redistributable (x64)"
程序内验证(最可靠的方式): 启动 QualityScaler-Go,观察标题栏或日志中的推理后端信息:
TensorRT (GPU)— 全部就绪,极致性能 ✅CUDA (GPU 0)— CUDA + cuDNN 正常,GPU 加速生效 ✅CPU (ONNX)— GPU 未生效,请检查 CUDA 和 cuDNN 安装 ❌
如果程序无法启动、GPU 后端加载失败或运行异常,请先更新 NVIDIA 显卡驱动,再检查 CUDA 和 cuDNN。驱动版本过旧也可能导致 GPU 后端不可用。
2.7 常见环境坑
❌ "我装了 CUDA,为什么还是 CPU 推理?" → 多数情况是没有安装 cuDNN。CUDA Toolkit 不包含 cuDNN,需单独下载安装。详见上方「第三层:cuDNN 9.x」段落。
❌ "cuDNN 装了,但程序找不到?"
→ 检查 cuDNN 的 bin/ 目录是否在系统 PATH 中。程序会自动搜索 C:\Program Files\NVIDIA\CUDNN\v9*\bin\,如果放在其他位置,需要手动添加 PATH 或将 DLL 复制到 CUDA 的 bin/ 目录。
❌ "TensorRT 引擎文件报错?"
→ .engine 文件绑定具体 GPU 架构(SM 版本),不可跨显卡使用。换显卡后需要删除 AI-tensorrt/*.engine 重新生成。不要替换发布包内的 TensorRT DLL。详见 3. 版本选择指南。
❌ "ffmpeg 找不到 / 报错?"
→ 发布包通常自带 ffmpeg,如果缺失,从 ffmpeg.org 下载 Windows 版本,将 ffmpeg.exe 和 ffprobe.exe 放到程序目录或系统 PATH 中。
3. 版本选择指南
QualityScaler-Go 提供 5 个版本,根据你的硬件选择:
| 版本 | 推理后端 | 适用人群 | 需要环境 |
|---|---|---|---|
| onnx-cpu | ONNX CPU | 无 NVIDIA 显卡,兼容性最强 | 无需 GPU |
| onnx-cuda | ONNX + CUDA | 有 N 卡,不想配置 TensorRT | NVIDIA 显卡 + CUDA DLL |
| onnx-directml | ONNX + DirectML | 支持 DirectML 的 Windows GPU | DirectML 兼容驱动 |
| tensorrt-gpu | TensorRT → ONNX → CPU 回退 | 追求极限性能的 N 卡用户 | 内置 TensorRT;需要 CUDA 12.4+ |
| full | 内置全部推理引擎,可手动切换 | 需要在不同引擎之间切换的用户 | 与所选引擎对应的环境 |
说明: 各版本都内置 OpenCV。普通版本只包含当前版本所需的引擎,以及用于回退的向下兼容引擎;
full版本包含全部引擎,并支持手动切换。
3.1 图片超分与视频超分的硬件要求
两类任务的瓶颈不同。图片超分主要受单张图片分辨率、模型和显存峰值影响;视频超分还需要持续完成解码、帧传输、推理和编码,因此对 CPU、内存、显存、磁盘和散热稳定性更敏感。
| 任务 | 基础要求 | 推荐配置 | 主要限制 |
|---|---|---|---|
| 图片超分 | 支持 ONNX CPU 的 Windows 电脑;GPU 可选 | 8GB 以上内存;兼容 DirectML 的核显或独显,或 NVIDIA GPU + CUDA | 大图、BSRGAN、去模糊和人脸增强会提高显存峰值 |
| 视频超分 | 支持 FFmpeg 的 Windows 电脑;CPU 可运行 ONNX CPU | 16GB 以上内存;具备硬件编码器的 GPU;SSD 临时空间 | 长视频、4K 输出、多线程和 Disk 管线会增加持续资源占用 |
图片超分建议
- 无 NVIDIA GPU 时优先尝试
onnx-cpu或onnx-directml。 - 低显存设备使用较小模型、降低输入缩放,并将 batch 保持为 1。
- 超大图片应预留额外内存和显存;发生 OOM 时先降低输入尺寸或切换轻量模型。
视频超分建议
- 先确认输入视频能够被 FFmpeg 正常解码,输出编码器也可用。
- CFR 视频优先使用 Memory 管线;VFR 视频、需要断点恢复或逐帧检查时使用 Disk 管线。
- 长视频不建议一开始就启用高并发和大 batch;应根据显存和内存逐步增加线程数。
- Disk 管线需要为中间帧预留磁盘空间,具体大小取决于视频时长、帧数、分辨率和帧格式。
4. AI 模型详解
4.1 模型速查表
| 模型 | 倍率 | 类型 | 速度 | 显存占用 | 最佳场景 |
|---|---|---|---|---|---|
| LVAx2 | ×2 | 轻量增强 | ⚡⚡⚡ 最快 | 🟢 低 | 轻度增强、保持自然感 |
| RealESR_Gx4 | ×4 | 通用超分 | ⚡⚡ 较快 | 🟡 中 | 真实照片、风景、写实影视 |
| RealESR_Animex4 | ×4 | 动漫优化 | ⚡⚡ 较快 | 🟡 中 | 动漫、插画、2D 游戏画面 |
| BSRGANx2 | ×2 | 降噪增强 | ⚡⚡ 较快 | 🟡 中 | 低画质素材、未知退化 |
| BSRGANx4 | ×4 | 重度修复 | ⚡ 较慢 | 🔴 高 | 极差画质、老旧素材、大量底噪 |
| MSharpx4 | ×4 | 锐化增强 | ⚡⚡ 较快 | 🟡 中 | 模糊素材、需要强化轮廓 |
| IRCNN_Mx1 | ×1 | 去噪修复 | ⚡⚡⚡ 最快 | 🟢 低 | 中度噪声去除(保持分辨率) |
| IRCNN_Lx1 | ×1 | 重度修复 | ⚡⚡ 较快 | 🟡 中 | 重度图像损伤修复(保持分辨率) |
4.2 模型详细说明
LVAx2 — 轻量自然放大
- 特点: 提升分辨率的同时保持极高的边缘保真度,处理风格自然
- 优点: 速度快、显存占用低、画面自然不 "AI 感"
- 缺点: 仅 ×2 倍率,放大倍数有限
- 适用: 低倍率放大需求、不希望画面过度处理的轻度增强任务
RealESR_Gx4 — 真实照片增强(推荐)
- 特点: 针对真实世界复杂退化设计,具备极强的泛化能力
- 优点: 平衡纹理重建与噪声抑制,通用性最强
- 缺点: 对极端低画质素材效果有限
- 适用: 日常照片、风景、写实类影视素材 — 大多数用户的首选
RealESR_Animex4 — 动漫/插画专用
- 特点: 专为二次元内容优化,强调线条平滑度与色块纯净度
- 优点: 显著消除压缩伪影(Ringing/Artifacts),线条干净
- 缺点: 处理真实照片效果不佳,会产生过度平滑
- 适用: 动漫、插画、2D 游戏画面、线稿
BSRGANx2 / BSRGANx4 — 降噪与修复
- 特点: 基于 "随机降级空间" 训练,对未知干扰容忍度极高
- 优点: 对画质极差的素材也有不错的修复效果
- 缺点: 速度较慢,可能引入细微纹理变化
- 适用: 画质极差、带有大量未知底噪、多次低质量压缩的老旧素材
- x2: 轻度降级素材
- x4: 重度降级素材
MSharpx4 — 高对比度锐化
- 特点: 强调视觉上的高对比度与轮廓清晰度
- 优点: 对模糊素材能强行勾勒主体轮廓
- 缺点: 可能过度锐化,产生不自然的边缘
- 适用: 原始素材过于模糊(Soft)、需要突出轮廓的特定场景
IRCNN_Mx1 / IRCNN_Lx1 — 去噪修复(不放大)
- 特点: 非放大类修复模型,专注于保持原分辨率前提下去卷积与降噪
- 优点: 不改变分辨率,专注修复;可与其他放大模型级联使用
- 缺点: 不提升分辨率
- 适用: 作为预处理步骤
- IRCNN_Mx1: 中度噪声去除
- IRCNN_Lx1: 重度图像损伤修复
4.3 场景选型指南
| 你的需求 | 首选模型 | 备选模型 |
|---|---|---|
| 真实照片放大 | RealESR_Gx4 | BSRGANx4 |
| 动漫/插画增强 | RealESR_Animex4 | LVAx2 |
| 极端低画质修复 | BSRGANx4 | IRCNN_Lx1 → RealESR_Gx4 |
| 保持原尺寸去噪 | IRCNN_Mx1 | — |
| 高对比度/锐化边缘 | MSharpx4 | — |
| 轻度增强(不想 AI 感太重) | LVAx2 | RealESR_Gx4(降低输出缩放) |
5. 参数选项说明
5.1 AI 核心标签页
AI 模型
选择用于超分辨率的主模型。详见 第 4 章 AI 模型详解。
去模糊模型
在超分前对图像进行去模糊/去噪预处理。
| 选项 | 说明 |
|---|---|
| OFF | 不启用去模糊(默认,推荐) |
| SCUNet-GAN | 生成对抗网络训练,修复效果更强,视觉质量更好 |
| SCUNet-PSNR | PSNR 导向训练,保真度更高,但可能保留部分噪声 |
⚠️ 启用去模糊会额外占用约 2GB 显存,并增加处理时间约 30-50%。
5.2 性能与硬件标签页
性能模式
| 模式 | AI 线程数 | 批处理 | 融合强度 | 特点 |
|---|---|---|---|---|
| Balanced(推荐) | CPU 核心数/2(≤4) | 1 | 不改动 | 速度与质量平衡 |
| Extreme Performance | CPU 核心数(≤8) | 4 | 强制 OFF | 最快速度,适合批量处理 |
| Quality | 1 | 1 | 不改动 | 最稳定,兼容性最好 |
GPU
选择用于 AI 推理的显卡。
| 选项 | 说明 |
|---|---|
| Auto(推荐) | 自动选择高性能 GPU |
| GPU 1 | 对应任务管理器中的 GPU 0 |
| GPU 2-4 | 多卡系统中的其他显卡 |
⚠️ 选择不存在的 GPU 可能导致回退到 CPU,速度极慢。
显存 (GB)
限制 AI 推理可使用的显存预算。这是最重要的性能参数之一。
- 建议设置为显卡实际可用显存(例如 8GB 显卡设为 8)
- 设置过低:导致 tile 尺寸过小,速度变慢
- 设置过高:可能导致显存溢出(OOM),推理失败
- 集成显卡建议从 2GB 开始尝试
详见 第 7 章 显存分级与推荐配置。
多线程
控制视频逐帧处理时的并行线程数。
| 选项 | 适用场景 |
|---|---|
| Auto | 让程序根据 CPU 核心数自动选择 |
| OFF | 最稳定,内存/显存占用最低 |
| 2 threads | 轻度并行 |
| 4 threads | 中度并行(推荐给 6-8 核 CPU) |
| 6 threads | 高度并行 |
| 8 threads | 最大并行(需要充足显存和内存) |
⚠️ 线程越多速度可能越快,但显存和内存占用也越大。如果遇到 OOM,先降低线程数。
TRT 精度(仅 TensorRT/Full 版本)
控制 TensorRT 引擎的量化精度。
| 精度 | 速度 | 显存占用 | 精度损失 | 推荐场景 |
|---|---|---|---|---|
| fp16(推荐) | ⚡⚡⚡ 最快 | 🟢 低 | 极小 | 日常使用 |
| fp32 | ⚡ 较慢 | 🔴 高(约 2×) | 无 | 对精度要求极高的专业场景 |
| int8 | ⚡⚡⚡ 最快 | 🟢 最低 | 较大 | 需要校准数据集,显存极度紧张时 |
Tile 重叠 (px)
AI 推理时分块(Tile)之间的重叠像素数。
- 默认值: 16px
- 增大(32/64): 可消除 tile 接缝,代价是轻微增加推理时间
- 减小(0): 略微加速,但可能出现可见的网格接缝
- 范围: 0-256
GPU 批处理
GPU 一次处理多少帧(仅 TensorRT 版本)。
| 值 | 说明 |
|---|---|
| 1(推荐) | 逐帧推理,最稳定 |
| 2/4/6/8 | 批处理,速度更快但显存占用成倍增加 |
⚠️ 需要 TensorRT 引擎支持动态 batch dimension,否则自动回退到 1。
管线模式 ⭐
控制视频处理的数据管线。这是最关键的选项之一。
| 模式 | 说明 |
|---|---|
| Memory(默认) | 纯内存管道,速度快,无临时文件 |
| Disk | 文件管线,兼容 VFR/断点续传,需磁盘空间 |
📖 详细对比和故障排除请阅读 第 6 章。
5.3 图像处理标签页
输入缩放 %
送入 AI 模型前的图像缩放比例。
- 25%(默认): 大幅减少计算量,速度最快
- 50%: 保留更多原始细节
- 100%: 原始分辨率送入 AI,质量最好但速度最慢
- >100%: 插值放大后再处理(不推荐,不会增加真实细节)
💡 对 4K 视频建议用 25-50%,1080p 视频可用 50-100%。
输出缩放 %
对 AI 输出结果再次缩放。
- 100%(默认): 保持 AI 原生输出尺寸
- <100%: 缩小输出,减小文件体积与处理时间
- >100%: 仅插值放大,不会增加真实细节
💡 最终分辨率 = 源分辨率 × 输入缩放% × 模型倍率 × 输出缩放%
AI 融合
将原始图像与 AI 超分结果按比例混合。
- OFF: 完全保留 AI 输出(最清晰)
- Low (0.3): 30% 原图 + 70% AI 输出
- Medium (0.5): 50% 原图 + 50% AI 输出
- High (0.7): 70% 原图 + 30% AI 输出(最接近原图)
💡 AI 输出偶尔会有不自然的纹理,适当融合可以保留原图的自然感。
图像格式
输出图片的格式。
| 格式 | 质量 | 体积 | 适用场景 |
|---|---|---|---|
| .jpg(默认) | 有损压缩 | 🟢 小 | 日常使用、Web 分享 |
| .png | 无损 | 🔴 大 | 高质量存档、后续编辑 |
| .bmp | 无损无压缩 | 🔴 极大 | 特定工具链兼容 |
| .tiff | 无损/有损可选 | 🟡 中-大 | 专业图像处理、归档 |
保留帧
控制是否保留视频处理中间帧文件。
- OFF(默认): 任务完成后自动清理临时帧
- ON: 保留中间帧,便于排错或复用(会用掉大量磁盘空间)
5.4 视频处理标签页
视频格式
输出视频的封装格式。
| 格式 | 兼容性 | 特点 |
|---|---|---|
| .mkv(默认) | 🟡 较好 | 高质量、支持多音轨/字幕 |
| .mp4 | 🟢 最好 | 几乎所有设备兼容 |
| .avi | 🟡 一般 | 适合特定工具链,体积较大 |
| .mov | 🟡 一般 | Apple 生态、专业剪辑软件 |
视频编码
输出视频的编码器。按硬件分三类:
CPU 软件编码(兼容性最好):
| 编码器 | 说明 |
|---|---|
| x264(默认 ONNX 版) | H.264 CPU 编码,兼容性最好 |
| x265 | H.265 CPU 编码,同码率质量更高,编码慢 |
NVIDIA GPU 硬件编码(速度最快):
| 编码器 | 说明 |
|---|---|
| h264_nvenc(默认 TRT 版) | NVIDIA H.264 硬件编码 |
| hevc_nvenc | NVIDIA H.265 硬件编码 |
| av1_nvenc | NVIDIA AV1 硬件编码(RTX 40 系列+) |
AMD GPU 硬件编码:
| 编码器 | 说明 |
|---|---|
| h264_amf | AMD H.264 硬件编码 |
| hevc_amf | AMD H.265 硬件编码 |
| av1_amf | AMD AV1 硬件编码 |
Intel GPU 硬件编码:
| 编码器 | 说明 |
|---|---|
| h264_qsv | Intel QuickSync H.264 |
| hevc_qsv | Intel QuickSync H.265 |
| av1_qsv | Intel QuickSync AV1(Arc 显卡+) |
通用 AV1 编码:
| 编码器 | 说明 |
|---|---|
| av1_svt | CPU AV1 编码,同码率质量最高,编码极慢 |
💡 硬件编码速度快 5-10 倍但同码率质量略低于软件编码。日常使用推荐
h264_nvenc(N 卡)或x264(其他)。
帧率模式
| 模式 | 说明 |
|---|---|
| CFR(默认) | 恒定帧率,兼容性最好,适合 Memory 管线 |
| VFR | 可变帧率,保留原始时间戳,需 Disk 管线 |
⚠️ VFR 模式必须使用 Disk 管线,Memory 管线不支持 VFR。
码率质量
控制输出视频的码率(影响文件大小和画质)。
| 级别 | 码率乘数 | 说明 |
|---|---|---|
| Extreme | ×2.0 | 超大文件,极致画质 |
| High(默认) | ×1.0 | 标准高质量 |
| Medium | ×0.75 | 适中体积 |
| Low | ×0.5 | 较小文件 |
| Compatible | ×0.3 | 最小文件,兼容优先 |
6. 显存分级与推荐配置
6.1 显存分级总览
| 显存 | 等级 | GPU 示例 | 推荐模型 | 输入缩放 | 性能模式 | 多线程 | 批处理 |
|---|---|---|---|---|---|---|---|
| ≤2GB | 入门 | GT 1030, 集成显卡 | LVAx2, IRCNN | 25% | Quality | OFF | 1 |
| 4GB | 入门+ | GTX 1050 Ti, GTX 1650 | LVAx2, RealESR_Gx4 | 25% | Quality | OFF | 1 |
| 6GB | 主流 | GTX 1060, GTX 1660, RTX 2060 | RealESR_Gx4, 动漫 | 25-50% | Balanced | 2 | 1 |
| 8GB | 主流+ | RTX 2070, RTX 3070, RTX 4060 | 全部模型 | 25-50% | Balanced | 2-4 | 1-2 |
| 12GB | 高端 | RTX 3080, RTX 4070, RTX 5070 | 全部模型 | 50-100% | Extreme Perf | 4-6 | 2-4 |
| 16GB+ | 旗舰 | RTX 4080, RTX 4090, RTX 5080 | 全部模型 | 50-100% | Extreme Perf | 6-8 | 4-8 |
| 24GB | 专业 | RTX 3090, RTX 4090, RTX 5090 | 全部 + 去模糊 + 人脸 | 100% | Extreme Perf | 8 | 8 |
6.2 分级详解
🟢 入门级(≤4GB 显存)
限制与注意事项:
- tile 尺寸自动降至 256×256,推理速度较慢
- 批处理必须设为 1
- 多线程建议 OFF 或 Auto
- 避免同时启用人脸增强和去模糊
推荐配置:
模型: LVAx2 或 RealESR_Gx4
输入缩放: 25%
输出缩放: 100%
性能模式: Quality
多线程: OFF
批处理: 1
去模糊: OFF
人脸增强: 关闭
管线模式: Disk
🟡 主流级(6-8GB 显存)
这是大多数用户的配置区间,可以流畅使用大部分模型。
推荐配置:
模型: 按需选择(推荐 RealESR_Gx4)
输入缩放: 25-50%
输出缩放: 100%
性能模式: Balanced
多线程: 2-4 线程
批处理: 1
去模糊: OFF(开启时需降低多线程)
人脸增强: 可选(会额外占用约 1-2GB 显存)
管线模式: Memory(默认)
🔴 高端/旗舰(12GB+ 显存)
几乎无限制,可以同时开启所有增强功能。
推荐配置:
模型: 按需选择
输入缩放: 50-100%
输出缩放: 按照需求
性能模式: Extreme Performance
多线程: 4-8 线程
批处理: 2-8
去模糊: 可选
人脸增强: 开启
管线模式: Memory
6.3 集成显卡 / AMD 显卡用户
- 设置显存为 2GB 起步,根据实际效果调整
- 性能模式选择 Quality
- 多线程选择 OFF
- 使用 x264 CPU 编码(不要用 NVENC/AMF 除非确认可用)
7. 管线模式详解:Memory vs Disk
7.1 两种管线的架构差异
Memory 管线(纯内存管道)
ffmpeg 解码 → stdout → [原始视频帧数据] → Go AI 推理 → [处理后帧数据] → stdin → ffmpeg 编码
↑ ↑
无磁盘 I/O,全部在内存中完成 无中间文件产生
特点:
- ✅ 速度快: 省去 JPEG 编码/解码和磁盘读写,I/O 开销为零
- ✅ 无临时文件: 不产生中间帧文件,不占用额外磁盘空间
- ✅ 内存效率高: 帧数据流式处理,不会在磁盘上积累大量文件
- ❌ 不支持 VFR: 可变帧率视频只能走 Disk 管线
- ❌ 不支持断点续传: 中断后无法从上次进度恢复,需从头开始
- ❌ 可能卡死: 在特定条件下(如 ffmpeg 版本兼容性、管道阻塞等)可能出现进程挂起
Disk 管线(文件管线)
ffmpeg 提取帧 → 写入磁盘 → 读取帧文件 → AI 推理 → 写入超分帧 → 读取超分帧 → ffmpeg 组装视频
↑ ↑ ↑
磁盘 I/O 磁盘 I/O 磁盘 I/O
特点:
- ✅ 支持 VFR: 可变帧率视频完全兼容
- ✅ 断点续传: 中断后可恢复,已超分的帧不会丢失
- ✅ 稳定性高: 每阶段独立,不会因管道问题卡死
- ✅ 可排错: 保留的中间帧文件可用于检查每帧的处理效果
- ❌ 磁盘占用大: 需要存储所有中间帧(如 4K 视频 10 万帧 × 1MB/帧 = 100GB)
- ❌ 速度较慢: 额外的 JPEG 编码/解码和磁盘 I/O 增加处理时间约 10-20%
7.2 如何选择
| 场景 | 推荐管线 | 原因 |
|---|---|---|
| CFR 视频(大多数情况) | Memory | 速度最快,无磁盘占用 |
| VFR 视频 | Disk(强制) | Memory 不支持 VFR |
| 超大视频(>50GB 源文件) | Disk | 避免内存压力过大 |
| 需要断点续传 | Disk | 中断后可恢复 |
| 处理过程中需要排错 | Disk + 保留帧 ON | 可检查中间帧 |
| 磁盘空间紧张 | Memory | 不产生临时文件 |
| Memory 管线卡死/报错 | Disk ⬅️ | 见下方排查指南 |
7.3 ⚠️ Memory 管线卡死排查与解决
症状识别:
- 进度条长时间不动(超过预期帧处理时间的 3 倍以上)
- 没有错误提示,但程序无响应
- 任务管理器中 ffmpeg 进程存在但 CPU 使用率为 0
- 日志停在 "Upscaling video" 阶段
根本原因(常见):
- ffmpeg 版本兼容性问题:某些版本的 rawvideo 管道不够稳定
- 管道缓冲区已满:解码速度超过 AI 推理速度,管道因此阻塞
- GPU 显存不足:多线程配合大模型可能耗尽显存,让推理线程停住
- 输入视频编码特殊:部分编码格式可能导致 rawvideo 解码异常
解决方案(按优先级排序):
🔧 第一步:切换到 Disk 管线
在「性能与硬件」标签页中,将「管线模式」从 Memory 改为 Disk。 这是最直接的排查方法。已有测试中,大多数卡死问题在切换到 Disk 后可以正常完成。
Disk 管线通常会慢 10-20%,但更稳定,适合优先排查 Memory 管线卡死问题。
第二步:降低并发压力
- 性能模式改为 Quality 或 Balanced
- 多线程改为 OFF 或 2 threads
- 批处理设为 1
第三步:检查显存设置
- 确认显存 (GB) 设置为显卡实际大小
- 如果仍然卡死,尝试将显存值降低 2GB(如 8GB 设为 6GB)
第四步:降低输入分辨率
- 输入缩放从 25% 进一步降低到 10-15%
- 或者先用其他工具将视频缩小后再处理
第五步:尝试其他 AI 模型
- 切换到显存占用更低的模型(如 LVAx2 替代 BSRGANx4)
7.4 Memory vs Disk 性能对比
论文记录了一组初步测试结果。测试素材是一段约 45 秒的 1080p Sintel 视频,输出为 2160p,测试平台为 RTX 5070 Ti Laptop GPU。I100O50 表示输入 100%、输出 50%;1b8t 表示 batch=1、8 个工作线程。下面的时间均来自单次运行,只用于展示这套环境下的差异:
| 配置 | Memory 管线 | Disk 管线 |
|---|---|---|
| TensorRT 1b8t | 3:42 | 4:04 |
| ONNX CUDA 1b8t | 7:48 | 8:02 |
| TensorRT 1b1t | 9:52 | 10:45 |
| DirectML 1b1t | 12:25 | 12:42 |
| ONNX CUDA 1b1t | 15:28 | 15:45 |
| QualityScaler 基线 | 18:41 | 不适用 |
在另一组 I50O100 实验中,TensorRT 1b8t 在 Memory 和 Disk 下分别用时 50 秒和 95 秒。由于输入负载不同,这组结果不能直接与上表比较。
7.5 DIV2K 兼容性测试记录
下面是使用 DIV2K Validation Set 中 0801.jpeg 的单图测试结果,配置为 1b1t I50O100:
| 平台 | ONNX CPU | DirectML |
|---|---|---|
| Intel Core Ultra 7 | 28 秒 | 3 秒(核显) |
| 第 13 代 Intel Core i5-13500H | 28 秒 | 4 秒(核显) |
该表只反映这张图片和当前测试环境下的兼容性表现,不能代表不同硬件或后端的整体性能排名。
8. 人脸增强
8.1 功能说明
人脸增强是在超分完成后,对人脸区域进行专门的细节修复。适用于视频中人物面部占比较大的内容(如访谈、Vlog、影视剧)。
8.2 人脸模型
| 模型 | 输出尺寸 | 质量 | 说明 |
|---|---|---|---|
| codeformer(推荐) | 固定 512×512 | 🟢 最好 | Transformer 架构,修复效果自然 |
| face_dat_x4 | 4× 超分 | 🟡 一般 | 旧版模型,简单放大 |
8.3 参数说明
颜色匹配
- 开启: 融合前做颜色直方图匹配,消除人脸与背景的色调差异
- 关闭(默认): 不做颜色匹配
保真度权重 (0.00 - 1.00)
控制人脸修复强度与原图保真度的平衡:
- 0.0: 最强修复,最清晰,但可能产生噪点/失真,远离原图
- 0.5(默认): 平衡点,修复清晰同时保留自然感
- 1.0: 完全保留原图,不修复
💡 推荐值:0.5~0.7。如果人脸出现扭曲或过度平滑,调高此值。
8.4 注意事项
- 人脸增强需要额外约 1-2GB 显存
- 处理时间增加约 20-40%(取决于画面中人脸数量和大小)
- 对于没有人脸或人脸极小的视频(远景、风景),建议关闭以节省时间
9. 常见问题排查
9.1 处理速度太慢
- 检查推理后端: 确认标题栏显示 TensorRT 或 CUDA,如果显示 CPU 则 GPU 未生效
- 提高输入缩放: 默认 25% 已经很快,如果还慢 → 降低输入缩放到 10-15%
- 切换模型: LVAx2 比 BSRGANx4 快 3-5 倍
- 性能模式: 切换到 Extreme Performance
- 关闭去模糊和人脸增强: 这两个功能会显著增加处理时间
9.2 显存不足 (OOM) / 程序崩溃
- 降低多线程: OFF → 2 threads 逐步尝试
- 降低批处理: 设为 1
- 切换更小显存占用的模型: BSRGANx4 → RealESR_Gx4 → LVAx2
- 降低输入缩放: 25% → 15% → 10%
- 关闭去模糊和人脸增强
- 切换到 Disk 管线(减少内存压力)
9.3 输出视频没有声音
- 检查源视频是否有音轨(部分视频源无音频)
- Disk 管线会自动保留音频
- Memory 管线通过
-map 1:a?复制音频流,如果源视频音频编码特殊可能导致失败
9.4 画面出现网格状接缝
- 增大 Tile 重叠 参数(16 → 32 或 64)
- 切换到 Quality 性能模式
- 适当提高输入缩放比例
9.5 AI 输出画面过于 "塑料感"
- 开启 AI 融合,选择 Low 或 Medium
- 切换到更自然的模型(如 LVAx2)
- 使用 IRCNN 先做去噪预处理
9.6 程序启动后无响应/白屏
- 确认运行目录下存在
Assets/文件夹及 ONNX Runtime DLL - 安装 Visual C++ Redistributable 2015-2022
- 如果使用 TensorRT,确认发布包内的
qualityscaler_tensorrt.dll和相关 DLL 没有被删除或替换
附录:处理流水线全貌
输入文件 (图片/视频)
│
├─ 图片: 直接进入 AI 推理
│
└─ 视频:
│
├─ Memory 管线:
│ ffmpeg 解码 → stdout → Go 读取 → AI 推理 → Go 写入 → stdin → ffmpeg 编码 → 输出
│
└─ Disk 管线:
ffmpeg 提取帧 → 磁盘存储 → AI 超分逐帧 → 磁盘存储 → ffmpeg 组装 → 输出
│ │
└─ [可选] 去模糊预处理 └─ [可选] VFR 时间码
└─ [可选] 人脸检测+增强
📧 问题反馈与技术支持: 请在项目仓库提交 Issue。