노드와 워크플로우 덕분에 ComfyUI에서 현실적인 LivePortrait 애니메이션을 만드는 것이 더 쉬워졌습니다. 다음은 그의 워크플로우의 주요 구성 요소와 매개변수에 대한 설명입니다.
워크플로우 단계를 이해하려면 먼저 설명을 읽어보세요. LivePortrait Img2Vid 프로세스를 익힌 후, LivePortrait Vid2Vid와 Img2Vid 워크플로우 간의 몇 가지 작은 차이를 확인할 수 있습니다.
ComfyUI LivePortrait Vid2Vid와 Img2Vid의 차이점
1. 이미지를 대신하여 "VHS_LoadVideo"를 사용하여 비디오 로드
- 이 LivePortrait Img2Vid 워크플로우에서는 "LoadImage" 노드를 사용하여 정적 이미지를 소스로 로드합니다. 그러나 Vid2Vid 워크플로우에서는 비디오를 소스로 로드해야 합니다. "frame_load_cap"을 조정하여 로드되는 프레임 수를 제어할 수 있습니다.
- 소스 비디오를 1024x1024와 같은 더 높은 해상도로 리사이즈하여 품질을 향상시킵니다. "VHS_LoadVideo"로 소스 비디오를 로드한 후, "ImageResizeKJ" 노드를 사용하여 프레임을 1024x1024와 같은 해상도로 업스케일하세요. 이는 최종 출력의 선명도와 디테일을 유지하는 데 도움이 됩니다. 비디오 작업 시, Img2Vid 워크플로우에 비해 소스에 더 높은 해상도를 사용하는 것이 좋습니다. 정적 이미지에는 512x512가 종종 충분하지만, 비디오는 디테일과 품질을 유지하기 위해 더 높은 해상도가 필요합니다.
- 드라이빙 비디오 프레임은 움직임 정보를 제공하는 데만 사용되므로 처리 시간을 절약하기 위해 480x480과 같은 낮은 해상도로 리사이즈할 수 있습니다.
2. 더 부드러운 LivePortrait Vid2Vid 결과를 위해 "source_video_smoothed" 상대적 모션 모드 사용
- "LivePortraitProcess" 노드에는 드라이빙 비디오에서 소스로 모션을 전송하는 방법을 제어하는 "relative_motion_mode" 매개변수가 있습니다. Vid2Vid의 경우 "source_video_smoothed" 모드를 사용하는 것이 좋습니다.
- 이 모드에서는 입력 비디오를 기반으로 시간이 지남에 따라 LivePortrait 모션이 부드러워져 더 시간적으로 일관되고 안정적인 결과를 만듭니다. 이는 단일 이미지보다 비디오에서 갑작스러운 점프나 모션의 떨림이 더 눈에 띌 수 있기 때문에 특히 중요합니다.
- "relative" 또는 "single_frame"과 같은 다른 모션 모드는 Img2Vid에 더 적합할 수 있지만, "source_video_smoothed"는 일반적으로 Vid2Vid에 가장 적합한 선택입니다.
3. LivePortrait Vid2Vid의 오디오 싱크를 유지하기 위해 "VHS_VideoCombine"에 소스 비디오 FPS 및 오디오 연결
- "VHS_VideoCombine" 노드를 사용하여 최종 출력 비디오를 만들 때, 비디오 프레임과 오디오의 동기화를 유지하는 것이 중요합니다. 이것은 두 가지 주요 연결을 포함합니다:
- 첫째, "Reroute" 노드를 사용하여 소스 비디오의 오디오를 "audio" 입력에 연결하세요. 이는 출력 비디오에 원본 오디오가 사용되도록 보장합니다.
- 둘째, 소스 비디오의 프레임 속도(FPS)를 "VHS_VideoCombine"의 "frame_rate" 입력에 연결하세요. "VHS_VideoInfo" 노드를 사용하여 소스 비디오에서 메타데이터를 추출하여 FPS를 얻을 수 있습니다. 이는 출력 비디오가 소스의 타이밍과 일치하도록 보장합니다.
- 오디오와 프레임 속도를 신중하게 처리함으로써, 실제적이고 시청 가능한 결과를 위해 올바른 동기화와 타이밍을 유지하는 LivePortrait Vid2Vid 출력을 생성할 수 있습니다.