| 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") | |