在ComfyUI使用SeedVR2的经历
topaz吧
全部回复
仅看楼主
吧务
level 11
离开单位 楼主
在 ComfyUI 中使用 SeedVR2 的一些经历
🧩 主要使用的节点依赖于以下 GitHub 项目: ComfyUI-SeedVR2_VideoUpscaler(https://github.com/numz/ComfyUI-SeedVR2_VideoUpscaler)(目前用的是实验版,支持 VAE)。
社区普遍推荐搭配 ComfyUI-VideoHelperSuite 来完成视频的帧分割与合成输出。它支持用 FFmpeg 替代 OpenCV,效率更高。另外,还可以通过 metabatch 节点控制每段渲染的帧数——这对内存管理非常关键。不过输入的视频注意对色彩空间的控制或元数据里写入色彩空间数据,否则默认输出BT709,不正确将导致色彩偏差。
💾 内存与帧数限制- 直接输出视频(非序列帧)时,内存占用较高,单次任务可处理的最大帧数如: - 64 GiB 内存 ≈ 支持 4K–6K 帧; - 96 GiB ≈ 8K 帧; - 在 128 GiB 环境下通过一些技巧成功跑完了 16K 帧。(metabatch只是减少单次分段占用的内存峰值)
⚠️ 注意一个严重问题:使用VideoHelperSuite的Combine节点合成视频时,内嵌的 FFmpeg 不会释放内存!即使清空节点缓存也无效,必须重启 ComfyUI 才能彻底释放。这是当前版本的一个问题。
个人执行多任务/长时间任务时,使用Persistent-Queue、SaveQueues、dream-video-batches和自定义节点执行任务保留以及完成单任务重启并执行下一任务,直至完成。
✅ 个人建议方案:如果帧数较多,优先选择输出 PNG 序列帧,能显著降低单次任务的内存压力,从而处理更长的视频片段,后期使用FFmpeg/达芬奇再执行合成。
🎨 模型效果对比(7B vs 3B)
- 7B / 7B-sharp:倾向于保留原始画面结构,涂抹感较弱,对细碎噪点(如低曝光产生的噪点)清理有限。对模糊文字和人脸重构能力强且不过度处理。对于模型不理解的文字结构仍会扭曲,例如一些艺术字。
- 3B:去噪力度更强,但画面细节保留能力下降,适合需要一定“磨皮”效果的场景,文字重构和人脸识别相对7B弱很多。
❗ 重要提醒:启用 VAE 会严重破坏模型对画面元素的理解和重构能力,导致细节失真,但可以极大节省显存,效果显著。
例如将一幅1920x1080的画面拆成572x572,重叠32x32。7B模型使用VAE对于纯色背景更加敏感,需要加大重叠以避免拼接处出现渐变色带或黑边。
建议慎用或关闭。
⚙️ Batch Size 与时间一致性
- 当 Batch Size 设置为 帧率 × 2 时,画面已有不错的前后一致性;
- 若提升到 帧率 × 4 至 ×10,模型能更好地根据前后帧推断模糊区域的原始内容,并进行合理填充,效果显著提升。
-随着BatchSize的加大,对于人脸的长期识别和保留也会更佳。即使非常模糊也能构建相对正常的“五官”,并且不会强行锐化太多。只有几十个甚至十几个像素的脸也会试图重建出合理的面部结构,且实际测试中较少出现‘鬼脸’现象。
🖥️ 硬件需求参考| 使用场景
| 显存需求(1080p 及以下老片) | 内存建议 ||----------------|------------------------------|----------|| “能看”级别 | 10–12 GiB | ≥32 GiB || “能用”级别 | 16–24 GiB | ≥32 GiB || 商用/高质量输出 | 40/48/80/96 GiB | ≥64 GiB |
UHD分辨率下,48GB显存,Batchsize=25,一下就溢出了,可见显存的渴望。(详细见官方gitbub)
> 注:除非分辨率极低,否则内存基本都要 32 GiB 起步,否则容易爆内存。
2025年11月09日 09点11分 1
吧务
level 11
离开单位 楼主
下面是一些对比图,基本来自7B-sharp
根据前后帧推理获取箱子上的编号。
不认识的字体仍会扭曲
2025年11月09日 09点11分 2
吧务
level 11
离开单位 楼主
这里字体也是一样,下面的是原图/SeedVR2-7B-Sharp-FP16/starlight-mini-2x的对比
2025年11月09日 09点11分 3
level 6
我是自己写工具把视频分割成帧,然后批量处理,处理之后继续用工具一键重新合成视频。不然我在网上下载到的那个视频流,直接就爆显存、爆内存了,64G的内存还有16G的显存,都居然跑不了
2025年11月09日 11点11分 4
16GB显存只够跑960P Bs=25-37 VAE=512*512 Overlap=32*32,主要提前用序列帧节省的时间不多(非常用编码除外)
2025年11月09日 12点11分
大佬能不能分享下工具[吐舌]
2025年11月25日 07点11分
回复 少时永爱SONE2 :你可以让AI帮你写一个,很简单的,几分钟就搞定
2025年11月25日 08点11分
@55465sdfasdf 666,还真可以[大拇指][吐舌]
2025年12月02日 07点12分
level 1
因为我视频很长所以把视频分割成10秒用dream video节点批量跑,但一次只能跑100个视频,我问一下有没有办法修改批次数量改成100以上的呢?
2025年11月18日 04点11分 6
没必要割成10秒一个吧,32GB内存够一个batch跑1500帧(1min)了,新的video upscaler修复了一部分内存泄露问题。我跑一部2小时电影都是ffmpeg分成4-5mins(6k)一份,一次跑完。
2025年11月18日 05点11分
楼主切成10秒跑,跑完再合并会不会出现视频每10秒出现跳帧卡顿,我3分钟的视频用losslesscut切割成10秒一份,跑完再合并就出现10秒连接的位置接不上上一帧,就跳帧卡很难受
2025年11月21日 14点11分
@SONE12℃ 用videohelpsuit,手动填想要一个分段的帧数,剩下的自动分自动合成就好。要么直接输入序列帧
2025年11月22日 02点11分
@SONE12℃ 我把视频分割10秒的bat执行文件发下面了,复制粘贴把记事本txt文件改成bat文件,放进和视频所在的文件夹里点击即可运行
2025年11月23日 19点11分
吧务
level 11
离开单位 楼主
videoupscaler节点更新了,修复了内存泄漏的问题,可以调节更多参数了,Linux依旧能使用更多加速方法,flash-attn和Triton,也可以自行编译TensorRT加速VAE,VAE decodeing仍然占最多时间。videohelpsuit节点的偶发泄露仍存在。目前最速是RTX PRO 6000,96GB显存可以用任意模型,1920*1080设batch size=241时,速度为1.47fps
2025年11月20日 14点11分 7
level 1
视频分割10秒的bat执行文件
:found_input
if not defined input (
echo [错误] 当前文件夹未找到视频文件。
pause
exit /b
)
echo 发现视频文件:%input%
:: 创建输出文件夹
if not exist "output_parts" mkdir "output_parts"
:: --- 关键状态变量初始化 ---
set /a "part_index=1" :: 片段编号 (从1开始)
set /a "start_time=0" :: 当前片段的起始时间 (整数秒)
set "SEGMENT_DURATION=10" :: 每段时长
:: --- 质量控制 (仅在重编码时有效) ---
:: CRF (Constant Rate Factor) 值。 0=无损, 18=视觉无损, 23=默认, 51=最差
:: 数字越小,质量越高,文件越大。
set "CRF_VALUE=18"
echo 编码质量(CRF)设置为: %CRF_VALUE%
:: ----------------------------
:loop
echo.
:: 创建4位补零的序号 (例如: 0001, 0010)
set "padded_index=000!part_index!"
set "padded_index=!padded_index:~-4!"
echo 正在尝试从 !start_time! 秒处导出 part_!padded_index!.mp4 ...
:: --- 核心修正命令 ---
:: -ss 放在 -i 之前以快速定位
:: -t %SEGMENT_DURATION% 确保精确的时长
:: 移除了 "-c copy" 以强制重新编码,确保精确切割
:: -crf %CRF_VALUE% 控制重新编码的质量
:: -map 0 确保所有流 (视频/音频/字幕) 都被处理
ffmpeg -y -ss !start_time! -i "%input%" -t %SEGMENT_DURATION% -map 0 -crf %CRF_VALUE% "output_parts\part_!padded_index!.mp4" >nul 2>&1
:: 检查 FFmpeg 是否成功创建了文件 (如果视频结束,FFmpeg会失败)
if not exist "output_parts\part_!padded_index!.mp4" goto end_error
:: 使用FFprobe检查新片段的实际时长
:: (这一步在重编码模式下主要用于检测最后那个短于10秒的片段)
for /f "tokens=1" %%b in ('ffprobe -v error -show_entries format^=duration -of default^=noprint_wrappers^=1:nokey^=1 "output_parts\part_!padded_index!.mp4" 2^>^&1') do set "seglen=%%b"
:: 批处理无法可靠比较浮点数,我们检查整数部分
set "length_check=0"
for /f "delims=." %%c in ("!seglen!") do set /a "length_check=%%c"
:: 如果片段时长小于 1 秒,我们认为它是无效的错误片段
if !length_check! LSS 1 goto check_final_segment
:: --- 成功分割片段,更新状态 ---
set /a "start_time+=%SEGMENT_DURATION%"
set /a "part_index+=1"
goto loop
:check_final_segment
:: 这是一个极短的片段 (可能只是一个空文件或FFmpeg的错误输出)
echo 导出的片段时长不足 1 秒。
del "output_parts\part_!padded_index!.mp4" 2>nul
goto end
:end_error
:: FFmpeg 失败,这是因为 -ss 的时间点已经超出了视频总长。
echo 警告: FFmpeg 无法从 !start_time! 秒处创建片段。视为分割结束。
goto end
:end
set /a "final_count=part_index - 1"
if !final_count! LSS 0 set "final_count=0"
echo.
echo ===============================
echo ✅ 分割完成!
echo 共生成 !final_count! 个有效片段。
echo 输出目录:output_parts
echo ===============================
pause
2025年11月23日 19点11分 8
大佬,这个代码好像不行,我已经和视频放一起了,点击那个代码文件会弹窗出现很多乱码,F:\我的文件\新建文件夹>if not defined input (echo [閿欒] 褰撳墠鏂囦欢澶规湭鎵惧埌瑙嗛鏂囦欢銆? pause exit /b)[閿欒] 褰撳墠鏂囦欢澶规湭鎵惧埌瑙嗛鏂囦欢銆?请按任意键继续. . .
2025年11月25日 07点11分
@少时永爱SONE2 你这显然是中文目录的问题
2026年02月11日 11点02分
level 10
看起来似乎seedvr2和starlight还是同一档的,starlight除了文字之外,在画面上还要好一些?
如果没有质变,我暂时就不折腾seedvr2了,等到下一个有质变的模型出来再说。
小吧有试过flashvsr么?听说最近也有些热度,不知道效果如何。
2025年11月24日 07点11分 9
还是那些话,seedvr2倾向于保留原画面结构,也就是"修复能力"弱上一节但不会和星光一样重构画面元素。flashvsr是为实时运行准备的,没啥用。
2025年11月24日 08点11分
@离开单位 明白了,感谢小吧,看来还是星光更符合我的需求,我要处理的主要还是旧设备录出来画质较差的视频,需要更多“修复”。
2025年11月24日 08点11分
@无尽Ω圆周率 可以试试3B的seedvr2会有更多的画面"锐化"和画面重构(扭曲)
2025年11月24日 08点11分
level 2
seedvr慢出天际,效果和starlight接近,毫无性价比可言。
2025年11月24日 07点11分 10
flashvsr快很多不如用这个
2026年01月12日 18点01分
别招笑了,效果是同一档,侧重不同,至于速度跑跑就知道,seedvr2同样的5090硬件和1080p下能跑到2.2fps,星光拿头追[哈哈][哈哈][哈哈][笑眼][笑眼][笑眼]
2025年11月24日 08点11分
我也没说星光比seedvr快啊。。。
2025年11月25日 06点11分
seedvr2比星光只快一点点,跟星芒一样的速度,我用5090跑的,太糊的片源星光效果更好,seedvr2可以增加皮肤纹理,对清晰度修复较差,可以先用星光修复清晰度,再叠加seedvr2增强人脸,就是慢,至于flashvsr更不用比了完全入不了眼,
2026年01月15日 17点01分
level 7
说得非常详细,色彩方面 我试过 带bt709色彩空间数据标签的输入,输出颜色会偏红,而带bt601色彩空间数据标签侧正常,这问题一直困扰着我。
2025年11月30日 10点11分 11
准确来说不是SeedVR2的问题,带bt709色彩空间数据标签的输入,不经任何节点,直接输出视频都会偏红
2025年11月30日 10点11分
@sugar2150 这就不清楚了,在原本不确认是不是709都是直接认定为601转709,后面对红色的影响就轻多了,对2000年前的视频一点点不影响。
2025年11月30日 11点11分
@离开单位 我发现无论输入是啥,都会强制601转709,比如601-DVD输入(记作A),输出变709(色彩正常,记作B),再拿输出的B作为输入,再输出一次记作C,C会被强制601转709(色彩偏红)
2025年11月30日 12点11分
@离开单位 我试着修改custom_nodes\comfyui-VideoHelperSuite\video_formats下的ffmpeg输出色彩代码,但问题依旧
2025年11月30日 12点11分
level 7
启用 VAE 会严重破坏模型对画面元素的理解和重构能力,这个我不太理解,如何把它关闭,最新版本的2.5.12占用的虚拟内存非常大(能上300g),我没发现比夜间版本的好,但夜间版本的分辨率必须要被16整除,1080的分辨率设置不了,只能1088
2025年11月30日 10点11分 12
是我写的含糊了,是不要使用tiles/Tiling(分块),即使有overlap也影响模型判断,但是不用又很难又足够显存渲染到4K以上分辨率,目前提供的ema_vae_fp16优化只能改节点+自编译TRT能有比较好加速和节省显存。
2025年11月30日 11点11分
@离开单位 这个还是要开的,不然跑不动,编码和解码我都 设置 512,64(默认是1024 ,128),相比默认影响大吗,我是16g显存 64g内存
2025年11月30日 12点11分
@sugar2150 视频有画面一致性和时间一致性要求,不是很高分辨率我一般不开。1080P以下都是直接跑,不然一些占画面大的元素跨Tiles时仍难免变形。
2025年11月30日 12点11分
level 1
我之前试用了一下,感觉对于那种320p以下的视频还是用星光重构渲染比较好。seedvr2适合跑有点细节不那么模糊的视频,你对放大要求有很高的要求,电脑配置至少是24g显存和64g内存以上才适合跑,我5070ti
+3
2g内存跑起来速度还不如现在新版星光[汗]
2025年12月09日 07点12分 15
32GB内存需要用最小的Q4模型+比较小的批量(300左右),16GB显存用3B fp8/7B Q4正合适,320p以下确实不如星光,480p-1080p之间才是持平区间。
2025年12月09日 14点12分
吧务
level 11
离开单位 楼主
2025年12月10日 07点12分 16
看不懂啊
2026年01月04日 16点01分
@贴吧用户_JSeMUeW 很直观了呀,何处看不懂
2026年01月04日 16点01分
@贴吧用户_JSeMUeW 这种节点都是简单的节点
2026年01月04日 21点01分
想请教一下,我使用seedvr时爆显存了,然后就出不来这个页面了,有人说换个浏览器就行了,大师指点一下怎么换浏览器,谢谢
2026年03月18日 08点03分
level 6
可惜我不会用,搞了个整合包,然后修复的视频闪烁
2026年01月04日 16点01分 17
1 2 尾页