2024-10-20 20:46:06 +02:00
2024-10-20 20:43:31 +02:00
2023-10-10 16:57:44 +07:00
2023-10-10 16:57:44 +07:00
2023-11-04 17:41:25 +07:00
2024-10-20 20:43:31 +02:00
2024-10-20 20:43:31 +02:00
2023-10-10 16:57:44 +07:00
2024-10-20 20:43:31 +02:00
2023-10-18 08:41:23 +07:00
2023-10-10 16:57:44 +07:00
2024-10-06 11:44:42 +02:00
2024-10-20 20:46:06 +02:00
2023-10-10 16:57:44 +07:00
2023-10-10 16:57:44 +07:00
2023-11-04 17:41:25 +07:00

ComfyWarp

WarpFusion Custom Nodes for ComfyUI

Installation

  • Create a folder for ComfyWarp. Avoid whitespaces and non-latin alphanumeric characters.
  • Download install & run bat files and put them into your ComfyWarp folder
  • Run install.bat. If the installation is successful, the server will be launched.
  • Download and unzip the attached archive into your ComfyWarp/ComfyUI/custom_nodes folder
  • Close the server window and run run.bat to fetch the newly installed warp nodes :D

Sample workflows

Sample workflows are located in ComfyWarp\sample_workflow\

Video with the workflow:

Nodes

Make Frame Dataset

Input a path to extracted frames

Load Frame From Dataset

Loads a frame from the frame folder

Extract optical flow

Input 2 frames, get optical flow between them, and consistency masks

WarpFrame

Applies optical flow to a frame

LoadFrameFromFolder

Used to load rendered frames from the output folder for loopback. Loads frame from folder. Updates frame list on each call. If there are no frames in the folder, returns init_image.

LoadFramePairFromDataset

Returns 2 frames: current and previous.

ResizeToFit

Resize an image to fit, keeping the aspect ratio.

SaveFrame

Save frame to a folder, using current frame number.

MixConsistencyMaps

Mix consistency maps, blur, dilate.

RenderVideo

Trigger output video render at a given frame

FlowBlend Deflickering pipeline from warp's video output cell
This part smooths out the frames by blending the current stylized output frame and previously stylized and warped output frame, where consistent areas are blended linearly, and inconsistent areas are taken from the current stylized output frame only. This smooths non-moving parts and helps reduce trails on moving parts. Renders a video from frames following the {frames_folder}{batch_name}%06d.png pattern.

Inputs

output_dir: folder to put the rendered video to. Will be created automatically

frames_input_dir: folder to get frames from, plug your SaveFrame output dir here

batch_name: batch name you've set in your SaveFrame node, default - ComfyWarp

first_frame: start video from that frame, default: 0

last_frame: end video at that frame, default: -1, means use all available frames

render_at_frame: frame at which to begin rendering video. Plug your FrameDataset total frame number here or specify manually if you want to render video before diffusing all the frames.

current_frame: current frame being rendered, used to trigger video render. don't enter manually, Plug your current frame variable here.

fps: output fps

output_format: codec to use, h264_mp4, qtrle_mov, prores_mov

use_deflicker: enable ffmpeg built-in deflicker

Schedulers:

  • SchedulerString
  • SchedulerFloat
  • SchedulerInt

Provide disco-style schedules. A list of values or a dictionary with keyframes and input frame number to index into the schedule.

S
Description
No description provided
Readme CC-BY-4.0
133 KiB
Languages
Python 88.3%
Batchfile 7.5%
JavaScript 4.2%