Reverse Video
Run a clip backwards without touching an NLE
- video
- video
- output_path
- summary
Reversing a clip is a two-second job in any editor, but ComfyUI isn't an editor - and if you're building a workflow that needs a backwards version of a render (a loop that plays forward then rewinds, a b-roll flourish, a before/after demo), breaking out of the graph to do it by hand breaks your automation. MKRReverseVideo does it in place: video in, reversed video out, same fps, no timeline required.
What it's for
It slots into the pack's video-edit lane for exactly the moments where a reversed pass is part of a larger generated pipeline rather than a standalone edit. Loop videos are the classic case - generate a short clip, reverse it, splice them, and your loop resets instead of jumping. It also turns a clip into instant "before and after" material if you're comparing a source to a processed version.
How it works
It decodes the input to frames, reverses the frame list, and re-encodes. Frame rate comes from the source when it's readable, otherwise fallback_fps (default 24) steps in. output_format defaults to auto, which keeps the source's container when it's one of gif/webp/mp4/mov/webm - so a reversed gif stays a gif. If you ask for mp4/mov/webm and ffmpeg isn't installed, it warns and falls back to gif rather than failing.
Inputs and outputs
Inputs: video, fallback_fps, output_format, filename_prefix, subfolder, overwrite. Outputs: video (an MKR_VIDEO payload - wire it into other MKRShift media nodes or the presave node), output_path (the file on disk), and summary (fps used, warnings).
Installing it
Standard pack install:
cd ComfyUI/custom_nodes
git clone https://github.com/criskb/MKRShift_Nodes
restart ComfyUI, or Manager → MKRShift_Nodes. The README's ffmpeg requirement applies: the fallback path writes gif/webp fine, but container output wants the real binary.
Common issues
The big one is memory, and it's structural: the node decodes the entire clip into RAM to reverse it. A 30-second 4K clip is a lot of frames sitting in a list - for very long sources, transcode a proxy first (MKRProxyTranscode is right there in the same pack) and reverse that. Also, auto inherits the source container, quirks included; a source gif reversed keeps gif's color limitations, so if you need quality, pick mp4 explicitly.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| video | * | — | |
| fallback_fps | FLOAT | 24.01–240 | — |
| output_format | COMBO | auto | 6 options: auto, gif, webp, mp4, mov, webm |
| filename_prefix | STRING | MKR_reverse_video | — |
| subfolder | STRING | — | |
| overwrite | BOOLEAN | false | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| video | MKR_VIDEO | — |
| output_path | STRING | — |
| summary | STRING | — |