UV Codec Preset
Friendly names for boring ffmpeg profile keys (and that's about it)
- profile
Let's be honest about this one up front: UV_CodecPreset is the thinnest node in the pack. It's a lookup table with a face. You pick a friendly name like "High Quality HEVC" and it spits out the internal profile key - hevc_hq - as a STRING. That's the entire job, and the entire output is one string called profile.
Which raises the obvious question: why does it exist at all? Because UV_SaveVideo's profile dropdown is built from those same keys (youtube_h264, hevc_hq, av1_web, vp9_webm, prores_422hq_master, prores_4444_alpha, dnxhr_hq_master), and typing or remembering them is exactly the kind of thing you don't want to do twice. This node is a named-profile layer: wire its profile output into one or more UV_SaveVideo nodes and you can change the delivery codec from a single friendly dropdown instead of hunting through each exporter.
The seven options, and what they resolve to:
- YouTube MP4 →
youtube_h264(libx264, yuv420p) - High Quality HEVC →
hevc_hq(libx265, 10-bit) - AV1 Web →
av1_web(libsvtav1) - VP9 WebM →
vp9_webm - ProRes 422 HQ Master →
prores_422hq_master - ProRes 4444 Alpha Master →
prores_4444_alpha - DNxHR Master →
dnxhr_hq_master
In practice you'll reach for it in two situations: you're sharing a workflow and want the "which output codec" decision readable as prose, or you have several save nodes that should all follow one switch. If neither applies - and honestly, if you're only ever exporting one format - just use UV_SaveVideo's own dropdown and skip this node entirely. It's a convenience, not a capability. There's no wrong answer here, and no performance difference; it only changes which label you see.
Install
Installs with the pack, nothing special:
cd ComfyUI/custom_nodes
git clone https://github.com/GeekatplayStudio/ComfyUI-UniversalVideoIO
cd ComfyUI-UniversalVideoIO
pip install -r requirements.txt
Restart ComfyUI and it appears under the UniversalVideoIO category. No models, no downloads. The only real dependency is that the profile key you choose has to be encodable by your ffmpeg build - picking AV1 Web against an ffmpeg without libsvtav1 will fail at the export step, not here, so this node won't warn you. That's fine; the preset is just a label, and labels don't validate codecs.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| preset | COMBO | 7 options: YouTube MP4, High Quality HEVC, AV1 Web, VP9 WebM, ProRes 422 HQ Master, ProRes 4444 Alpha Master, +1 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| profile | STRING | — |