tushar310's picture
version 1
95b2ad6 verified
import argparse
from pipeline import merge_lips
def main() -> None:
parser = argparse.ArgumentParser(description="Step 4: Merge lip-synced face region back into original video.")
parser.add_argument("--original-video", required=True, help="Path to original video")
parser.add_argument("--lip-synced-video", required=True, help="Path to lip-synced face video from external module")
parser.add_argument("--face-coords", required=True, help="Path to face coordinates pkl")
parser.add_argument("--lip-coords", required=True, help="Path to lip coordinates pkl")
parser.add_argument("--output", default="final_synced_output.mp4", help="Output final merged video path")
parser.add_argument("--audio", default=None, help="Optional external audio path from Step 3")
args = parser.parse_args()
final_path, audio_used = merge_lips(
original_video_path=args.original_video,
lip_synced_video_path=args.lip_synced_video,
face_coords_path=args.face_coords,
lip_coords_path=args.lip_coords,
final_output_path=args.output,
audio_path=args.audio,
)
print(f"Final merged video: {final_path}")
print(f"Audio source used: {audio_used}")
if __name__ == "__main__":
main()