ขอบคุณ node และ workflow การสร้างแอนิเมชั่น LivePortrait ที่สมจริงใน ComfyUI ง่ายขึ้นแล้ว ด้านล่างนี้เป็นการแบ่งแยกส่วนประกอบและพารามิเตอร์ที่สำคัญใน workflow ของเขา
กรุณาอ่านคำอธิบาย ก่อนเพื่อทำความเข้าใจขั้นตอนการทำงาน หลังจากที่คุณคุ้นเคยกับกระบวนการ LivePortrait Img2Vid แล้ว คุณจะสังเกตเห็นความแตกต่างเล็กน้อยระหว่าง LivePortrait Vid2Vid และ Img2Vid
ความแตกต่างระหว่าง ComfyUI LivePortrait Vid2Vid และ Img2Vid
1. โหลดวิดีโอโดยใช้ "VHS_LoadVideo" แทนภาพ
- ในการทำงาน LivePortrait Img2Vid นี้ คุณจะโหลดภาพนิ่งเป็นแหล่งที่มาโดยใช้ node "LoadImage" อย่างไรก็ตาม ในการทำงาน Vid2Vid คุณต้องโหลดวิดีโอเป็นแหล่งที่มาแทน ปรับ "frame_load_cap" เพื่อควบคุมจำนวนเฟรมที่โหลด
- ปรับขนาดวิดีโอแหล่งที่มาให้มีความละเอียดสูงขึ้นเช่น 1024x1024 เพื่อคุณภาพที่ดีกว่า หลังจากโหลดวิดีโอแหล่งที่มาด้วย "VHS_LoadVideo" ใช้ node "ImageResizeKJ" เพื่อขยายเฟรมให้มีความละเอียดเช่น 1024x1024 ซึ่งจะช่วยรักษาความคมชัดและรายละเอียดในผลลัพธ์สุดท้าย เมื่อทำงานกับวิดีโอ แนะนำให้ใช้ความละเอียดสูงกว่าแหล่งที่มาเมื่อเทียบกับการทำงาน Img2Vid ในขณะที่ 512x512 มักเพียงพอสำหรับภาพนิ่ง วิดีโอจะได้ประโยชน์จากความละเอียดที่สูงขึ้นเพื่อรักษารายละเอียดและคุณภาพ
- เฟรมวิดีโอขับเคลื่อนยังคงสามารถปรับขนาดให้มีความละเอียดต่ำกว่าเช่น 480x480 เพื่อประหยัดเวลาในการประมวลผล เนื่องจากพวกมันให้เพียงข้อมูลการเคลื่อนไหวเท่านั้น
2. ใช้โหมดการเคลื่อนไหวสัมพันธ์ "source_video_smoothed" สำหรับผลลัพธ์ LivePortrait Vid2Vid ที่ราบรื่นขึ้น
- node "LivePortraitProcess" มีพารามิเตอร์ "relative_motion_mode" ที่ควบคุมการถ่ายโอนการเคลื่อนไหวจากวิดีโอขับเคลื่อนไปยังแหล่งที่มา สำหรับ Vid2Vid แนะนำให้ใช้โหมด "source_video_smoothed"
- ในโหมดนี้ การเคลื่อนไหวของ LivePortrait จะถูกปรับให้ราบรื่นตามเวลาตามวิดีโอขาเข้า ซึ่งช่วยสร้างผลลัพธ์ที่สอดคล้องกันและเสถียรมากขึ้น ซึ่งสำคัญมากสำหรับวิดีโอที่การกระโดดหรือการสั่นในทันทีจะสังเกตเห็นได้มากกว่าภาพนิ่ง
- โหมดการเคลื่อนไหวอื่นๆ เช่น "relative" หรือ "single_frame" อาจทำงานได้ดีกว่าสำหรับ Img2Vid แต่ "source_video_smoothed" มักจะเป็นตัวเลือกที่ดีที่สุดสำหรับ Vid2Vid
3. เชื่อมต่อ FPS และเสียงของวิดีโอแหล่งที่มากับ "VHS_VideoCombine" เพื่อรักษาการซิงค์เสียงสำหรับ LivePortrait Vid2Vid
- เมื่อสร้างวิดีโอผลลัพธ์สุดท้ายด้วย node "VHS_VideoCombine" สิ่งสำคัญคือต้องรักษาการซิงค์เสียงกับเฟรมวิดีโอ ซึ่งเกี่ยวข้องกับการเชื่อมต่อสองอย่างสำคัญ:
- ก่อนอื่น เชื่อมต่อเสียงของวิดีโอแหล่งที่มากับอินพุต "audio" ของ "VHS_VideoCombine" โดยใช้ node "Reroute" สิ่งนี้จะช่วยให้ใช้เสียงต้นฉบับในวิดีโอผลลัพธ์
- ประการที่สอง เชื่อมต่ออัตราเฟรม (FPS) ของวิดีโอแหล่งที่มากับอินพุต "frame_rate" ของ "VHS_VideoCombine" คุณสามารถรับ FPS โดยใช้ node "VHS_VideoInfo" ซึ่งดึงข้อมูลเมทาดาทาจากวิดีโอแหล่งที่มา สิ่งนี้จะช่วยให้วิดีโอผลลัพธ์ตรงกับการจับเวลาของแหล่งที่มา
- โดยการจัดการเสียงและอัตราเฟรมอย่างระมัดระวัง คุณสามารถสร้างผลลัพธ์ LivePortrait Vid2Vid ที่รักษาการซิงค์และการจับเวลาที่เหมาะสม ซึ่งสำคัญอย่างยิ่งสำหรับผลลัพธ์ที่สมจริงและดูได้