AI 视频本机超分:Real-ESRGAN x4plus 与闪烁检查
入档:2026-09-26 来源:76_清月 成片后期(Seedance 2.5 720p → 1080×1920),
{aigc-creative-archive}/76_清月_银发仙子角色PV/06_成片/README.md验证状态:⚠️两例,结论分叉——76《清月》(国漫 CG,采用)· 77《右下角的池塘》(胶片感写实真人,作者否决,见第 6 节)
2026-09-29 先读这句:超分不是默认步骤。写实、胶片感的片子,x4plus 会把皮肤抹平、纹理变硬,作者判”质感反而变差”。帧差、静止角、抽帧锐度都说它合格,但这些指标量不到质感。要超分,先做一段 5 秒的原版 / 超分对比片给作者看,再整片执行。
一句话
“720p 出片、后期超分”是库里好几个项目定下的省钱做法,这是第一次真的做完。做法是逐帧超分,再缩到目标尺寸,原音轨直接复制。选模型前先抽三帧对比:CG 质感的片子用 realesrgan-x4plus,不要用名字里带 video 的 realesr-animevideov3。交付前量一次相邻帧差,确认超分没有引入闪烁。
为什么要写下来
生成按秒计费,1080p 比 720p 贵三倍以上(见 派生图不进视频输入律_噪点随编辑代数累积_v1 与 Seedance2_5_行为规律_v1 第七节)。所以《余温》《擦干净》都定了”720p 出片、后期超分”,但此前没人跑过这一步,留下三个问题:用什么工具、选哪个模型、怎么知道没把片子弄坏。
如何使用
1. 工具
- ffmpeg(BtbN 的 Windows 构建)和 Real-ESRGAN ncnn-vulkan(xinntao/Real-ESRGAN 发布页的 portable 包)。两者都是解压即用,不需要 Python 或 CUDA,任何有 Vulkan 显卡的电脑都能跑。
- 本次:RTX 5060,361 帧 ×4 用时约 18 分钟(1,099 秒)。
2. 先选模型:抽三帧对比
抽三种最容易出问题的画面:面部特写(皮肤、睫毛)、大面积自然纹理(云层)、低照度剪影(暗部噪点)。 每帧按三种方式放大到同一尺寸,裁同一位置并排对比:原片 Lanczos 放大、候选模型 A、候选模型 B。
| 模型 | 本次结果 |
|---|---|
realesr-animevideov3 ×2 | 皮肤抹成塑料感,睫毛糊,云层变成涂抹画 |
realesrgan-x4plus ×4 | 皮肤质感、睫毛、发丝边缘、云层纹理都保住,还顺带压掉一部分压缩块 → 采用 |
animevideov3 是给平涂动画设计的,会把渐变和细纹理”平涂化”。国漫 3D CG 看着像动画,其实是写实渲染,所以要按写实素材选模型。
3. 超分与合成
ffmpeg -i src.mp4 in/%05d.png
realesrgan-ncnn-vulkan.exe -i in -o out -n realesrgan-x4plus -s 4 -f png -j 2:2:2
ffmpeg -framerate 24 -i out/%05d.png -i src.mp4 -map 0:v:0 -map 1:a:0 -vf "scale=1080:1920:flags=lanczos,format=yuv420p" -c:v libx264 -preset slow -crf 16 -profile:v high -r 24 -c:a copy -movflags +faststart -shortest out_1080p.mp4
- ×4 出 2880×5120,再用 Lanczos 缩到 1080×1920。超采样后再缩比直接 ×1.5 更干净。
- 帧率先确认是恒定的。LibTV 直出是 CFR 24,可以直接按 24 帧重组;即梦 CLI 直出是 VFR,要先转 CFR(见 Seedance 档第七节)。
- 音轨
-c:a copy不重编码。-shortest会按画面长度截尾,本次截掉了原音轨末尾约 30 毫秒的余音。
4. 闪烁检查
逐帧超分最怕纹理在帧与帧之间跳。把原片和成片都缩回同一尺寸的灰度图,算相邻帧差的均值:
ffmpeg -i clip.mp4 -vf "scale=720:1280:flags=area,format=gray,tblend=all_mode=difference,signalstats,metadata=print:key=lavfi.signalstats.YAVG:file=-" -f null -
除了全片,再单独算一段画面几乎静止的镜头(那里任何闪烁都会显形)。
| 全片 | 静止段 9.5–11.5 秒 | |
|---|---|---|
| 原片 720p | 7.100 | 2.050 |
| 成片 1080p | 7.026 | 1.980 |
判据:成片的帧差不高于原片,就说明没引入可测的闪烁。最后的观感仍以作者目视为准,这个数只能证明”没变坏”。
5. 交付
- 成片记尺寸、帧数、时长、字节数和 SHA256,不入 git。
- 上传平台用原版母版。浏览器扩展的上传上限(10MB)不是压缩理由,见 浏览器插件自动化的能力边界_v1 的 2026-09-26 补丁。
6. 2026-09-29 补丁:写实胶片感片子,作者否了
77《右下角的池塘》是 16:9、1:48 的宣传微电影,画风是”35mm 胶片质感、低饱和、柔和颗粒、浅景深”的写实真人(Seedance 2.5,720p)。按本文流程,五段 AI 素材一共 1,877 帧,全部 ×4 超分再缩到 1920×1080,在本机 RTX 5060 上每帧约 3.8 秒,合计约 2 小时,然后出了整片。
- 机器检查全过:五段的静止角帧差持平或下降(M02 0.296→0.204,M04 0.304→0.188),抽帧看毛衣针织和发丝”更清楚”。
- 作者看成片:「感觉超分后质感反而变差了,我们直接投递原版吧」。定稿改用原版 720p,剪辑时 Lanczos 放大到 1080p。
- 对比同一帧的局部:原版保留了原片的柔焦和颗粒;超分版皮肤被抹平,纹理变硬,整体发”塑料”。对胶片感的片子,那层颗粒和柔焦就是质感本身,x4plus 会把它当成噪点修掉。
- 闪烁判据要改:整帧帧差会误报。M01 整帧 1.730→1.860、M03 2.025→2.156,都报了”帧差变大”,但静止背景的帧差其实是下降的。运动区域被锐化以后,相邻帧的差值自然变大,这不是闪烁。改成只量画面上角静止背景(虚焦办公区、窗外)的帧差,才是在查闪烁。见 用错度量会给出虚假通过_v1 的补丁。
由此修正的用法:
- 超分从默认步骤降为可选步骤。《余温》《擦干净》定下的”720p 出片、后期超分”,在写实胶片感的片子上不成立。
- 要超分,先挑最能看出质感的 5 秒(近景人脸、织物),出原版 / 超分对比片给作者看,作者点头再整片执行。本片省掉这一步,白跑了 2 小时。
- 剪辑脚本保留超分素材,但默认不用,要加参数才用。原版和超分版可以随时切换重出。
边界
- 两个样本方向相反:国漫 3D CG(《清月》)采用;写实胶片感真人(本片)否决。平涂动画、其他超分模型(例如更保守的 ×2 模型)都没测,作者的判断也不是盲测。
- 原本只跑过一条 15 秒 9:16 的国漫 CG 片;77 补上了 16:9 长片,结论见第 6 节。
- 模型对比是三帧目视,不是盲测。
- 帧差均值能发现整体闪烁,但查不出局部小块的闪动;静止段单独测能补一部分。
关联文档
- 来源复盘:2026-09-26_清月_单条15秒角色PV_立项到三平台发布_复盘_v1
- 反例(写实胶片感,作者否决):2026-09-29_右下角的池塘_游戏宣传微电影_实录混剪到双语字幕发布_复盘_v1
- 整帧帧差误报:用错度量会给出虚假通过_v1
- “720p 出片、后期超分”的出处:2026-09-20_余温_关键帧先行到锚点制_M02四轮试镜复盘_v1 · 派生图不进视频输入律_噪点随编辑代数累积_v1
- 帧率与计费:Seedance2_5_行为规律_v1
- 同族”机器验参数、人眼验内容”:自动化产出双重验收_机器验参数人眼验内容_v1
- 工具怎么装(临时电脑、免安装):Claude桌面版接入LibTV远程MCP_临时电脑环境与会话重连_v1
- 成片之后:多平台同步投稿_发布页字段与浏览器辅助清单_v1 · 浏览器插件自动化的能力边界_v1