python录屏
现在市面上有很多录屏软件,但需要付费,并且十分“暴力”所以,我今天就分享一个录屏的脚本。按Esc键即可退出录制
from PIL import ImageGrab
import numpy as np
import cv2
import datetime
from pynput import keyboard
import threading
flag=False#停止标志位
def video_record():
"""
屏幕录制!
:return:
"""
name = datetime.datetime.now().strftime('%Y-%m-%d %H-%M-%S') #当前的时间
p = ImageGrab.grab()# 获得当前屏幕
a, b = p.size# 获得当前屏幕的大小
fourcc = cv2.VideoWriter_fourcc(*'XVID')# 编码格式
video = cv2.VideoWriter('%s.avi'%name, fourcc, 16, (a, b))# 输出文件命名为test.mp4,帧率为16,可以自己设置
while True:
im = ImageGrab.grab()
imm=cv2.cvtColor(np.array(im), cv2.COLOR_RGB2BGR)#转为opencv的BGR格式
video.write(imm)
if flag:
print("录制结束!")
break
video.release()
def on_press(key):
"""
键盘监听事件!!!
:param key:
:return:
"""
#print(key)
global flag
if key == keyboard.Key.esc:
flag=True
print("stop monitor!")
return False#返回False,键盘监听结束!
if __name__=='__main__':
th=threading.Thread(target=video_record)
th.start()
with keyboard.Listener(on_press=on_press) as listener:
listener.join()
这个的帧率最好要16,我的是有一些特殊需求的,这个文件需要运行的话。
要在 cmd 运行以下几句话
PIL 即pollow 的安装命令如下:
pip install pillow
其中cv2的安装是下面这条命令
pip install opencv-python
支持!!!{:10_298:} 这个可以啊,挺nb的 亲测可用,感谢分享!
页:
[1]