콘텐츠로 이동

ConcatenateVideos

어떤 노드인가요?

ConcatenateVideos 노드는 설정 가능한 포맷 및 코덱 옵션을 사용하여 여러 비디오를 하나의 연속된 비디오 파일로 결합합니다. 해상도(크기)가 서로 다른 비디오가 입력되더라도 첫 번째 비디오의 크기에 맞추어 자동으로 리사이징하므로, 시각적 단절 없이 매끄럽게 비디오를 이어 붙일 수 있습니다.

언제 사용하나요?

다음과 같은 상황에서 ConcatenateVideos 노드를 사용합니다:

  • 여러 비디오 클립을 하나의 연속된 비디오로 합치고 싶을 때
  • 개별 클립들을 모아 비디오 모음집(컴필레이션)이나 몽타주를 제작할 때
  • 분할되었거나 따로 녹화된 비디오 세그먼트들을 하나로 연결할 때
  • AI 비디오 모델 등에서 생성된 짧은 클립들을 이어 붙여 긴 영상을 만들 때
  • 개별 비디오 파일들로 재생 목록이나 시퀀스를 구성할 때
  • 서로 다른 해상도의 비디오들을 결합할 때 (자동 크기 조정을 통해 크기 불일치 해결)

사용 방법

기본 설정

  1. 워크플로우에 ConcatenateVideos 노드를 추가합니다.
  2. video_inputs 파라미터에 여러 비디오 입력을 연결합니다 (개별 비디오 또는 리스트 연결 가능).
  3. 필요에 따라 출력 포맷 및 코덱 설정을 구성합니다.
  4. output을 비디오 입력이 필요한 다른 노드에 연결합니다.

파라미터 (Parameters)

  • video_inputs: 이어 붙일 비디오 리스트입니다. (VideoArtifact, VideoUrlArtifact 및 두 타입의 리스트 지원)
  • output_format: 출력 비디오 포맷입니다. - mp4, avi, mov, mkv, webm (기본값: mp4)
  • video_codec: 출력용 비디오 코덱입니다. - libx264, libx265, libvpx-vp9, copy (기본값: libx264)
  • audio_codec: 출력용 오디오 코덱입니다. - aac, mp3, libmp3lame, copy (기본값: aac)
  • output_frame_rate: 프레임 레이트 제어 옵션입니다. (BaseVideoProcessor에서 상속)
  • processing_speed: 품질과 속도 간의 절충 옵션입니다. (BaseVideoProcessor에서 상속)

출력 (Outputs)

  • output: 하나의 비디오로 합쳐진 VideoUrlArtifact 형식의 비디오 파일입니다.
  • logs: 다운로드, 해상도 확인, 리사이징 작업 등에 관한 자세한 정보가 담긴 처리 로그입니다.

자동 비디오 크기 조정

ConcatenateVideos 노드는 해상도가 서로 다른 비디오를 감지하여 자동으로 크기를 조정하는 지능형 처리 기능을 제공합니다:

작동 방식

  1. 해상도 감지: FFprobe를 사용하여 모든 입력 비디오의 해상도를 확인합니다.
  2. 기준 해상도 선정: 첫 번째 비디오의 해상도가 모든 비디오의 대상 크기로 설정됩니다.
  3. 스마트 리사이징: 대상 해상도와 일치하지 않는 비디오는 FFmpeg를 통해 자동으로 크기가 조정됩니다.
  4. 종횡비 보존: 원본 종횡비를 유지하며 크기를 조정하고, 필요한 경우 레터박스(검은 여백)를 추가합니다.
  5. 상세 로그 기록: 모든 리사이징 작업은 변경 전/후 해상도와 함께 로그에 기록됩니다.

크기 조정 동작

  • 동일 해상도 비디오: 모든 비디오의 해상도가 같으면 리사이징 과정을 건너뜁니다.
  • 다양한 해상도 비디오: 첫 번째 비디오의 크기에 맞추어 크기가 자동 조정됩니다.
  • 품질 보존: 원본 비율을 보존하면서 고품질 스케일링을 적용합니다.
  • 오디오 보존: 크기 조정 중에도 오디오 트랙은 재인코딩 없이 그대로 복사됩니다.

로그 예시

비디오들의 해상도가 모두 동일한 경우:

✅ All videos have matching dimensions - no resizing needed

크기 조정이 필요한 경우:

🔄 Videos have different dimensions - resizing to match first video...
Target dimensions (from first video): 1920x1080
• Video 1: 1920x1080 (reference)
• Video 2: 1280x720 → 1920x1080 (resizing...)
  ✅ Video 2 resized successfully
• Video 3: 1920x1080 (no resize needed)

예시

AI로 생성한 여러 클립을 결합하여 긴 비디오를 제작하려는 경우:

  1. 워크플로우에 ConcatenateVideos 노드를 추가합니다.
  2. 여러 비디오 생성 노드의 출력을 video_inputs 파라미터에 연결합니다.
  3. 폭넓은 호환성을 위해 output_format을 "mp4"로, video_codec을 "libx264"로 설정합니다.
  4. 고품질 오디오를 위해 audio_codec을 "aac"로 설정합니다.
  5. 노드가 실행되면 모든 입력 비디오가 하나의 연속된 비디오로 병합됩니다.

고급 사용법

포맷 및 코덱 선택

  • mp4 + libx264: 웹 호환성 및 일반적인 용도에 가장 적합
  • mov + libx264: 전문 비디오 편집 워크플로우에 적합
  • mkv + libx265: 뛰어난 압축률로 저장 공간 절약에 최적
  • webm + libvpx-vp9: 웹 스트리밍에 최적화
  • copy 코덱: 모든 입력의 코덱이 동일할 때 가장 빠른 처리 속도 제공

성능 팁

  • 모든 입력 비디오의 포맷이 동일하다면 비디오 및 오디오 코덱을 "copy"로 설정하여 처리 속도를 극대화하세요.
  • 빠른 미리보기를 원할 때는 처리 속도를 "fast"로, 최종 렌더링에는 "quality"로 설정하세요.
  • 비슷한 품질에서 파일 크기를 줄이려면 libx265 사용을 고려하세요.
  • 최상의 성능을 위해: 리사이징 오버헤드를 방지하려면 동일한 해상도의 비디오를 입력하는 것이 좋습니다.
  • 비디오 순서: 가장 품질이 높거나 목표로 하는 해상도를 가진 비디오를 맨 앞에 배치하여 기준 해상도로 지정하세요.

중요 참고 사항

  • 최소 입력: 비디오를 결합하려면 최소 2개 이상의 비디오가 필요합니다.
  • 지원 포맷: 일반적인 비디오 포맷(mp4, avi, mov, mkv, webm)을 광범위하게 지원합니다.
  • 자동 다운로드: 비디오를 자동으로 다운로드하여 병합 준비를 진행합니다.
  • 자동 크기 조정: 해상도가 다른 비디오는 첫 번째 비디오에 맞춰 자동으로 크기가 조정됩니다.
  • 해상도 기준: 리스트의 첫 번째 비디오가 전체 비디오의 대상 해상도를 결정합니다.
  • 품질 보존: 종횡비를 유지하면서 고품질 FFmpeg 스케일링을 수행합니다.
  • 프레임 레이트 처리: 프레임 레이트를 자동으로 맞추거나 원본 레이트를 유지할 수 있습니다.
  • 오디오 싱크: 병합된 비디오 전체에 걸쳐 완벽한 오디오 싱크를 유지합니다.
  • 웹 최적화: 웹 스트리밍 최적화를 위해 faststart 플래그를 자동으로 추가합니다.
  • 처리 로그: 모든 해상도 확인 및 리사이징 과정을 상세 로그로 확인할 수 있습니다.

자주 묻는 질문 및 문제 해결

  • "At least 2 videos required" 오류: 노드에 2개 이상의 비디오 입력이 연결되었는지 확인하세요.
  • 포맷 불일치: 비디오 간 포맷 차이가 매우 크다면 "copy" 코덱 대신 일반 코덱을 선택하여 재인코딩되도록 하세요.
  • 대용량 파일 처리: 매우 큰 비디오의 경우 타임아웃 제한 시간을 늘리거나 처리 속도를 "fast"로 설정하세요.
  • 오디오 문제: 소스 비디오 간 오디오 포맷이 다른 경우 "copy" 대신 aac 또는 mp3를 선택하세요.
  • 메모리 사용량: 여러 대용량 비디오를 동시에 처리할 때는 시스템 메모리가 충분한지 확인하세요.
  • 느린 리사이징 속도: 해상도가 다른 대용량 비디오는 크기 조정 연산으로 인해 처리 시간이 길어질 수 있습니다.
  • 예상치 못한 해상도 출력: 첫 번째 비디오가 출력 해상도를 결정하므로, 원하는 해상도의 비디오가 첫 번째에 오도록 순서를 변경하세요.
  • 품질 저하: 반복적인 크기 조정은 화질 저하를 유발할 수 있으므로 가능한 동일 해상도의 비디오를 사용하세요.
  • FFprobe 오류: 해상도 감지에 실패할 경우 비디오 파일이 손상되지 않았는지 확인하세요.