我试图保存我的Hopper-v2环境渲染的视频,但是它给出了分割错误。我做了一个简短的代码示例来重现这个问题。
import os
from gym.wrappers.monitoring.video_recorder import VideoRecorder
path_project = os.path.abspath(os.path.join(__file__, ".."))
path_of_video_with_name = os.path.join(path_project, "videotest.mp4")
env = gym.make('Hopper-v2') # for making environment
state = env.reset()
video_recorder = None
video_recorder = VideoRecorder(env, path_of_video_with_name, enabled=True)
for _ in range(1000):
env.render()
video_recorder.capture_frame()
env.step(env.action_space.sample()) # take a random action
print("Saved video.")
video_recorder.close()
video_recorder.enabled = False
env.close()
这给出了错误:进程结束,退出码139(被信号11:SIGSEGV中断)
它确实创建了一个视频,只有14帧长,然后它被打断了。通过注释'video_recorder.capture_frame()'行,它将呈现完整的剧集。使用翻筋斗环境代替漏斗,确实有效并节省了整个情节。
我使用Linux 20.0.4 (Ubuntu), Gym版本0.21.0使用pip install gym
, python版本3.7.6。
如果有人有任何想法,请告诉我
安装下列依赖项;
pip install ffmpeg
pip install imageio-ffmpeg
解决我的问题。