Nodes/Deno Custom Nodes/(Deno) Video Compare
ComfyUI Node

(Deno) Video Compare

A/B your videos on the canvas, not in two separate players

By Deno2026·Created 5 months ago·Updated about 23 hours ago· 157
(Deno) Video Compare
  • video_a
  • video_b
  • audio_a
  • audio_b
  • comparison
modeSlider
split_position0.50
toggle_imageB
swapfalse
fps24.00
burn_labelsfalse

Judging whether an upscale actually improved a clip means comparing it to the original, and comparing two videos by juggling windows is a terrible way to do it. (Deno) Video Compare puts video A and video B in one node on the ComfyUI canvas with a slider, side-by-side, difference, and toggle views - the same A/B toolkit you know from image comparison, but for frame batches.

How it works

Both sides play on a shared timeline at the same duration, so A/B stay frame-exact. That detail matters more than it sounds: an upscale keeps the same frame count, so the two are locked frame-for-frame and the slider lands on identical moments; an FPS-interpolation result (say, RIFE taking 24fps to 48fps) just plays smoother over the same length rather than going out of sync. All compositing is pure tensor work - no external encoder is launched - with the in-node player drawing a downscaled WebP frame sequence on a canvas, audio played via WebAudio. Files go to ComfyUI's temp dir and auto-clear on restart.

The player gives you the essentials: hover-move slider, click to play/pause, scrub bar, frame step, speed, loop, and hover to hear the selected side's audio. fps (default 24) sets the preview rate, and burn_labels optionally bakes A/B labels plus resolution badges into the saved output frames.

Inputs and outputs

  • video_a / video_b - IMAGE frame batches. This is the pair you're judging.
  • audio_a / audio_b - optional AUDIO for preview sync, e.g. from VHS Load Video.
  • mode - Slider, Side by Side, Difference, Toggle; split_position and toggle_image tune the view, swap flips A and B.
  • comparison - the output worth noting. It's a full-resolution, lossless IMAGE of whichever mode you selected, ready to wire straight into a save or VHS VideoCombine node. So the node isn't just a preview - it can hand your chosen comparison view to an encoder.

Install and context

Standard pack install:

cd ComfyUI/custom_nodes
git clone https://github.com/Deno2026/comfyui-deno-custom-nodes.git
# restart ComfyUI

No extra dependencies. If the node feels heavy on your machine, the same pack (and the README) points to a no-install browser tool at deno2026.github.io/comfyui-deno-custom-nodes/video-compare/ that does the same comparison for already-rendered files - worth knowing when you just want to A/B two exported clips without loading ComfyUI at all.

The natural workflow is right after an upscale or interpolation node: render the source and the result through to this node, flip to Difference to see exactly where the changes are, then use Side by Side for the final judgment. One honest caveat: Difference mode on heavily processed video can look alarming - interpolation shifts every pixel slightly, so a large difference mask doesn't always mean a bad result. Judge with the slider, not just the difference view.

CategoryDeno/Image

Inputs (10)

NameTypeDefaultDescription
modeCOMBOSliderComparison view for two video frame batches.
split_positionFLOAT0.500.02–0.98Slider split position between video A and video B.
toggle_imageCOMBOBWhich video is shown first in Toggle mode.
swapBOOLEANfalseSwap A and B before previewing or outputting.
fpsFLOAT24.001–240Preview frame rate for playback.
burn_labelsBOOLEANfalseBurn A/B labels into the output frames.
video_aoptIMAGEFirst video frame batch.
video_boptIMAGESecond video frame batch.
audio_aoptAUDIOOptional audio for video A preview sync.
audio_boptAUDIOOptional audio for video B preview sync.

Outputs (1)

NameTypeDescription
comparisonIMAGEComposited comparison frame batch.