VIDEO Web Viewer @ vrch.ai
Play your generated video in a popped-out browser window
- URL
ComfyUI has a built-in preview, but when you're doing live work - a VJ set, an installation, showing a client - you don't want your video squished into the workflow canvas. VrchVideoWebViewerNode pops a separate browser window that plays a video file served from your ComfyUI machine, on any device with a browser. It's the video leg of the pack's "real-time interactive art" identity, and the README even ships an example that adds sound, so this is built for more than silent test clips.
What it does
The one field you must set is filename - the video file (mp4 or whatever your pipeline outputs) it should play. The rest is the same control set the 3D viewer uses:
- Where it connects:
server(default127.0.0.1:8188) andsslfor HTTPS. On another device, this has to point at the machine running ComfyUI. - How it refreshes:
refresh_interval(1–10000 ms, default 5000) is how often the viewer checks for a new file. For a live loop where you're regenerating clips on a queue, drop this low; for a static playback, leave it high so you're not polling constantly. - The window:
window_width/window_height(defaults 1280×960),save_settingsto keep your window setup,show_urlto display the address,dev_modefor browser devtools, andextra_params/urlfor extra query parameters or a full URL override.
It outputs URL (the address the video plays from) and is an output node - the display step at the end of a branch. Grab that URL if you want to log where a clip ended up or pass it to something else.
Why you'd reach for it
Two honest use cases. First, the obvious live one: paired with the pack's real-time control nodes (MIDI, gamepad, OSC), it's the output surface for interactive video - generate, play, regenerate. Second, the sneaky useful one: refresh_interval polling means you can point it at a directory your pipeline keeps writing to and treat it as a simple "latest file player." The README's example_web_viewer_004_video_web_viewer_video_with_sfx.json shows video-plus-audio, which is where this node shines over the flat preview.
Installing it
Shared pack install:
cd ComfyUI/custom_nodes
git clone https://github.com/VrchStudio/comfyui-web-viewer
pip install -r comfyui-web-viewer/requirements.txt
Or search ComfyUI Web Viewer in ComfyUI Manager and restart. No extra models.
Troubleshooting
These are the pack's two famous ones, straight from the README. Blank viewer in Chrome? Add your ComfyUI server's IP under chrome://flags/#unsafely-treat-insecure-origin-as-secure - Chrome blocks the insecure http origin. CORS error mentioning a host mismatch? Relaunch ComfyUI with --enable-cors-header. And if audio is missing from a video that should have sound, that's the FFmpeg path issue the README covers: you need the FFmpeg command-line tool on PATH and the ffmpeg-python package, and if you see module 'ffmpeg' has no attribute 'input', you've got the wrong ffmpeg package installed - uninstall it and reinstall the pack's requirements.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| filename | STRING | — | |
| channel | COMBO | 1 | 8 options: 1, 2, 3, 4, 5, 6, +2 |
| server | STRING | 127.0.0.1:8188 | — |
| ssl | BOOLEAN | false | — |
| refresh_interval | INT | 50001–10000 | — |
| server_messages | STRING | — | |
| save_settings | BOOLEAN | false | — |
| window_width | INT | 1280100–10240 | — |
| window_height | INT | 960100–10240 | — |
| show_url | BOOLEAN | false | — |
| dev_mode | BOOLEAN | false | — |
| extra_params | STRING | — | |
| url | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| URL | STRING | — |