KJNodes/imagegenerated

비디오 구성 요소 인코딩(EncodeVideoComponents)

비디오 프레임을 추출하고, 크기를 조정한 후 VAE로 직접 인코딩하여 전체 이미지 텐서를 저장하지 않습니다.

Encode Video Components

video
vae
keep_proportion
latent
audio
fps
frame_count
width
768
height
512
max_frames
0
upscale_method
lanczos
KJNodes

설명

비디오 구성 요소 인코딩 노드는 비디오에서 프레임을 추출하고, 지정된 해상도로 크기를 조정한 후 VAE를 통해 직접 잠재 표현으로 인코딩합니다. 프레임을 하나씩 처리하여 전체 비디오의 전체 이미지 텐서를 한 번에 저장하는 메모리 비용을 피합니다. 또한 입력 비디오의 오디오 트랙을 통과시키고 프레임 속도 및 총 프레임 수와 같은 메타데이터를 출력합니다.

입력

  • video (VIDEO, 필수) — 처리할 비디오 파일 또는 시퀀스. ComfyUI-KJNodes에서 허용하는 유효한 비디오 입력이어야 합니다.
  • vae (VAE, 필수) — 크기 조정된 프레임을 잠재 공간으로 인코딩하는 데 사용되는 VAE 모델입니다.
  • width (INT, 기본값: 768, 범위: 016384, 단계: 2) — 인코딩 전 각 프레임의 대상 너비입니다. 0으로 설정하여 원본 비디오 너비를 유지합니다.
  • height (INT, 기본값: 512, 범위: 016384, 단계: 2) — 인코딩 전 각 프레임의 대상 높이입니다. 0으로 설정하여 원본 비디오 높이를 유지합니다.
  • max_frames (INT, 기본값: 0, 범위: 0999999, 단계: 1) — 처리할 최대 프레임 수입니다. 0은 제한 없음을 의미하며 전체 비디오가 처리됩니다.
  • upscale_method (COMBO, 기본값: "lanczos") — 프레임 크기 조정 시 사용되는 보간 알고리즘입니다. 옵션:
    • nearest-exact — 빠른 최근접 이웃 보간법; 블록 같은 결과를 생성할 수 있습니다.
    • bilinear — 부드럽고 일반적인 크기 조정에 적합합니다.
    • area — 영역 기반 크기 조정; 축소 시 효과적입니다.
    • bicubic — bilinear보다 높은 품질, 약간 느립니다.
    • lanczos — 선명한 재샘플링, 고품질 축소에 자주 선호됩니다.
  • keep_proportion (DYNAMICCOMBO, 필수) — 대상 너비/높이가 프레임의 원본 가로세로 비율과 다를 때 비율 불일치를 처리하는 방법을 제어합니다. 다른 입력에 따라 사용 가능한 옵션을 조정하는 동적 드롭다운입니다. 일반적인 모드에는 "crop", "pad", "stretch", "fit"이 있습니다. 자세한 내용은 사용 노트를 참조하세요.

출력

  • LATENT — VAE로 인코딩된 모든 처리된 프레임의 잠재 표현으로, 배치로 쌓입니다. 형태는 VAE의 예상 잠재 차원과 일치합니다.
  • AUDIO — 입력 비디오에서 추출된 오디오 트랙(있는 경우). 비디오에 오디오가 없으면 이 출력은 비어 있거나 None일 수 있습니다.
  • FLOAT — 원본 비디오의 프레임 속도(FPS)를 실수(floating-point)로 나타낸 값입니다.
  • INT — 실제로 처리된 총 프레임 수(max_frames 제한을 따름)입니다.

사용 노트

  • 노드는 프레임을 순차적으로 처리하고 각 크기 조정된 프레임을 즉시 VAE에 전달하여 먼저 전체 비디오를 이미지 배치로 로딩하는 것에 비해 최대 메모리 사용량을 크게 줄입니다.
  • width 및/또는 height0으로 설정하여 원본 치수를 유지합니다. 둘 다 0이 아닌 경우 대상 해상도를 정의합니다. keep_proportion 설정은 가로세로 비율 불일치가 해결되는 방식을 결정합니다.
  • keep_proportion 콤보는 툴팁에 "크기 조정 시 가로세로 비율 불일치 처리 방법"으로 표시됩니다. 정확한 옵션은 노드의 구현에 따라 다릅니다(예: "crop to fit", "pad", "ignore", "fit"). 워크플로에서 노드를 테스트하여 사용 가능한 선택 사항을 확인하세요.
  • upscale_method는 실제로 크기가 조정되는 프레임에만 영향을 미칩니다(즉, 너비 또는 높이가 원본과 다른 경우). 두 치수가 모두 원본과 일치하면 크기 조정이 발생하지 않으며 이 매개변수는 무시됩니다.
  • 긴 비디오의 처리를 제한하거나 프레임 하위 집합으로 디버그하려면 max_frames를 사용하세요. 0(기본값)으로 설정하면 전체 비디오가 처리됩니다.
  • 출력 LATENT는 잠재 배치를 허용하는 샘플링 노드(예: KSampler)에 직접 전달할 수 있습니다. 잠재 배치 크기는 프레임 수와 같습니다.
  • 입력 비디오에 오디오 트랙이 없으면 AUDIO 출력은 빈 자리 표시자가 됩니다. 오디오를 기대하는 다운스트림 노드는 이를 적절히 처리해야 합니다.
  • FLOAT 출력(프레임 속도)과 INT 출력(프레임 수)은 타이밍에 의존하는 후속 단계를 동기화하거나 보고 목적으로 유용할 수 있습니다.

댓글

GitHub로 로그인하고 토론에 참여하세요.

댓글을 불러오는 중…
비디오 구성 요소 인코딩 (EncodeVideoComponents) - ComfyUI-KJNodes | ComfyUI Wiki