My upscaler and interpolator. I spent a lot of time creating it, with a special focus on quality and speed. Thanks to DaSiWa! Due to the RTX Frame Generation node, version 2.0 consumes significantly more memory than version 1.0. If you run out of memory, avoid selecting the highest "mode" setting, reduce the "scale" value, or use the more stable version 1.0.
Load the video and check the frame rate (look at the force_rate field in the "Load Video (Upload)" node); the "FPS" node must be set to exactly double that rate—so if the frame rate is 16, the "FPS" node should be 32; if it's 24, the "FPS" node should be 48. Otherwise, the video timing will be off; for example, a 5-second input video might result in a shorter or longer output.
Next is the "DaSiWa RTX Upscaler & Refiner" node and the scale value (which determines the output video enlargement). For low-resolution video, set this to 2.00 or higher. However, for 1024x1024 video, a scale of 2.00 over a 20-second duration is already too much; things start to slow down due to insufficient VRAM, and the overflow is dumped into the G:\ComfyUI_windows_portable\ComfyUI\temp folder (your temp folder location may differ). A massive file—20GB or larger—will appear there, indicating a memory shortage where the "DaSiWa RTX Upscaler & Refiner" node is offloading data to the hard drive; this is one way to check if you have enough memory.
Balance is key! You need to balance the output resolution increase against the video duration. I have 16GB of VRAM; when processing a 15-second, 1024x1024 video with scale=2 (resulting in 2048x2048 output), I have just enough memory but no headroom. Therefore, you should either reduce the scale (e.g., to 1.5) or shorten the input video duration.
You can even disable upscaling entirely scale=0), in which case only interpolation will run!
Next... The RIFE Custom Resolution Config node has three parameters: min_dim, opt_dim, and max_dim. For an image with dimensions of, say, 576x800 (frame width 576, height 800), the settings would be min_dim=576, opt_dim=800, and max_dim=800 (values for min_dim, opt_dim, and max_dim must be multiples of 8, as required by TensorRT).
max_dim must be greater than or equal to opt_dim; otherwise, the range becomes invalid.
What if the frame size is 577x801? Neither dimension is a multiple of 8 here—what values should be used for min_dim, opt_dim, and max_dim?
--If the frame size is 577x801, all parameters must still be "rounded up to the nearest multiple of 8." Result: min_dim=584, opt_dim=808, max_dim=808.
Note! Every time you change the parameters in the RIFE Custom Resolution Config node, the model is rebuilt. This takes time and creates a new file containing the resolution in its name (e.g., 1024x1024); the files are located at G:\ComfyUI_windows_portable\ComfyUI\models\tensorrt\rife.
If you frequently use different resolutions, be prepared to wait for the model to rebuild for the required resolution; however, once rebuilt, the model remembers the resolution, and subsequent operations will be very fast!
TensorRT Installation:
From the folder G:\ComfyUI_windows_portable\ComfyUI\custom_nodes, launch CMD and run:
git clone https://github.com/huchukato/ComfyUI-RIFE-TensorRT-Auto
From the folder G:\ComfyUI_windows_portable, launch CMD and run: (you MUST run requirements_cu13.txt first)
.\python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\ComfyUI-RIFE-TensorRT-Auto\requirements_cu13.txt
.\python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\ComfyUI-RIFE-TensorRT-Auto\requirements.txt
Description
My upscaler and interpolator. I spent a long time building it, focusing on quality and speed. Thanks to DaSiWa!
Load the video and check the frame rate (look at the force_rate field in the "Load Video (Upload)" node); the "FPS" node must be set to exactly double that rate—so if the frame rate is 16, the "FPS" node should be 32; if it's 24, the "FPS" node should be 48. Otherwise, the video timing will be off; for example, a 5-second input video might result in a shorter or longer output.
Next is the "DaSiWa RTX Upscaler & Refiner" node and the scale value (which determines the output video enlargement). For low-resolution video, set this to 2.00 or higher. However, for 1024x1024 video, a scale of 2.00 over a 20-second duration is already too much; things start to slow down due to insufficient VRAM, and the overflow is dumped into the G:\ComfyUI_windows_portable\ComfyUI\temp folder (your temp folder location may differ). A massive file—20GB or larger—will appear there, indicating a memory shortage where the "DaSiWa RTX Upscaler & Refiner" node is offloading data to the hard drive; this is one way to check if you have enough memory.
Balance is key! You need to balance the output resolution increase against the video duration. I have 16GB of VRAM; when processing a 15-second, 1024x1024 video with scale=2 (resulting in 2048x2048 output), I have just enough memory but no headroom. Therefore, you should either reduce the scale (e.g., to 1.5) or shorten the input video duration.
You can even disable upscaling entirely scale=0), in which case only interpolation will run!
Next... The RIFE Custom Resolution Config node has three parameters: min_dim, opt_dim, and max_dim. For an image with dimensions of, say, 576x800 (frame width 576, height 800), the settings would be min_dim=576, opt_dim=800, and max_dim=800 (values for min_dim, opt_dim, and max_dim must be multiples of 8, as required by TensorRT).
max_dim must be greater than or equal to opt_dim; otherwise, the range becomes invalid.
What if the frame size is 577x801? Neither dimension is a multiple of 8 here—what values should be used for min_dim, opt_dim, and max_dim?
--If the frame size is 577x801, all parameters must still be "rounded up to the nearest multiple of 8." Result: min_dim=584, opt_dim=808, max_dim=808.
Note! Every time you change the parameters in the RIFE Custom Resolution Config node, the model is rebuilt. This takes time and creates a new file containing the resolution in its name (e.g., 1024x1024); the files are located at G:\ComfyUI_windows_portable\ComfyUI\models\tensorrt\rife.
If you frequently use different resolutions, be prepared to wait for the model to rebuild for the required resolution; however, once rebuilt, the model remembers the resolution, and subsequent operations will be very fast!
TensorRT Installation:
From the folder G:\ComfyUI_windows_portable\ComfyUI\custom_nodes, launch CMD and run:
git clone https://github.com/huchukato/ComfyUI-RIFE-TensorRT-Auto
From the folder G:\ComfyUI_windows_portable, launch CMD and run: (you MUST run requirements_cu13.txt first)
.\python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\ComfyUI-RIFE-TensorRT-Auto\requirements_cu13.txt
.\python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\ComfyUI-RIFE-TensorRT-Auto\requirements.txt
Comments (1)
TensorRT Installation:
From the folder G:\ComfyUI_windows_portable\ComfyUI\custom_nodes, launch CMD and run:
git clone https://github.com/huchukato/ComfyUI-RIFE-TensorRT-Auto
From the folder G:\ComfyUI_windows_portable, launch CMD and run: (you MUST run requirements_cu13.txt first)
.\python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\ComfyUI-RIFE-TensorRT-Auto\requirements_cu13.txt
.\python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\ComfyUI-RIFE-TensorRT-Auto\requirements.txt
