3
我試圖通過將每幀保存爲圖像而不是將它們拼接在一起使用ffmpeg來捕獲我的遊戲視頻。我跟着這些腳本的例子:在Pygame中,如何以無頭模式保存屏幕圖像?
這裏是我的代碼的基本邏輯:
os.environ['SDL_VIDEODRIVER'] = 'dummy'
pygame.init()
pygame.display.set_mode((1,1))
screen = pygame.Surface((400, 400)).convert()
# screen becomes attribute of game object: game.screen
game = MyGame(screen)
while game.running:
game.update() # <--- updates game.screen
pygame.display.flip()
pygame.image.save(game.screen, 'frame-%03d.png' % (game.frame_num))
create_video_using_ffmpeg()
如果我註釋掉的第一行設置視頻驅動程序到「虛擬」,圖像按預期發生。但它會打開一個(小)窗口,因此腳本在作爲cronjob運行時會失敗。沒有註釋的行,我只是得到一系列空白的黑色圖像。
任何想法發生了什麼問題?