如何解决无法播放从 OpenAi 环境录制的视频
我正在用 python 开发一些强化学习算法,我正在尝试将环境录制到视频中,但是一旦我录制了它,我就无法播放文件,它的大小只有 1KB,我试过一个例子我在网上找到,这也不起作用,所以我认为这是系统问题而不是我的代码问题,我通过运行 gym.logger.set_level(gym.logger.DEBUG)
启用了调试,但这似乎没有通过任何有用的返回,下面是我的代码
def replay_episode(self):
self._env.reset()
video_recorder = VideoRecorder(self._env,"{}/episode{}.mp4".format(self._output_directory,episode_number),enabled=True)
for action_taken in self._current_episode_actions:
self._env.render()
video_recorder.capture_frame()
self._env.step(action_taken)
video_recorder.close()
for i in range(solution.get_episode_count()):
# AI Stuff
episode_number = i + 1
solution.intialise_episode(episode_number)
profiler.enable()
while not solution.current_episode_done():
solution.run_tick()
solution.train_model()
profiler.disable()
export_profiling_results(profiler,'{}/episode{}.csv'.format(solution._output_directory,episode_number))
# This is the bit we're intrested in
if solution.current_episode_successful() or episode_number % 50 == 0:
solution.replay_episode()
done_time = time.time()
print("Episode {} Completed in {}s".format(episode_number,done_time-start_time))
start_time = done_time
solution.close()
这是我在调用replay_episode()
方法时从环境中得到的日志
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Starting ffmpeg with "ffmpeg -nostats -loglevel error -y -f rawvideo -s:v 600x400 -pix_fmt rgb24 -framerate 30 -i - -vf scale=trunc(iw/2)*2:trunc(ih/2)*2 -vcodec libx264 -pix_fmt yuv420p
-r 30 data/1003083349/episode50.mp4"
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Capturing video frame: path=data/1003083349/episode50.mp4
DEBUG: Closing video encoder: path=data/1003083349/episode50.mp4
当我尝试播放视频时出现错误:This file isn't playable. That might be because the file type is unsupported,the file extension is incorrect,or the file is corrupt. 0xc10100be
预先感谢您的任何回复
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。