kosinkadink / comfyui-videohelpersuite Goto Github PK
View Code? Open in Web Editor NEWNodes related to video workflows
License: GNU General Public License v3.0
Nodes related to video workflows
License: GNU General Public License v3.0
Cannot import E:\comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-VideoHelperSuite module for custom nodes: No module named 'cv2'
Traceback (most recent call last):
File "E:\comfyui\ComfyUI_windows_portable\ComfyUI\nodes.py", line 1735, in load_custom_node
module_spec.loader.exec_module(module)
File "", line 883, in exec_module
File "", line 241, in _call_with_frames_removed
Hello
I am running comfyui for sdv tests on a rocky linux 8.9 machine. I have downloaded all the latest versions and reinstalled the VHS_VideoCombine twice but I continue to get the error below. ffmpeg is installed and so is imageio-ffmpeg
but I continue to get the error below
Thank you
`
Error occurred when executing VHS_VideoCombine:
An error occured in the ffmpeg subprocess:
Unrecognized option 'crf'.
Error splitting the argument list: Option not found
File "/home/admin/ComfyUI/execution.py", line 153, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "/home/admin/ComfyUI/execution.py", line 83, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "/home/admin/ComfyUI/execution.py", line 76, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "/home/admin/ComfyUI/custom_nodes/ComfyUI-VideoHelperSuite/videohelpersuite/nodes.py", line 211, in combine_video
raise Exception("An error occured in the ffmpeg subprocess:\n"
I'm struggling to use VHS_LoadVideo - I get the below error whichever video I use.
Failed to load video: input/VHS_upload/xxx.mp4
due to: Unable to open video with pil fallback: input/VHS_upload/xxx.mp4
ERROR:root:!!! Exception during processing !!!
ERROR:root:Traceback (most recent call last):
File "F:\ComfyUI\ComfyUI_windows_portable\ComfyUI\execution.py", line 153, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "F:\ComfyUI\ComfyUI_windows_portable\ComfyUI\execution.py", line 83, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "F:\ComfyUI\ComfyUI_windows_portable\ComfyUI\execution.py", line 76, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "F:\ComfyUI\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-VideoHelperSuite\videohelpersuite\nodes.py", line 199, in combine_video
proc.stdin.write(frame.tobytes())
BrokenPipeError: [Errno 32] Broken pipe
always error,had change V9
Hey, I got another request to be able to toggle the video metadata saving. Assuming not saving metadata could be an if-statement, we should add something to the Video Combine node to handle that option.
I just installed comfy from Stability Matrix (windows), from scratch, then git cloned all the nodes as said in this CivitAI guide, but when I launch comfy, I get this:
Traceback (most recent call last):
File "G:\AI\Image\Stable Diffusion\Data\Packages\ComfyUI\nodes.py", line 1734, in load_custom_node
module_spec.loader.exec_module(module)
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "G:\AI\Image\Stable Diffusion\Data\Packages\ComfyUI\custom_nodes\ComfyUI-VideoHelperSuite\__init__.py", line 1, in <module>
from .videohelpersuite.nodes import NODE_CLASS_MAPPINGS, NODE_DISPLAY_NAME_MAPPINGS
File "G:\AI\Image\Stable Diffusion\Data\Packages\ComfyUI\custom_nodes\ComfyUI-VideoHelperSuite\videohelpersuite\nodes.py", line 13, in <module>
import cv2
ModuleNotFoundError: No module named 'cv2'
Any idea ?
Since GIF is the default file format, maybe you could consider adding gifski support. It is a library that uses pngquant and the results are very impressive, removing a lot of the dithering associated to gif files. I've used in prior projects and it's much better than FFMPEG and commercial encoders. It works through command line, and just likek FFMPEG, for example, gifski -q 80 -o anim.gif frame*.png
Here is the project page: https://github.com/ImageOptim/gifski
If I add a second subdirectory to the filename prefix, it crashes when it tries to combine the video. It still writes a single image to the correct directory, but not the mp4 file. Using a very simple VAE Decode (Tiled) to Video Combine workflow.
ERROR:root:Failed to validate prompt for output 101:
ERROR:root:* (prompt):
ERROR:root: - Required input is missing: images
ERROR:root:* VHS_VideoCombine 101:
ERROR:root: - Required input is missing: images
ERROR:root:Output will be ignored
ERROR:root:Failed to validate prompt for output 126:
ERROR:root:* (prompt):
ERROR:root: - Required input is missing: images
ERROR:root:* Image Save 126:
ERROR:root: - Required input is missing: images
ERROR:root:Output will be ignored
ERROR:root:Failed to validate prompt for output 135:
ERROR:root:* (prompt):
ERROR:root: - Required input is missing: images
ERROR:root:* VHS_VideoCombine 135:
ERROR:root: - Required input is missing: images
ERROR:root:Output will be ignored
H:\Documents\stable-diffusion\comfy\ComfyUI_windows_portable_nvidia_cu118_or_cpu_v1\ComfyUI_windows_portable\ComfyUI\output\subdirectory01\subdirectory02\really-long-filename.mp4: No such file or directory
ERROR:root:!!! Exception during processing !!!
ERROR:root:Traceback (most recent call last):
File "D:\Documents\stable-diffusion\comfy\ComfyUI_windows_portable_nvidia_cu118_or_cpu_v1-new-shit\ComfyUI_windows_portable\ComfyUI\execution.py", line 153, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "D:\Documents\stable-diffusion\comfy\ComfyUI_windows_portable_nvidia_cu118_or_cpu_v1-new-shit\ComfyUI_windows_portable\ComfyUI\execution.py", line 83, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "D:\Documents\stable-diffusion\comfy\ComfyUI_windows_portable_nvidia_cu118_or_cpu_v1-new-shit\ComfyUI_windows_portable\ComfyUI\execution.py", line 76, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "D:\Documents\stable-diffusion\comfy\ComfyUI_windows_portable_nvidia_cu118_or_cpu_v1-new-shit\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-VideoHelperSuite\videohelpersuite\nodes.py", line 215, in combine_video
proc.stdin.write(frame.tobytes())
BrokenPipeError: [Errno 32] Broken pipe
Prompt executed in 0.32 seconds
After getting a few reports by people who ran on runpod, I reported the issue:
imageio/imageio-ffmpeg#96
In the meantime, @AustinMroz could we implement a check for AttributeError around get_ffmpeg_exe import?
I was trying webm compression and found that it was missing a ffmpeg flag that makes the cfr compression parameter useless. Can you consider adding "-b:v", "0"
to it? once added you can ser crf to your liking to have quality or lower quality webm videos.
{
"main_pass":
[
"-n",
"-pix_fmt", "yuv420p",
"-b:v", "0"
],
"extension": "webm"
}
Running into this issue when rendering in the webm format.
2023-11-16T05:00:03.543844963Z /opt/micromamba/envs/comfyui/bin/ffmpeg: error while loading shared libraries: libopenh264.so.5: cannot open shared object file: No such file or directory
2023-11-16T05:00:03.543856373Z ERROR:root:!!! Exception during processing !!!
2023-11-16T05:00:03.543858364Z ERROR:root:Traceback (most recent call last):
2023-11-16T05:00:03.543859594Z File "/workspace/ComfyUI/execution.py", line 153, in recursive_execute
2023-11-16T05:00:03.543861524Z output_data, output_ui = get_output_data(obj, input_data_all)
2023-11-16T05:00:03.543862874Z File "/workspace/ComfyUI/execution.py", line 83, in get_output_data
2023-11-16T05:00:03.543864114Z return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
2023-11-16T05:00:03.543865914Z File "/workspace/ComfyUI/execution.py", line 76, in map_node_over_list
2023-11-16T05:00:03.543867054Z results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
2023-11-16T05:00:03.543868214Z File "/workspace/ComfyUI/custom_nodes/ComfyUI-VideoHelperSuite/videohelpersuite/nodes.py", line 216, in combine_video
2023-11-16T05:00:03.543870004Z proc.stdin.write(frame.tobytes())
2023-11-16T05:00:03.543871094Z BrokenPipeError: [Errno 32] Broken pipe
2023-11-16T05:00:03.543872194Z
2023-11-16T05:00:03.543873374Z Prompt executed in 1175.84 seconds
Somthing with the most recent VHS update aba622c has borked my ability to make h264
no error
just make a garbage unrunable mp4
reverting the the previous commit and everything works fine
When launching comfyui portable on windows 11 with everything up to date:
ComfyUI web interface:
"When loading the graph, the following node types were not found:
VHS_VideoCombine
Nodes that have failed to load will show as red on the graph."
Command window:
Traceback (most recent call last):
File "C:\Stable_Diffusion\ComfyUI_windows_portable\ComfyUI\nodes.py", line 1798, in load_custom_node
module_spec.loader.exec_module(module)
File "", line 940, in exec_module
File "", line 241, in call_with_frames_removed
File "C:\Stable_Diffusion\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-VideoHelperSuite_init.py", line 1, in
from .videohelpersuite.nodes import NODE_CLASS_MAPPINGS, NODE_DISPLAY_NAME_MAPPINGS
File "C:\Stable_Diffusion\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-VideoHelperSuite\videohelpersuite\nodes.py", line 15, in
from .load_video_nodes import LoadVideoUpload, LoadVideoPath
File "C:\Stable_Diffusion\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-VideoHelperSuite\videohelpersuite\load_video_nodes.py", line 5, in
import cv2
File "C:\Stable_Diffusion\ComfyUI_windows_portable\python_embeded\Lib\site-packages\cv2_init_.py", line 181, in
bootstrap()
File "C:\Stable_Diffusion\ComfyUI_windows_portable\python_embeded\Lib\site-packages\cv2_init_.py", line 175, in bootstrap
if _load_extra_py_code_for_module("cv2", submodule, DEBUG):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Stable_Diffusion\ComfyUI_windows_portable\python_embeded\Lib\site-packages\cv2_init.py", line 28, in load_extra_py_code_for_module
py_module = importlib.import_module(module_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "importlib_init.py", line 126, in import_module
File "C:\Stable_Diffusion\ComfyUI_windows_portable\python_embeded\Lib\site-packages\cv2\typing_init.py", line 157, in
Prim = typing.Union[cv2.gapi.wip.draw.Text, cv2.gapi.wip.draw.Circle, cv2.gapi.wip.draw.Image, cv2.gapi.wip.draw.Line, cv2.gapi.wip.draw.Rect, cv2.gapi.wip.draw.Mosaic, cv2.gapi.wip.draw.Poly]
^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'cv2.gapi.wip.draw' has no attribute 'Text'
Cannot import C:\Stable_Diffusion\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-VideoHelperSuite module for custom nodes: module 'cv2.gapi.wip.draw' has no attribute 'Text'
Import times for custom nodes:
0.0 seconds: C:\Stable_Diffusion\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Advanced-ControlNet
0.0 seconds: C:\Stable_Diffusion\ComfyUI_windows_portable\ComfyUI\custom_nodes\comfyui-animatediff
0.0 seconds: C:\Stable_Diffusion\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-AnimateDiff-Evolved
0.0 seconds: C:\Stable_Diffusion\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Frame-Interpolation
0.0 seconds (IMPORT FAILED): C:\Stable_Diffusion\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-VideoHelperSuite
0.0 seconds: C:\Stable_Diffusion\ComfyUI_windows_portable\ComfyUI\custom_nodes\rgthree-comfy
0.1 seconds: C:\Stable_Diffusion\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Stable-Video-Diffusion
0.2 seconds: C:\Stable_Diffusion\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI_FizzNodes
0.2 seconds: C:\Stable_Diffusion\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Styles
0.3 seconds: C:\Stable_Diffusion\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Manager
0.7 seconds: C:\Stable_Diffusion\ComfyUI_windows_portable\ComfyUI\custom_nodes\comfyui-reactor-node
Tried uninstalling and reinstalling from the comfyUI manager...
Manually deleted the 'ComfyUI-VideoHelperSuite' folder and reinstalled...
I'm assuming they both deal with the framerate, I'm trying to understand the difference between them.
I think that the workflow of animatediff using inpainting would be more comfortable if there were mask-related nodes like "DuplicateMasks" node and "GetMaskCount" node.
I'm new to ComfyUI so if I'm "barking up the wrong tree" I apologize, I don't know where else to bark.
I've been getting these errors with various-sized video inputs:
[VideoHelperSuite] - INFO - Using fallback file for extremely long metadata: 37457/32538 [libx264 @ 0000022da6e12440] height not divisible by 2 (1058x793) Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height ERROR:root:!!! Exception during processing !!!
The PNG (first frame) image is saved and has 1058x793, so the H264 mp4 video fails during output.
I tried using various scaling nodes to resize the source video as input which made no difference with the error still occurring.
For now, I changed line# 169 in nodes.py to:
#dimensions = f"{frames[0].width}x{frames[0].height}"
width = frames[0].width
height = frames[0].height
even_width = width if width % 2 == 0 else width - 1
even_height = height if height % 2 == 0 else height - 1
dimensions = f"{even_width}x{even_height}"
With this change the error no longer occurs, but has shifted (as anticipated).
[VideoHelperSuite] - INFO - Using fallback file for extremely long metadata: 37467/32538 [rawvideo @ 0000017e3efd0b00] Invalid buffer size, packet size 361692 < expected frame_size 3141756 Error while decoding stream #1:0: Invalid argument
The warning to me is not as bad as having no video output.
I suspect the actual issue is elsewhere but that's out of my league I'm just using the software not a programmer.
Hello,
I've encountered a persistent error when attempting to execute VHS_VideoCombine. Problem happens specifically when attempting to save MP4, gifs are fine. Despite rolling back commits to as far back as November 4th, the issue remains unchanged. Below is the error output for reference:
Error occurred when executing VHS_VideoCombine:
[Errno 32] Broken pipe
File "/home/ubuntu/ComfyUI/execution.py", line 153, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "/home/ubuntu/ComfyUI/execution.py", line 83, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "/home/ubuntu/ComfyUI/execution.py", line 76, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "/home/ubuntu/ComfyUI/custom_nodes/ComfyUI-VideoHelperSuite/videohelpersuite/nodes.py", line 199, in combine_video
proc.stdin.write(frame.tobytes())
The error suggests a 'Broken pipe', which typically indicates an issue with the communication between different processes or threads. The traceback points to combine_video where the error seems to occur during a write operation to proc.stdin.
Any guidance on resolving this error would be appreciated.
Thank you.
Not a bug, just a suggestion.
There are some versions of ffmpeg compiled without libx264, so it cannot be used unless it is completely reinstalled. I apparently have one such version, and instead of reinstalling I went ahead and modified this extension code and animate diff extension directly to replace libx264 video format with libopenh264 with no problems.
Hello,
I'm try to add new feature: Upload to s3 but something not correct.
I try to read data from this line
and use that for this method
class SaveVideoToS3:
def __init__(self):
pass
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"gifs": ("GIF", ),
"bucket": ("STRING", { "multiline": False, }),
"filename_prefix": ("STRING", {"default": "ComfyUI"}),
"folder": ("STRING", { "multiline": False, }),
},
"hidden": {"prompt": "PROMPT", "extra_pnginfo": "EXTRA_PNGINFO"},
}
RETURN_TYPES = ()
OUTPUT_NODE = True
FUNCTION = "save_video"
CATEGORY = "remote"
def save_video(self, gif, bucket, folder, filename_prefix="ComfyUI", prompt=None, extra_pnginfo=None):
filename = os.path.basename(os.path.normpath(filename_prefix))
print("gifs", gifs)
return ()
File "/ComfyUI/execution.py", line 143, in recursive_execute
input_data_all = get_input_data(inputs, class_def, unique_id, outputs, prompt, extra_data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/ComfyUI/execution.py", line 27, in get_input_data
obj = outputs[input_unique_id][output_index]
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
IndexError: list index out of range
Prompt executed in 34.63 seconds
What is INPUT_TYPES should be?
Thank you
Try as I might, I can't do step one, loading images. I get a red error box:
!!! Exception during processing !!!
Traceback (most recent call last):
File "C:\ComfyUI_windows_portable\ComfyUI\execution.py", line 152, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "C:\ComfyUI_windows_portable\ComfyUI\execution.py", line 82, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "C:\ComfyUI_windows_portable\ComfyUI\execution.py", line 75, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "C:\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-VideoHelperSuite\videohelpersuite\nodes.py", line 437, in load_images
raise FileNotFoundError(f"No files in directory '{directory}'.")
FileNotFoundError: No files in directory 'C:\ComfyUI_windows_portable\ComfyUI\input\Creeper'.
Kijai is currently looking into it, looks like one of the PRs i merged today caused feature regression.
Hello,
Could you please add prores support as an output format so we can easily take the videos directly into editing software without manually recombining all the frames? Thanks!!!!
Error occurred when executing VHS_LoadImages:
Sizes of tensors must match except in dimension 0. Expected size 512 but got size 768 for tensor number 4 in the list.
From the people using VHS, the most common request I'm getting is to be able to put in the full paths of video files/image directories to not require copying files into input/output folder.
I know this is kinda rehashing what we discussed earlier about potential exposure of any image/video data by an attacker, but the most common use case of Comfy is to run it for one's own use. We should make a version of the nodes that supports this, and if need be add a config toggle to throw an error if not enabled or something, or we just let it rock and have them on all the time.
Other nodes (such as WAS) already take full paths for certain nodes, so it's not like we'd be introducing an issue that isn't already present. We can call the full path versions of nodes "(Full Path)" versions. I can cook those up when I get back to dev work tomorrow.
Load image/video from url will save lots of time.
A lot of what comes out of Animatediff when using text only tends to be a loop, however the combine node "loop #" option does not affect video files. (If it does it doesn't work for me and I'm bad at life), it works for GIF's but I think it would b beneficial for it to also create a set number of loops for a video out as well.
Is there a way to reverse the order of the image batch (effectively rewinding)?
On Ubuntu 20.04, ComfyUi using venv of Automatic1111, i get the following errors when executing the Video Combine Node in this example https://github.com/nerdyrodent/AVeryComfyNerd/blob/main/PromptTravel_AnimateDiff.png:
Error occurred when executing VHS_VideoCombine:
[Errno 32] Broken pipe
File "/home/geistt/Applications/ComfyUI/ComfyUI/execution.py", line 153, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "/home/geistt/Applications/ComfyUI/ComfyUI/execution.py", line 83, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "/home/geistt/Applications/ComfyUI/ComfyUI/execution.py", line 76, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "/home/geistt/Applications/ComfyUI/ComfyUI/custom_nodes/ComfyUI-VideoHelperSuite/videohelpersuite/nodes.py", line 195, in combine_video
proc.stdin.write(frame.tobytes())
This error does not show up if format is set to image/gif, so i suspect that it could be related to ffmpeg. Thanks for the help in advance!
Hi there,
I am trying to load a video and save every 4 frames. workflow is very simple, just the video loader and save image.
the video is 3 min long and 60 fps but video loader is super slow and will get out of memory quickly :
Traceback (most recent call last):
File "E:\dev\ComfyUI\execution.py", line 153, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "E:\dev\ComfyUI\execution.py", line 83, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "E:\dev\ComfyUI\execution.py", line 76, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "E:\dev\ComfyUI\custom_nodes\ComfyUI-VideoHelperSuite\videohelpersuite\load_video_nodes.py", line 174, in load_video
raise RuntimeError(f"Failed to load video: {kwargs['video']}\ndue to: {e.str()}")
RuntimeError: Failed to load video: E:\dev\ComfyUI\output\wildfire\wildfire.mp4
due to: [enforce fail at ..\c10\core\impl\alloc_cpu.cpp:72] data. DefaultCPUAllocator: not enough memory: you tried to allocate 68951347200 bytes.
I have 64gb RAM, its all used up to load this 3 min video and anyway the tool cant load it.
I am not sure if its normal/expected to have so much RAM consumed.
instead I use ffmpeg directly, can deal with this video super quickly and no ram consumption. But still I would rather be able to make use of this tool in comfyui
Request adding an Apple ProRes codec in VideoCombine node:
Profile: ProRes 422 HQ - YCbCr 4:2:2
Thank you in advance.
hi, i got error as follows
When loading the graph, the following node types were not found:
VHS_LoadVideoPath
VHS_LoadImagesPath
VHS_VideoCombine
LineArtPreprocessor
Nodes that have failed to load will show as red on the graph.
but they are all installed and updated. the manager page shows only two options :disable and uninstall.
they were fine before, but after I installed IPAdapter_plus,tinyterraNodes,FizzNodes and reactor-node today . they two above went wrong.
hi ^^, since yesterday,i can't load vidéo in comfyui:
ERROR:root:Failed to validate prompt for output 48:
ERROR:root:* VHS_LoadVideo 46:
ERROR:root: - Failed to convert an input value to a INT value: select_every_nth, video, invalid literal for int() with base 10: 'video'
ERROR:root:Output will be ignored
invalid prompt: {'type': 'prompt_outputs_failed_validation', 'message': 'Prompt outputs failed validation', 'details': '', 'extra_info': {}}
thanks
The node panel shows vhs_loadimages & vhs_video combine failed to load.
I use the comfyui manager to install videoHelperSuite but stuck at downloading imageio_ffmpeg-0.4.9-py3-none-win_amd64.whl, wait for 1hour still now response.
Workflow: (Load Image Node works, but Load Images Node VHS does not work)
ImagesLoader_NotWorking.json
File "C:\Users\reall\Softwares\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\nn\modules\container.py", line 215, in forward
input = module(input)
^^^^^^^^^^^^^
File "C:\Users\reall\Softwares\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1518, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\reall\Softwares\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1527, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\reall\Softwares\ComfyUI_windows_portable\ComfyUI\comfy\ldm\modules\attention.py", line 62, in forward
return x * F.gelu(gate)
~~^~~~~~~~~~~~~~
torch.cuda.OutOfMemoryError: Allocation on device 0 would exceed allowed memory. (out of memory)
Currently allocated : 5.76 GiB
Requested : 915.00 MiB
Device limit : 8.00 GiB
Free (according to CUDA): 0 bytes
PyTorch limit (set by user-supplied memory fraction)
: 17179869184.00 GiB
Hi there,
Just got this node today and maybe this is something stupid I've messed up but whenever I try to use a non-image save type (any video ones) this error pops up and stops the process.
2023-11-18 00:21:20 Unrecognized option 'crf'.
2023-11-18 00:21:20 Error splitting the argument list: Option not found
2023-11-18 00:21:20 ERROR:root:!!! Exception during processing !!!
2023-11-18 00:21:20 ERROR:root:Traceback (most recent call last):
2023-11-18 00:21:20 File "/workspace/ComfyUI/execution.py", line 153, in recursive_execute
2023-11-18 00:21:20 output_data, output_ui = get_output_data(obj, input_data_all)
2023-11-18 00:21:20 File "/workspace/ComfyUI/execution.py", line 83, in get_output_data
2023-11-18 00:21:20 return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
2023-11-18 00:21:20 File "/workspace/ComfyUI/execution.py", line 76, in map_node_over_list
2023-11-18 00:21:20 results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
2023-11-18 00:21:20 File "/workspace/ComfyUI/custom_nodes/ComfyUI-VideoHelperSuite/videohelpersuite/nodes.py", line 199, in combine_video
2023-11-18 00:21:20 proc.stdin.write(frame.tobytes())
2023-11-18 00:21:20 BrokenPipeError: [Errno 32] Broken pipe
yuv420p10le(progressive) breaks native viewing on the mac, On the mac you can usually select an item and hit spacebar and it plays the video, or double clicking on it opens it up with quicktime player, now with this change I have to view everything in VLC and cant quick view the video.
you can see the icons that have video thumb vs QT logo which doesn't play native anymore. I'm not sure how compatible the progressive format is or why it was added.
new format
Stream #0:0[0x1](und): Video: h264 (High 10) (avc1 / 0x31637661), yuv420p10le(progressive), 1280x720, 2590 kb/s, 24 fps, 24 tbr, 12288 tbn (default)
Older format
Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1280x720, 1148 kb/s, 24 fps, 24 tbr, 12288 tbn (default)
My old ffmpeg settings that i use mainly are similar to this
ffmpeg -f image2 -framerate 23.976 -i 20221128211421_%04d.png -c:v libx264 -preset veryslow -crf 12 -color_primaries 1 -color_trc 1 -colorspace 1 -pix_fmt yuv420p Part10.mp4
This commit is what broke it for me..
also not sure why but the earlier ones when I upload them to my iphone do not allow me to edit them on my phone either.. (separate issue)
Hello, great extensions! Can you add more resolutions to load video node?
576, 640, 720 will be great, thanks!
Not sure why im getting this now, I updated today everything and now when saving on VHS Combine it throws out this error.
Error occurred when executing VHS_VideoCombine:
[Errno 32] Broken pipe
File "E:\Stable-Diffusion\ComfyUI\execution.py", line 153, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "E:\Stable-Diffusion\ComfyUI\execution.py", line 83, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "E:\Stable-Diffusion\ComfyUI\execution.py", line 76, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "E:\Stable-Diffusion\ComfyUI\custom_nodes\ComfyUI-VideoHelperSuite\videohelpersuite\nodes.py", line 209, in combine_video
self.save_with_tempfile(args, metadata_args[1], file_path, frames, env, crf)
File "E:\Stable-Diffusion\ComfyUI\custom_nodes\ComfyUI-VideoHelperSuite\videohelpersuite\nodes.py", line 90, in save_with_tempfile
proc.stdin.write(frame.tobytes())
I get the following in the logs
/Users/kskshiva/experimentation/ComfyUI/custom_nodes/ComfyUI-VideoHelperSuite/videohelpersuite/nodes.py:93: RuntimeWarning: invalid value encountered in cast
images = np.clip(images, 0, 255).astype(np.uint8)
The output is a blank black gif.
Everything is a fresh install, Using the sample workflow https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved#samples-download-or-drag-images-of-the-workflows-into-comfyui-to-instantly-load-the-corresponding-workflows
Running on Mac M1 Pro (32GB ram)
Image generation works.
@AustinMroz hey, after merging into main, found an odd issue - if you add a Load Video (Upload) node (or more than 1), and refresh the page, they become seethrough and completely uninteractable unless the page is refreshed again:
I also performed a git pull after adding one of those nodes, and upon refreshing and reloading the page, I have a Load Video (Upload) node that is permanently stuck as uninteractable in my workflow. The previews and such still play while being uninteractable - no right clicking, no moving, etc, does anything, and comfy behaves as if the nodes aren't there.
Long meta data can cause lock ups in certain video players due to looping reload.
Add a toggle for choosing how metadata is stored.
There seems to now be 2 preview windows in the node.
One for the filter list, and another for whatever video you select.
making an awkwardly huge node. here are some screen shots
what's going on with it and is it something I can fix here with a setting?
this did not used to happen before.
Is there a way to clear the contents of the list? they seem to just stay and build up.
Thanks
Hi,
Im getting these errors when using the ksampler
executing KSampler:
Control type ControlNet may not support required features for sliding context window; use Control objects from Kosinkadink/Advanced-ControlNet nodes.
File "G:\WORKSPACE AI\02_COMFY\ComfyUI_windows_portable\ComfyUI\execution.py", line 153, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "G:\WORKSPACE AI\02_COMFY\ComfyUI_windows_portable\ComfyUI\execution.py", line 83, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "G:\WORKSPACE AI\02_COMFY\ComfyUI_windows_portable\ComfyUI\execution.py", line 76, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "G:\WORKSPACE AI\02_COMFY\ComfyUI_windows_portable\ComfyUI\nodes.py", line 1237, in sample
return common_ksampler(model, seed, steps, cfg, sampler_name, scheduler, positive, negative, latent_image, denoise=denoise)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "G:\WORKSPACE AI\02_COMFY\ComfyUI_windows_portable\ComfyUI\nodes.py", line 1207, in common_ksampler
samples = comfy.sample.sample(model, noise, steps, cfg, sampler_name, scheduler, positive, negative, latent_image,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "G:\WORKSPACE AI\02_COMFY\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-AnimateDiff-Evolved\animatediff\sampling.py", line 163, in animatediff_sample
return wrap_function_to_inject_xformers_bug_info(orig_comfy_sample)(model, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "G:\WORKSPACE AI\02_COMFY\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-AnimateDiff-Evolved\animatediff\model_utils.py", line 185, in wrapped_function
return function_to_wrap(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "G:\WORKSPACE AI\02_COMFY\ComfyUI_windows_portable\ComfyUI\comfy\sample.py", line 97, in sample
samples = sampler.sample(noise, positive_copy, negative_copy, cfg=cfg, latent_image=latent_image, start_step=start_step, last_step=last_step, force_full_denoise=force_full_denoise, denoise_mask=noise_mask, sigmas=sigmas, callback=callback, disable_pbar=disable_pbar, seed=seed)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "G:\WORKSPACE AI\02_COMFY\ComfyUI_windows_portable\ComfyUI\comfy\samplers.py", line 781, in sample
return sample(self.model, noise, positive, negative, cfg, self.device, sampler(), sigmas, self.model_options, latent_image=latent_image, denoise_mask=denoise_mask, callback=callback, disable_pbar=disable_pbar, seed=seed)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "G:\WORKSPACE AI\02_COMFY\ComfyUI_windows_portable\ComfyUI\comfy\samplers.py", line 686, in sample
samples = sampler.sample(model_wrap, sigmas, extra_args, callback, noise, latent_image, denoise_mask, disable_pbar)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "G:\WORKSPACE AI\02_COMFY\ComfyUI_windows_portable\ComfyUI\comfy\samplers.py", line 638, in sample
samples = getattr(k_diffusion_sampling, "sample_{}".format(sampler_name))(model_k, noise, sigmas, extra_args=extra_args, callback=k_callback, disable=disable_pbar, **extra_options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "G:\WORKSPACE AI\02_COMFY\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\utils_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "G:\WORKSPACE AI\02_COMFY\ComfyUI_windows_portable\ComfyUI\comfy\k_diffusion\sampling.py", line 580, in sample_dpmpp_2m
denoised = model(x, sigmas[i] * s_in, **extra_args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "G:\WORKSPACE AI\02_COMFY\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1518, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "G:\WORKSPACE AI\02_COMFY\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1527, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "G:\WORKSPACE AI\02_COMFY\ComfyUI_windows_portable\ComfyUI\comfy\samplers.py", line 326, in forward
out = self.inner_model(x, sigma, cond=cond, uncond=uncond, cond_scale=cond_scale, model_options=model_options, seed=seed)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "G:\WORKSPACE AI\02_COMFY\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1518, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "G:\WORKSPACE AI\02_COMFY\ComfyUI_windows_portable\python_embeded\Lib\site-packages\torch\nn\modules\module.py", line 1527, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "G:\WORKSPACE AI\02_COMFY\ComfyUI_windows_portable\ComfyUI\comfy\k_diffusion\external.py", line 129, in forward
eps = self.get_eps(input * c_in, self.sigma_to_t(sigma), **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "G:\WORKSPACE AI\02_COMFY\ComfyUI_windows_portable\ComfyUI\comfy\k_diffusion\external.py", line 155, in get_eps
return self.inner_model.apply_model(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "G:\WORKSPACE AI\02_COMFY\ComfyUI_windows_portable\ComfyUI\comfy\samplers.py", line 314, in apply_model
out = sampling_function(self.inner_model.apply_model, x, timestep, uncond, cond, cond_scale, model_options=model_options, seed=seed)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "G:\WORKSPACE AI\02_COMFY\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-AnimateDiff-Evolved\animatediff\sampling.py", line 539, in sliding_sampling_function
cond, uncond = sliding_calc_cond_uncond_batch(model_function, cond, uncond, x, timestep, max_total_area, cond_concat, model_options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "G:\WORKSPACE AI\02_COMFY\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-AnimateDiff-Evolved\animatediff\sampling.py", line 517, in sliding_calc_cond_uncond_batch
sub_cond = get_resized_cond(cond, full_idxs) if cond is not None else None
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "G:\WORKSPACE AI\02_COMFY\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-AnimateDiff-Evolved\animatediff\sampling.py", line 497, in get_resized_cond
raise ValueError(f"Control type {type(control_item).name} may not support required features for sliding context window; use Control objects from K
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.