python屏幕录制模拟点击事件_屏幕录制[Python],python,实现,录屏

1

pynput 库,可以全局监听键盘、鼠标事件。

安装方法:

a 下载

pynput-1.4.5-py2.py3-none-any.whl到本地。

b pip

8220e8f89021a6f08ba1b1b02abbee92.png

2 代码

from datetime import datetime

from PIL import ImageGrab

from cv2 import *

import numpy as np

from pynput import keyboard

import threading

def record_screen():

global name

name = datetime.now().strftime("%Y-%m-%d %H-%M-%S")

screen = ImageGrab.grab()

width, high = screen.size

fourcc = VideoWriter_fourcc('X', 'V', 'I', 'D')

video = VideoWriter('%s.avi' % name, fourcc, 16, (width, high))

print("record start !!!")

while True:

if flag:

print("record end !!!")

video.release()

break

img = ImageGrab.grab()

imm = cvtColor(np.array(img), COLOR_RGB2BGR) # 转为opencv的BGR模式

video.write(imm)

# 视频信息

video = VideoCapture('%s.avi' % name)

fps = video.get(CAP_PROP_FPS)

frames = video.get(CAP_PROP_FRAME_COUNT)

print('帧率=%.1f'%(fps))

print('帧数=%.1f'%(frames))

print('分辨率=(%d,%d)'%(int(video.get(CAP_PROP_FRAME_WIDTH)), int(video.get(CAP_PROP_FRAME_HEIGHT))))

print('时间=%.2f秒' % (int(frames) / fps))

return

def on_press(key): # 监听按键

global flag

if key == keyboard.Key.home:

flag = True

return False # 返回False,键盘监听结束

if __name__ == '__main__':

flag = False

th = threading.Thread(target=record_screen)

th.start()

with keyboard.Listener(on_press=on_press) as listener:

listener.join()

pass

3 效果

运行程序,开始录制。按home键结束录制。

9f73d0465d89eb7e0689fa0ee986c5aa.png

安装pyaudio

P

ython3.6直接pip即可。

ebcf5e66b12c21eeef9ccb16a7d4cb2e.png

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值