# 高清修复方案横向对比（同一段 15s / 320×240 源，2026-09-26 实测）

> 测试片段：`BV1Ss411o7p3` 第 15–30 秒（225 帧 @15fps，全 I 帧输入）
> 测试机：GPU 机 RTX 5060 Ti 16GB（驱动 610.43.02 / CUDA 13.2 / sm_120）
> 目标尺寸统一 960×720（Lanczos 降到 3 倍），编码统一 x264 CRF 18
> 指标：**锐度**=像素梯度能量（人脸区域 480×300，避开字幕硬边，越高越锐）；**邻帧 PSNR**=同区域连续 6 帧的平均帧间相似度（越高越稳、越低越闪）

## 一、结论表（按"锐度"排序）

| 方案 | 类型/架构 | 速度 | 显存峰值 | 人脸区锐度 | 邻帧 PSNR | 评价 |
|---|---|---|---|---|---|---|
| **SwinIR_4x** | Transformer (SwinIR) | 0.69 fps | 1421 MiB | **368.3** | 21.88 | 最锐但最慢，闪烁最重；**性价比最差** |
| **Real-ESRGAN x4plus** | RRDB + GAN | 5.49 fps | 633 MiB | **384.6** | 22.77 | **锐度第一**，速度可接受 → **当前选用** |
| **4x-UltraSharpV2** | DAT (2024) | ~2 fps | — | 343.5 | 23.07 | 锐度接近，闪烁略好，但慢一倍多 |
| **BSRGAN** | RRDB | 3.02 fps | 633 MiB | 305.8 | 23.12 | 折中档，无明显优势 |
| **4x-UltraSharpV2-Lite** | PLKSR (轻量) | **7.32 fps** | **90 MiB** | 130.9 | 25.71 | 又快又省显存，**但比源还软** → 只适合做"去噪/去块"预处理 |
| **RTX VSR (nvvfx)** | NVIDIA 实时特效 | **44.2 fps** | — | 66.1 | **27.20** | **最快、最稳、但最软**；适合快速预览/直播级 |
| （基准）源最近邻放大 | — | — | — | 151.5 | 27.36 | 未处理基线 |

**核心洞察：这批逐帧（frame-by-frame）模型存在明确的"锐度 ↔ 时间稳定性"权衡** —— 越锐的方案，邻帧 PSNR 越低（越闪）。Real-ESRGAN 恰好落在锐度最高的那一端，所以它"看着最清楚但也会把噪点闪出来"；RTX VSR 落在另一端（干净顺滑但没细节）。**没有哪个逐帧模型能同时赢两端**。

## 二、这一轮新增/确认的候选

| 方案 | 开源情况 | 本机可跑性 |
|---|---|---|
| [SeedVR2 (ICLR 2026, 字节跳动)](https://github.com/IceClear/SeedVR2) | Apache-2.0，**一阶段扩散对抗后训练**，**视频原生（利用时间信息）** | 权重 3B=13.6GB+VAE 1.0GB，hf-mirror 可下但实测**仅 ~0.4–1.9 MB/s → 全量要 2.5 小时+**，暂未跑 |
| [RTX Video Super Resolution](https://github.com/NVIDIA-RTX/ComfyUI-RTX-Video-Super-Resolution) | NVIDIA 驱动级实时特效（闭源 SDK，节点开源） | **本机已装**（`nvvfx` 0.1.0.1，SDK 1.2.0），44 fps 跑通 |
| [Kim2091/UltraSharpV2](https://huggingface.co/Kim2091/UltraSharpV2) | Apache-2.0，DAT / PLKSR | 已下（139MB / 29MB），spandrel 0.4.2 直接识别 |
| [Kim2091/ClearRealityV1](https://huggingface.co/Kim2091/ClearRealityV1) | Apache-2.0，SPAN，**专为劣化实拍** | 权重在 MEGA 网盘（镜像仓库无 .pth），**未跑** |
| [NanoVSR (ECCV 2026)](https://github.com/filippawlicki/nanovsr) | 边缘设备实时视频超分 | 面向低功耗，画质定位低于上述，未跑 |
| BasicVSR++ / RealBasicVSR / [SeedVR2 的 ComfyUI 封装](https://github.com/lihaoyun6/ComfyUI-SeedVR2_VideoUpscaler) | 视频原生（利用相邻帧） | 需 mmcv 系依赖（Python 3.12 + cu130 下安装风险高），未装 |

## 三、给本片（320×240 / 15fps / DivX 劣化）的建议

1. **继续用 Real-ESRGAN x4plus 出片**：它在"锐度"这一端最强，而这片子最缺的就是锐度；闪烁问题用"不插帧的 15fps 版"规避（已交付）。
2. **RTX VSR 留作快速预览/试看**：44 fps，4 分钟的片子 6 秒就出结果，用来快速挑片段、比对参数非常划算；但**别拿它出成品**（细节比源还少）。
3. **UltraSharpV2-Lite 可当"轻量去块预处理"**：90 MiB 显存、7.3 fps、邻帧 PSNR 25.7（比源还稳），适合先压掉块效应再做超分——值得一试的组合。
4. **真正可能突破"锐度↔稳定性"权衡的只有视频原生模型**（SeedVR2 / BasicVSR++），它们能用相邻帧的信息同时提锐度、压闪烁。**SeedVR2-3B 是唯一值得投入的"下一步"**，但要接受 14.5GB 下载（约 2.5 小时）与扩散模型的推理时间。
5. **别指望这批模型解决根本问题**：源是 214 kbps 的 240p，10 kHz 以上音频、高频细节都已不可逆丢失。**最大收益仍在拿到那张 CD+VCD**（音频一步到位 + VCD 352×288 起点）。

## 四、对比图

`对比图-六方案横向对比.png`：上排 = 源最近邻 / Real-ESRGAN / UltraSharpV2(DAT)，下排 = UltraSharpV2-Lite / SwinIR / RTX VSR（同一时刻 7.5s，同一裁剪区域 640×480）。

## 五、复现命令（GPU 机）

```bash
# 1) 准备全 I 帧测试片段（逐帧可定位，避免帧序错乱）
ffmpeg -y -ss 15 -t 15 -i 源.mp4 -c:v libx264 -preset ultrafast -qp 0 -x264-params keyint=1 -pix_fmt yuv420p t15.mp4

# 2) 各逐帧模型（脚本 /tmp/sr_video.py 已留在 GPU 机）
python3 /tmp/sr_video.py --in t15.mp4 --out out.mp4 --model <模型.pth> --scale-out 960:720 --crf 18

# 3) RTX VSR（脚本 /tmp/rtx_vsr.py）
python3 /tmp/rtx_vsr.py --in t15.mp4 --out out_rtx.mp4 --scale 3.0 --quality HIGH

# 4) 指标（/tmp/metrics2.py）
python3 /tmp/metrics2.py
```
