[SSN] Output WebM
Turn a frame batch into a real .webm file — after you install ffmpeg
- images
- pass_through
[SSN] Output WebM is the pack's video encoder: you feed it an image batch and it writes an actual .webm video file to disk, encoded with ffmpeg using the libvpx codec. It's an output node - the last stop in a workflow - and it's the payoff node for everything else in this pack's draw/prep chain.
The workflow it completes: generate frames → Draw Text or Trim Scale → Flatten Alpha → Output WebM. Give it a batch of frames plus a framerate (5–60, default 25), a bitrate_mb (1–100, default 10), and an output_path, and it saves the video. The output_path is relative to ComfyUI's output directory - type my_animation and you'll get ComfyUI/output/my_animation/my_animation.webm. It writes the frames to a temp folder, runs ffmpeg on them, and hands the result back to the UI so it appears as an animated preview in the queue.
Here's the thing you have to know before you rely on it: this node shells out to the ffmpeg executable on your system PATH. Not a Python library - a real ffmpeg binary. The pack's requirements.txt lists imageio-ffmpeg, which ships a bundled ffmpeg binary, but it does not put that binary on your PATH, and the node never looks for it. So on a fresh install with no system ffmpeg, this node will fail at the encode step with "ffmpeg: not found" (or a subprocess error in the console). On Linux that's usually an apt install away; on Windows you need ffmpeg on PATH. It's a genuine footgun the pack's own README never mentions - the README is literally one line.
The good news: when ffmpeg is present, the node is transparent to a fault. It writes a verbose log to the ComfyUI console - every stage, the full ffmpeg command, exit codes, even the ffmpeg output. If something fails, the console tells you exactly what. There's an optional pass_through IMAGE input, but read the source before trusting it: pass-through frames get written to a side folder and are not encoded into the video - it's a "save these extra frames for reference" thing, not a second track. Don't wire it expecting a picture-in-picture.
The encoding itself is standard: VP8 video (libvpx) with your chosen bitrate, Opus audio track (harmless even with no audio), at your framerate. It's a perfectly respectable WebM for preview and web use; if you need H.264 MP4 for editing software, this isn't the node, but as a "get my frames out as a real video" tool it does the job.
Install
Part of smn_support_nodes by SummonTheCat. ComfyUI Manager → search smn_support_nodes → Install → restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/SummonTheCat/smn_support_nodes
Restart required. The pack installs opencv-python and imageio-ffmpeg automatically, but you also need the ffmpeg binary installed on your system for this node to work. On Ubuntu/Debian: sudo apt install ffmpeg. On Windows, add ffmpeg to your PATH or install it via a package manager like winget.
Troubleshooting
The dominant failure mode is missing ffmpeg - run ffmpeg -version in a terminal; if that errors, that's your problem, not the node. If ffmpeg exists but the video comes out wrong, check the console log: it prints the exact command and ffmpeg's own error output. And remember output_path is a folder path relative to ComfyUI's output dir - the filename is derived from the last folder name you give it.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| framerate | INT | 255–60 | — |
| bitrate_mb | FLOAT | 101–100 | — |
| output_path | STRING | — | |
| pass_throughopt | IMAGE | — |
Outputs (0)
No outputs