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