如何用python录制屏幕?

2025-10-23 20:29:49

1、这里我使用pycharm,大家也可以用其他的python编辑器。我们先创建test0.py文件。

如何用python录制屏幕?

2、安装必需的库:pillow,opencv-python和numpy。它们分别有不同的作用。

自带库time,用于定时录制。

如何用python录制屏幕?

3、Pillow库的使用:

pillow是python中用于处理图像的库,在此次录屏中起到获取屏幕信息的作用

from PIL import ImageGrab

screen=PIL.ImageGrab.grab() ->将屏幕赋给对象

widh,high=screen.size ->获取屏幕的高和宽

opencv-python库的使用:

fourcc=cv2.VideoWriter_fourcc(*'XVID') ->配置好视频编解码器

XVID:MPEG-4视频编解码器

fps=5 ->帧率设置为5

video=cv2.VideoWriter('跳舞.avi',fourcc,fps,(widh,high)) ->创建视频对象

video.write() ->写入视频

cv2.namedWindow('窗口名', 0) ->使窗口可变

cv2.resizeWindow('窗口名', 0, 0) ->改变窗口大小为最小

cv2.imshow('jump',0) ->展示窗口

cv2.waitKey(时间)  ->时间取0,表示永远等待,100代表以100ms为周期等待

cv2.cvtColor(np.array(capture), cv2.COLOR_RGB2BGR) ->将图片数组从BGR格式转换成RGB格式

time库的使用:

second=3 ->等待时间

time.sleep(3) ->等待3秒钟

numpy库的使用:

import numpy as np

np.array('图片') ->处理图片数组

如何用python录制屏幕?

4、编写程序

fps =5

screen=ImageGrab.grab()

widh,high=screen.size

fourcc=cv2.VideoWriter_fourcc(*'XVID')

video=cv2.VideoWriter('jump.avi', fourcc, fps,(widh,high))

time.sleep(3) #有时间缓冲

while True :

capture = ImageGrab.grab()

image = cv2.cvtColor(np.array(capture), cv2.COLOR_RGB2BGR)

video.write(image)

cv2.namedWindow('jump', 0)

cv2.resizeWindow('jump', 0, 0)

cv2.imshow('jump',0)

if cv2.waitKey(100) & 0xFF == ord('q'):

#这里的& 0xFF代表取最低八位,也就是一个字节

break#退出循环

video.release() #一定不要忘,闭合视频

cv2.destroyAllWindows()#销毁窗口

如何用python录制屏幕?

5、运行结果

左上角会出现一个黑色窗口,表示开始录制。点击窗口敲击“Q”,就会退出录制,视频保存在指定目录下。

如何用python录制屏幕?

如何用python录制屏幕?

6、如果希望更加完美的话,可以尝试用线程+pynput完善程序。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢