Load, cut and save video: VideoHelperSuite
Lesson "video-vhs", in the group Packs and tools of the lesson list. Steps: 7.
What you will be able to do
You load a piece of a video at a chosen frame rate and save it with its sound.
What you need
- It goes on from Video on a modest graphics card: Wan 2.2 5B. The card says so; it is a hint, not a lock.
- Node packs: ComfyUI-VideoHelperSuite. You install them in ComfyUI yourself, then choose Sync ▸ Sync now. Until then the card says the lesson does not fit and names the pack.
- Nodes: Load Video (Upload) 🎥🅥🅗🅢, Video Combine 🎥🅥🅗🅢.
- The app downloads and installs nothing. The step texts below say which files and folders, and which ComfyUI template names them.
The steps
The words of each step, as the lesson shows them. Node names are in bold.
What the pack is for (reading)
This lesson needs the ComfyUI-VideoHelperSuite pack. Install it yourself through ComfyUI's manager. A pack runs other people's code on your computer, so take it from its official page and keep it up to date.
ComfyUI's own Load Video takes a whole video. The pack's loader takes a piece of it: from which frame, how many, at what frame rate and size. Its Video Combine saves frames as mp4, webm or gif, with sound. Many published video graphs use these two nodes.
No model is needed and nothing heavy runs: the memory is the frames themselves, so a long piece at a large size can still fill it. If the canvas already holds another graph, start from an empty one: "File ▸ New project".
Load the video
Add a Load Video (Upload) 🎥🅥🅗🅢 node and choose the video in
video. The list shows the videos of theinputfolder; the node can also upload a new one.Take the piece you need
In Load Video (Upload) 🎥🅥🅗🅢 set:
force_rateto 16: the frames are taken as if the video were shot at 16 fps, the rate of the large Wan models;skip_first_framesto 16: the first second is skipped;frame_load_capto 81: no more frames than that are taken.
Frames are counted after the rate is changed. 0 in
force_ratekeeps the video's own rate, 0 inframe_load_captakes everything.Size and every other frame (reading)
custom_widthandcustom_heightresize the frames on loading; 0 keeps the size, and one of them alone keeps the proportions.select_every_nthtakes every second, third… frame: a quick way to a lower frame rate or a shorter piece.
A video model wants its own size and frame rate; preparing frames here saves a resize node later.
Save it with the sound
Add a Video Combine 🎥🅥🅗🅢 node. Connect the
IMAGEoutput of Load Video (Upload) 🎥🅥🅗🅢 to itsimagesinput andaudiotoaudio. Setframe_rateto 16, the same asforce_rate, andformattovideo/h264-mp4.The sound comes cut to the same piece. With another frame rate the video and its sound part ways.
What else the pack has (reading)
- Video Info gives the rate, the length and the size of the video, before and after loading.
- Load Video (Path) takes a video by its path instead of the
inputfolder. - Meta Batch Manager splits a long video into parts that fit in memory.
- Video Combine has
loop_countandpingpongfor gifs, and itscrf(in the mp4 settings) trades size for quality.
The graph is ready (reading)
Save the graph with "File ▸ Save workflow for ComfyUI…", open the file in ComfyUI and run it there. This app runs nothing in ComfyUI itself.
What the lesson checks
A reading step is done when you press Got it, next. A doing step ticks itself off when the canvas holds:
- Step 2, Load the video:
- a Load Video (Upload) 🎥🅥🅗🅢 node.
videoof Load Video (Upload) 🎥🅥🅗🅢: a value is chosen.
- Step 3, Take the piece you need:
force_rateof Load Video (Upload) 🎥🅥🅗🅢 is from 1 to 60; Do this for me sets 16.skip_first_framesof Load Video (Upload) 🎥🅥🅗🅢 is from 1 to 100000; Do this for me sets 16.frame_load_capof Load Video (Upload) 🎥🅥🅗🅢 is from 1 to 1000; Do this for me sets 81.
- Step 5, Save it with the sound:
- a Video Combine 🎥🅥🅗🅢 node.
IMAGEof Load Video (Upload) 🎥🅥🅗🅢 intoimagesof Video Combine 🎥🅥🅗🅢 (a Upscale Image or Upscale Image By or ImageFromBatch or ImageResizeKJv2 or Resize Image or GetImageRangeFromBatch or ResizeImageMaskNode in between is accepted).audioof Load Video (Upload) 🎥🅥🅗🅢 intoaudioof Video Combine 🎥🅥🅗🅢.frame_rateof Video Combine 🎥🅥🅗🅢 equalsforce_rateof Load Video (Upload) 🎥🅥🅗🅢.formatof Video Combine 🎥🅥🅗🅢 isvideo/h264-mp4.
What next
These lessons go on from this one: A larger, sharper video: SeedVR2, Remove an object from a video: ProPainter.