我正在尝试为Open AI Gym Taxi环境制作GIF文件。我可以看到很多针对图像对象环境的代码。但是出租车环境是字符串,我不确定如何将渲染的环境另存为jpg或png文件。
这就是我所拥有的:
import gym
env = gym.make('Taxi-v2')
state=env.reset()
while True:
t += 1
env.render()
action = env.action_space.sample()
state, reward, done, info = env.step(action)
if done:
print("Episode finished after {} timesteps".format(t+1))
break
env.close()
我尝试过:
env = gym.wrappers.Monitor(env, './video/',video_callable=lambda episode_id: True,force = True)
但这只会创建一个json文件。
衷心感谢您的帮助。 谢谢
答案 0 :(得分:0)
您安装了FFmpeg吗?如果不是,只需使用以下命令安装它:
apt-get install ffmpeg
对于Debian,或:
brew install ffmpeg
在OS X上。
编辑(说明)
健身房录像机首先创建每秒帧,然后以json格式转储其元数据,但是在渲染这些帧之前,它需要使用编码器进行压缩,因此启动了查找ffmpeg编码器的子过程,这可能会导致依赖项错误如果找不到它,则返回第一帧的元数据。要进一步了解,请检查gym/wrappers/monitoring/video_recorder.py
下列出的源代码。
答案 1 :(得分:0)
我找不到直接的方法来做到这一点,但我用
安装了 asciinema (https://asciinema.org/docs/usage)apt-get install asciinema
动画 OpenAI 创建的 JSON 文件。然后我使用以下命令截取了输出的屏幕截图(使用类似 peek https://github.com/phw/peek):
asciinema play openaigym.video.0.272453.video000000.json
产生的: