ComfyUI Node

DLSS5 Video Info

Find out what your clip actually is before you wreck it

By Strix-3D·Created 18 days ago·Updated 5 days ago· 4
DLSS5 Video Info
    • video_info
    • width
    • height
    • fps
    • frame_count
    ◄Video Path►

    What it's for

    The pack works on video files, not tensors. You point a path at DLSS5 Enhance (Video), it hands back a path, and at no point does anything tell you what that file turned out to be. If you asked for Scale 2.0 on a 1920-wide clip, is the output 3840? Did the frame count survive the reconstruction? Is the frame rate still 23.976, or did something round it to 24?

    This node answers that. Give it a path, get the real numbers. It's a probe, not a processor.

    It's the least glamorous node in the pack and the one I'd install the pack for, honestly. Every "my upscale looks wrong" thread starts with nobody having checked the actual dimensions.

    How it works

    It validates the path, then shells out to ffprobe if it can find one. Failing that it falls back to the ffmpeg binary bundled with imageio-ffmpeg, parsing the Duration:/Video: lines out of its stderr. It reports fps by dividing the stream's avg_frame_rate fraction, and frame count from nb_frames - or, when the container doesn't declare that, by decoding the whole file with a null output and counting frames.

    That last detail is the one to know about: on a container without frame metadata, counting frames means reading every frame. A two-minute 4K clip can sit there for a while. It's not hung.

    Nothing errors on a bad probe, either. If both tools fail, you get zeros back rather than an exception, so an all-zero result means "couldn't read it", not "corrupt file, panic".

    Inputs and outputs

    One input: Video Path (STRING). Type it relative to ComfyUI's input/ folder, or link it - the tooltip says it's designed to take an output_path from DLSS5 Enhance (Video), which is exactly the intended wiring. Absolute paths are accepted only if they resolve inside input/ or output/; anything else gets rejected, on purpose.

    Five outputs, and it's worth knowing which is which:

    • video_info - a STRING of JSON. Holds fps, frame count, duration, width and height. Good for a text-preview node or a debug console.
    • width and height - INT.
    • fps - FLOAT.
    • frame_count - INT.

    Wire them anywhere a number is wanted. One ComfyUI quirk bites beginners here: these are sockets, and most parameters (a resize node's width field, say) are widgets. Right-click the widget and choose Convert widget to input to get a socket you can plug into. That's the standard plumbing move, not anything specific to this pack.

    The two ways people actually use it

    Sanity-check an upscale. Selector → Enhance (Video) → Video Info, and read width. If you asked for 2x and got the source resolution back, the upscale stage never ran - most often because in-render DLSS SR and the Enhance Scale flag got crossed up, or because Scale was left at 1.0.

    Feed the numbers forward. fps into a frame-interpolation or combine node, frame_count to budget render time before you commit to a 4K pass. This is the difference between "the clip is broken" and "the clip is 59.94fps and my combine node assumes 30".

    One thing it won't do: it doesn't decode to an IMAGE batch. It gives you metadata only. If you want frames in ComfyUI, that's a video loader's job - this pack deliberately stays out of the tensor path for video.

    Install

    Part of the pack, category DLSS5_v17, no runtime needed. It uses ffprobe from your system PATH when present, otherwise imageio-ffmpeg's bundled binary - which is why that library is in requirements.txt.

    cd ComfyUI/custom_nodes
    git clone https://github.com/Strix-3D/ComfyUI-DLSS5-Enhancer-v15
    .\python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\ComfyUI-DLSS5-Enhancer-v15\requirements.txt
    

    Restart. You do not have to run install.py (the ~700MB runtime download) to use this node - it never calls the CLI. It's only the Enhance nodes that need it, and they'll fail with a missing VE_CLI.exe message if you skipped it.

    Gotchas

    • Relative paths are relative to input/. A file sitting in the ComfyUI root is invisible. Files that Enhance (Video) wrote live in output/, which is fine to link to because the validator allows both folders.
    • Zeros mean unreadable. Non-zero exit from both ffprobe and the fallback leaves all five outputs at 0 instead of raising. Check the path before you suspect the file.
    • avg_frame_rate is an average. Variable-frame-rate phone footage will report something like 29.97 and the count won't divide cleanly. That's the source, not the probe.
    CategoryDLSS5_v17

    Inputs (1)

    NameTypeDefaultDescription
    Video PathSTRINGVideo path. Designed to accept links, e.g. from DLSS5 Enhance (Video) output_path.

    Outputs (5)

    NameTypeDescription
    video_infoSTRING—
    widthINT—
    heightINT—
    fpsFLOAT—
    frame_countINT—