import imageio import os class VideoRecorder(object): def __init__(self, dir_name, height=256, width=256, fps=30): self.dir_name = dir_name self.height = height self.width = width self.fps = fps self.frames = [] def init(self, enabled=True): self.frames = [] self.enabled = self.dir_name is not None and enabled def record(self, obs): if self.enabled: self.frames.append(obs) def save(self, file_name): if self.enabled: path = os.path.join(self.dir_name, file_name) imageio.mimsave(path, self.frames, fps=self.fps)