Files
comfyuiattic-989-ComfyUI-Vi…/pyproject.toml
T
ComfyUI Attic 5b54f8f81e Performance & Memory Optimizations
Improvements
Reduced video file I/O by 67%
The node previously opened the source video file 6 times per execution. It now opens it twice — once to read metadata and once to extract frames. For large or network-mounted video files this is a meaningful reduction in per-run overhead.

Halved peak memory during frame extraction
Frame data is now written directly into a pre-allocated buffer rather than building an intermediate list that was then copied into a stacked array. Peak memory during extraction is approximately half what it was previously.

Boundary frames served from memory instead of disk
first_frame and last_frame outputs are now sliced from the already-loaded frame batch rather than triggering two additional video reads. This eliminates redundant I/O and removes two numpy allocations per execution.

Bug Fixes
Fixed: BytesIO buffer not released in thumbnail endpoint
The /video_frame_extractor/thumbnail API handler now explicitly closes its internal buffer after encoding the JPEG response, ensuring memory is freed promptly on each request.

All changes are internal — no inputs, outputs, or node behavior has changed.
2026-04-11 09:04:17 -04:00

24 lines
929 B
TOML

[project]
name = "comfyui-video-frame-extractor"
version = "1.1.0"
description = "ComfyUI custom node that brings a DAW-style interactive video timeline directly into the node graph. Upload any video, scrub through it in real time, drag a loop region to define your extraction window, and pipe the resulting frame batch into any downstream node."
readme = "README.md"
requires-python = ">=3.9"
keywords = ["comfyui", "video", "frame-extraction", "mp4", "custom-node"]
license = { text = "MIT" }
dependencies = [
"opencv-python>=4.7",
"Pillow>=9.0",
"numpy>=1.22",
"torch",
]
[project.urls]
Homepage = "https://github.com/comfyuiattic-989/ComfyUI-Video-Frame-Extractor"
Repository = "https://github.com/comfyuiattic-989/ComfyUI-Video-Frame-Extractor"
[tool.comfy]
PublisherId = "comfyui-attic"
DisplayName = "ComfyUI-Video-Frame-Extractor"
Icon = "https://avatars.githubusercontent.com/u/273807868?v=4&size=512"