ahmedghani's picture
completed codebase
bed6951
import os
import shutil
import torch
from propainter_pipeline import process_video
from florancesam_pipeline import VideoProcessor
import tempfile
video_processor = VideoProcessor()
video_processor._enable_mixed_precision()
video_processor._load_models()
def infer(video_path, scale_factor, prompt):
video_processor._enable_mixed_precision()
# --------------------------------------------------------------------------------
print("Processing video with FlorenceSam...")
session_path, fps, input_frames_dir, output_frames_dir = video_processor.process_video(
video_path=video_path,
scale_factor=scale_factor,
prompt=prompt
)
print(f"Processed video saved at: {session_path}")
print(f"FPS: {fps}")
# --------------------------------------------------------------------------------
print("Cleaning up...")
video_processor._reset_mixed_precision()
torch.cuda.empty_cache()
print("Processing video with ProPainter...")
result_path = tempfile.mkdtemp()
inpainted_video = process_video(video=input_frames_dir, mask=output_frames_dir, save_fps=int(fps), fp16=True, output=result_path)
shutil.rmtree(input_frames_dir)
shutil.rmtree(output_frames_dir)
torch.cuda.empty_cache()
return inpainted_video
if __name__ == "__main__":
infer("/home/ubuntu/ahmedghani/clip-07-camera-2.mp4", 0.5, "players, basketball, rim, players shadow")