Spaces:
Build error
Build error
| import glob | |
| import os | |
| from PIL import Image | |
| from video_sequencer.assemble_video import assemble_video | |
| import numpy as np | |
| from utils.path_utils import resolve_path | |
| def generate_frames_and_video(coords, output_folder="frames", fps=5, frame_size=64): | |
| # Use /tmp directory for frames | |
| tmp_frames_dir = os.path.join("tmp", output_folder) | |
| os.makedirs(tmp_frames_dir, exist_ok=True) | |
| # Clean up any existing frames | |
| for file in glob.glob(os.path.join(tmp_frames_dir, "*.png")): | |
| os.remove(file) | |
| for i, (x, y) in enumerate(coords): | |
| px = int(x * (frame_size - 1)) | |
| py = int(y * (frame_size - 1)) | |
| frame = np.zeros((frame_size, frame_size), dtype=np.uint8) | |
| frame[py, px] = 255 | |
| img = Image.fromarray(frame).convert("RGB") | |
| img.save(os.path.join(tmp_frames_dir, f"frame_{i:03}.png")) | |
| output_video_path = os.path.join(tmp_frames_dir, "output_video.mp4") | |
| assemble_video(tmp_frames_dir, output_video_path, fps=fps) | |
| return output_video_path |