GithubHelp home page GithubHelp logo

comfyui-videohelpersuite's People

Contributors

artventuredev avatar austinmroz avatar badayvedat avatar extraltodeus avatar fannovel16 avatar fizzledorf avatar gateway avatar jaredtherriault avatar kijai avatar kosinkadink avatar melmass avatar quintinmouser avatar robinjhuang avatar sdbds avatar tungnguyensipher avatar zhangp365 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

comfyui-videohelpersuite's Issues

ModuleNotFoundError: No module named 'cv2'

屏幕截图 2023-11-16 000958 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 File "E:\comfyui\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 "E:\comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-VideoHelperSuite\videohelpersuite\nodes.py", line 14, in from .load_video_nodes import LoadVideoUpload, LoadVideoPath File "E:\comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-VideoHelperSuite\videohelpersuite\load_video_nodes.py", line 5, in import cv2 ModuleNotFoundError: No module named 'cv2'

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

Output video has strong artifacts color

The output video has correct imagery, but it exhibits artifacting with many horizontal stripes across the screen.
I tried to adjust the video format json, I think it might caused by ffmpeg, but I have no idea how to fix the problem, does anyone has idea what's wrong with it? Thanks!

Error occurred when executing VHS_VideoCombine

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"

Unable to upload the video due to PIL fallback

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

BrokenPipeError: [Errno 32] Broken pipe

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

Add toggle for video metadata

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.

No module named 'cv2'

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 ?

Consider adding gifski supprot for high quality GIFs

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

broken pipe when filename prefix has two subdirectories

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

Webm video missing parameter to support compression setting.

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"
}

BrokenPipeError: [Errno 32] Broken pipe error

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

MP4 Codecs not working

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

VHS_VideoCombine fails to import

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...

image

[feature request] Mask Batch nodes

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.

Height not divisible by 2 (H264 codec)

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.

[issue] Error when trying to save MP4 - Error Occured when executing VHS_VideoCombine

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.

ffmpeg support open video formats as fallback

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.

[custom] add video to s3

Hello,
I'm try to add new feature: Upload to s3 but something not correct.

I try to read data from this line

return {"ui": {"gifs": previews}}

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
Screenshot 2023-11-06 at 19 18 44

What is INPUT_TYPES should be?

Thank you

Error occurred when executing VHS_LoadImages

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'.

Weird error

Hi I have a error message with vhs please help ! :
vvvv

Getting this error:

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.

Version of Load Video/Images nodes that takes full path

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.

{Request/bug?} MP4 Loops?

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.

Reverse the batch

Is there a way to reverse the order of the image batch (effectively rewinding)?

Video Combine Fails with Error

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!

out of memory with load video

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.
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

Adding an Apple ProRes codec

Request adding an Apple ProRes codec in VideoCombine node:
Profile: ProRes 422 HQ - YCbCr 4:2:2

Thank you in advance.

already installed but still not found.

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.

Display issue

image

There's display issue with the latest update. Using chrome on windows 10.

Getting this error

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

ffmpeg could not be found

Hi, the console shows: FETCH DATA from: E:- SD_v4.4\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-Manager\extension-node-map.json
[AnimateDiffEvo] - WARNING - ffmpeg could not be found. Outputs that require it have been disabled.

The node panel shows vhs_loadimages & vhs_video combine failed to load.

Load Images Node does not work with LCM sampler

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

Can't Save/Render Video Formats - [Errno 32] Broken pipe - Unrecognized option 'crf'

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

update problem

new video upload node
image

upload path working ok
video combine node not playing video after generation

Switching formats blows up some native compatibility for viewing the vidoes

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.

image

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)

New resultion

Hello, great extensions! Can you add more resolutions to load video node?
576, 640, 720 will be great, thanks!

[Errno 32] Broken pipe - To much meta data ?

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()) 

Blank output

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.

Load Video (Upload) node becomes uninteractable upon refresh (F5) or hard refresh (Ctrl+F5)

@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:
image

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.

Add toggle for meta data

Long meta data can cause lock ups in certain video players due to looping reload.

Add a toggle for choosing how metadata is stored.

Load Video node auto previews whats in the list plus any new video you may load

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
image
image

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

KSampler errors after updates

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.