码迷,mamicode.com
首页 > 其他好文 > 详细

怎么把pygame的过程录制到mp4

时间:2020-06-23 13:28:15      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:模块   time   numpy   没有   视频编码   top   string   mini   answer   

其实蛮无聊的,首先,用的是cv2模块,也就是没有音频,只是动画,不过mp4压缩比大,体积小,windows支持自动播放(比如flash格式flv是不支持的)。
所谓录制,就是一帧一帧图像写入video,想想很简单,不过有个数据接口问题,代码如下(插入到pygame的刷新一帧函数的结束部分即可):

    def printAll(self):
        #。。。。。。。pygame表示各种物体代码块
        if CMG.step == 1:
            fps = 12
            size = (800,570)
            file_path = r"C:\Users\Administrator\Desktop\aa1" + str(int(time.time())) + ".mp4v"#导出路径
            fourcc = cv2.VideoWriter_fourcc(I,4,2,0)#不同视频编码对应不同视频格式(例:‘I‘,‘4‘,‘2‘,‘0‘ 对应avi格式)
            CMG.video = cv2.VideoWriter( file_path, fourcc, fps, size )
        else:
            imagestring = pygame.image.tostring(CMG.screen.subsurface(0,0,800,570),"RGB")
            pilImage = Image.frombytes("RGB", (800,570), imagestring)
            img = cv2.cvtColor(numpy.asarray(pilImage),cv2.COLOR_RGB2BGR)
            
            CMG.video.write(img)        #把图片写进视频
            if CMG.step == len(CMG.gameAnswer)+1:
                CMG.video.release() #释放

 

怎么把pygame的过程录制到mp4

标签:模块   time   numpy   没有   视频编码   top   string   mini   answer   

原文地址:https://www.cnblogs.com/nocomment/p/13181455.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!