from moviepy.editor import ImageSequenceClip import os def render_video(frames_dir, output_path, fps=30): frames = sorted([ os.path.join(frames_dir, f) for f in os.listdir(frames_dir) if f.endswith(".png") ]) clip = ImageSequenceClip(frames, fps=fps) clip.write_videofile(output_path, codec="libx264")