视频放大・视频修复
基本的思路和手法,与 放大・图像修复 几乎相同。
-
- 提高分辨率
-
- 自然地补充缺失的细节,整理画质
但是有一个大的区别,在视频中 时间方向的连接(不闪烁) 变得很重要。
虽然“逐帧”使用静止画用放大器姑且也能做到视频放大,但因为没有 时间上的一致性,所以可能会出现闪烁。
毕竟,还是使用视频专用的放大器比较好吧。
介绍两个现在的 SoTA。
虽说无法将静止画用的放大器用于视频,但反过来没什么特别的问题。 倒不如说因为比静止画专用的性能更好,实际上经常被使用。
SeedVR2
numz/ComfyUI-SeedVR2_VideoUpscaler
专注于视频放大,并使其能在 1 步内生成。
虽然性能非常高,甚至可以用于修复级别,但也非常重。
FlashVSR
lihaoyun6/ComfyUI-FlashVSR_Ultra_Fast

{
"id": "d3268a79-1642-49b7-abca-afe8eabefcbf",
"revision": 0,
"last_node_id": 6,
"last_link_id": 4,
"nodes": [
{
"id": 2,
"type": "VHS_LoadVideo",
"pos": [
663.323141360561,
634.7620900749006
],
"size": [
253.279296875,
628.3644045064377
],
"flags": {},
"order": 0,
"mode": 0,
"inputs": [
{
"name": "meta_batch",
"shape": 7,
"type": "VHS_BatchManager",
"link": null
},
{
"name": "vae",
"shape": 7,
"type": "VAE",
"link": null
}
],
"outputs": [
{
"name": "IMAGE",
"type": "IMAGE",
"links": [
1
]
},
{
"name": "frame_count",
"type": "INT",
"links": null
},
{
"name": "audio",
"type": "AUDIO",
"links": null
},
{
"name": "video_info",
"type": "VHS_VIDEOINFO",
"links": [
3
]
}
],
"properties": {
"cnr_id": "comfyui-videohelpersuite",
"ver": "6e7f63867584bb1fb4944d36172e7f98436da9a1",
"Node name for S&R": "VHS_LoadVideo"
},
"widgets_values": {
"video": "7.mp4",
"force_rate": 0,
"custom_width": 0,
"custom_height": 0,
"frame_load_cap": 0,
"skip_first_frames": 0,
"select_every_nth": 1,
"format": "AnimateDiff",
"choose video to upload": "image",
"videopreview": {
"hidden": false,
"paused": false,
"params": {
"filename": "7.mp4",
"type": "input",
"format": "video/mp4",
"force_rate": 0,
"custom_width": 0,
"custom_height": 0,
"frame_load_cap": 0,
"skip_first_frames": 0,
"select_every_nth": 1
}
}
}
},
{
"id": 4,
"type": "VHS_VideoInfoLoaded",
"pos": [
992.7530493528476,
924.9067122404671
],
"size": [
247.837890625,
106
],
"flags": {},
"order": 2,
"mode": 0,
"inputs": [
{
"name": "video_info",
"type": "VHS_VIDEOINFO",
"link": 3
}
],
"outputs": [
{
"name": "fps🟦",
"type": "FLOAT",
"links": [
4
]
},
{
"name": "frame_count🟦",
"type": "INT",
"links": null
},
{
"name": "duration🟦",
"type": "FLOAT",
"links": null
},
{
"name": "width🟦",
"type": "INT",
"links": null
},
{
"name": "height🟦",
"type": "INT",
"links": null
}
],
"properties": {
"cnr_id": "comfyui-videohelpersuite",
"ver": "6e7f63867584bb1fb4944d36172e7f98436da9a1",
"Node name for S&R": "VHS_VideoInfoLoaded"
},
"widgets_values": {}
},
{
"id": 3,
"type": "VHS_VideoCombine",
"pos": [
1323.428325432686,
634.7620900749006
],
"size": [
376.3275432341816,
812.7750563924108
],
"flags": {},
"order": 3,
"mode": 0,
"inputs": [
{
"name": "images",
"type": "IMAGE",
"link": 2
},
{
"name": "audio",
"shape": 7,
"type": "AUDIO",
"link": null
},
{
"name": "meta_batch",
"shape": 7,
"type": "VHS_BatchManager",
"link": null
},
{
"name": "vae",
"shape": 7,
"type": "VAE",
"link": null
},
{
"name": "frame_rate",
"type": "FLOAT",
"widget": {
"name": "frame_rate"
},
"link": 4
}
],
"outputs": [
{
"name": "Filenames",
"type": "VHS_FILENAMES",
"links": null
}
],
"properties": {
"cnr_id": "comfyui-videohelpersuite",
"ver": "6e7f63867584bb1fb4944d36172e7f98436da9a1",
"Node name for S&R": "VHS_VideoCombine"
},
"widgets_values": {
"frame_rate": 8,
"loop_count": 0,
"filename_prefix": "FlashVSR",
"format": "video/h264-mp4",
"pix_fmt": "yuv420p",
"crf": 19,
"save_metadata": true,
"trim_to_audio": false,
"pingpong": false,
"save_output": true,
"videopreview": {
"hidden": false,
"paused": false,
"params": {
"filename": "FlashVSR_00001.mp4",
"subfolder": "",
"type": "output",
"format": "video/h264-mp4",
"frame_rate": 24,
"workflow": "FlashVSR_00001.png",
"fullpath": "D:\\AI\\ComfyUI_windows_portable\\ComfyUI\\output\\FlashVSR_00001.mp4"
}
}
}
},
{
"id": 1,
"type": "FlashVSRNode",
"pos": [
986.0897619994128,
634.7620900749006
],
"size": [
259.5867768595042,
226
],
"flags": {},
"order": 1,
"mode": 0,
"inputs": [
{
"name": "frames",
"type": "IMAGE",
"link": 1
}
],
"outputs": [
{
"name": "image",
"type": "IMAGE",
"links": [
2
]
}
],
"properties": {
"aux_id": "lihaoyun6/ComfyUI-FlashVSR_Ultra_Fast",
"ver": "059b725cde725fde1d367a40fe5fead9c0a751bd",
"Node name for S&R": "FlashVSRNode"
},
"widgets_values": [
"FlashVSR-v1.1",
"tiny",
2,
true,
true,
256,
1234,
"fixed"
],
"color": "#232",
"bgcolor": "#353"
}
],
"links": [
[
1,
2,
0,
1,
0,
"IMAGE"
],
[
2,
1,
0,
3,
0,
"IMAGE"
],
[
3,
2,
3,
4,
0,
"VHS_VIDEOINFO"
],
[
4,
4,
0,
3,
4,
"FLOAT"
]
],
"groups": [],
"config": {},
"extra": {
"ds": {
"scale": 0.693433494944134,
"offset": [
136.176777994939,
-331.11780271126634
]
},
"frontendVersion": "1.34.3",
"VHS_latentpreview": false,
"VHS_latentpreviewrate": 0,
"VHS_MetadataImage": true,
"VHS_KeepIntermediate": true
},
"version": 0.4
}
汇总处理多个帧,抑制时间方向的抖动和闪烁。
设计上可以实现接近实时的处理速度,由于高速・轻量,所以最好先试试这个。