Python3,9分钟撸完一个电脑录屏神器,女神说今晚要给我加鸡腿。

简介: Python3,9分钟撸完一个电脑录屏神器,女神说今晚要给我加鸡腿。

1、引言


女神:鱼哥,忙吗?

小鱼:嗯嗯, 忙, 哦不 , 不忙不忙。

女神:鱼哥,那能不能帮我个忙?

小鱼:这没问题啊这。

女神:你是认真说的吗?

小鱼:认真的啊,这还能不认真吗。

女神:说好了,不准反悔。

小鱼:我鱼愿意为你,牺牲睡觉的时间,做事情。

女神:鱼哥,你还帅哦。

小鱼:不要羡慕鱼哥, 鱼哥上学从来没在一班呆过。

女神:嗯嗯~ ~ 太哇塞了。

小鱼:说吧, 你有啥事需要我,该不会是…?

女神:想什么呢? 我我想录制一个视频,但是不知道用什么软件,能帮忙找一个吗?

小鱼:就这啊… 我还以为啥难事呢?

女神:那你的意思,可以帮忙了。

小鱼:必须的。


2、代码实战


2.1 编写思路

编写视频录制器, 我们需要以下步骤:


1、初始化变量,默认为True时,就是录制;

2、创建录制函数,用于进行视频录制;

3、创建键盘监听函数,如果按esc按键,就停止录制;

有了以上思路,我们就进行代码编写。


2.2 代码示例

代码示例


# -*- coding:utf-8 -*-
# @Time   : 2022-08-10
# @Author : Carl_DJ
'''
制作视频录制器
实现功能:
1、倒计时开始进行录制
2、点击 键盘的 esc按键,就停止录制
3、打包成.exe, 直接点击就可以运行
'''
import cv2
from PIL import ImageGrab
import numpy as np
import datetime
from pynput import keyboard
import threading
from loguru import logger
import  time
import  os
# 初始化变量
is_running = True
'#创建录制过程生成的generate_video,用于生成录制视频'
def generate_video():
    '''
    生成录制视频
    :return:
    '''
    #当前时间戳为文件名字
    start_time = datetime.datetime.now().strftime('%Y-%m-%d %H%M%S')
    file_name = (start_time + '录制视频')
    # file_name= input("输入录制文件的名称")
    screen = ImageGrab.grab()
    width,height = screen.size
    fource = cv2.VideoWriter_fourcc(*'XVID')
    video = cv2.VideoWriter('%s.avi'% file_name,fource,20,(width,height))
    for n in range(3):
        logger.debug(str(3-n)+ '秒后开始录制')
        time.sleep(1)
    while True:
        im1 = ImageGrab.grab()
        im2 = cv2.cvtColor(np.array(im1),cv2.COLOR_RGBA2RGB)
        video.write(im2)
        if is_running is False:
            logger.debug('屏幕录制结束')
            break
    video.release()
'创建键盘监听函数 press_keyboard,监听输入,如果按下esc则改变运行状态'
# is_running = False #注释掉
def press_keyboard(key):
    '''
    键盘监听函数
    :param key:
    :return:
    '''
    global  is_running
    if key == keyboard.Key.esc:
        logger.debug('已按下ESC键,录制结束')
        is_running = False
        return False
if __name__ == '__main__':
    thread_ = threading.Thread(target=generate_video)
    thread_.start()
    logger.debug('开始进入录制视频')
    with keyboard.Listener(on_press = press_keyboard) as listener:
        listener.join()

运行结果


敲黑板:

为了节约时间, 我把代码封装成exe文件,喜欢的可以直接去下载。

点击,即可跳转到下载页面。


3、总结


看到这里,今天的分享差不多就该结束了。

今天主要通过pynupt、PIL、numpy 库来介绍视频的录制及触发键盘的按键后,结束录制。

整体还算简单,但是针对初学者来说,还是有一点点的难度。

同时, 我也把代码封装成.exe应用,双击即可直接运行,

这里也说一下:


1、生成文件地址,与exe应用统计目录

2、生成文件名称:日期+时间戳+录制视频.avi

3、结束按键:esc


目录
相关文章
|
2月前
|
监控 Python
使用Python编写的电脑上网时间控制软件:实现家长监管功能
在当今数字化时代,孩子们对互联网的依赖程度越来越高,但是过度使用互联网可能会对他们的健康和学业产生负面影响。为了帮助家长有效地监管孩子们的上网行为,我们开发了一款基于Python的电脑上网时间控制软件,具有家长监管功能。
177 1
|
5月前
|
监控 Linux iOS开发
电脑优盘监控的Python代码示例
电脑优盘监控的代码示例通常需要涉及操作系统的文件系统和USB设备监控。以下是一个基本的Python示例,用于检测USB设备的插入和拔出
494 0
|
7月前
|
安全 Python
Python3,5行代码让电脑永不息屏。
Python3,5行代码让电脑永不息屏。
96 0
Python3,5行代码让电脑永不息屏。
|
1月前
|
JSON 数据格式 Python
优秀!Python版按键精灵,电脑鼠标、键盘手势动作一键复制操作,优雅极了!
优秀!Python版按键精灵,电脑鼠标、键盘手势动作一键复制操作,优雅极了!
|
1月前
|
存储 Linux iOS开发
使用Python自动修改电脑的静态IP地址
使用Python自动修改电脑的静态IP地址
24 0
|
2月前
|
监控 测试技术 API
自动化测试工具与电脑桌面监控软件的集成:Selenium与Python的无缝整合
在当今数字化时代,软件质量保证是每个软件开发团队都必须面对的重要挑战之一。自动化测试工具和电脑桌面监控软件的结合,为开发团队提供了一种有效的方式来确保软件的稳定性和性能。本文将介绍如何利用Python编程语言中的Selenium库,与桌面监控软件进行无缝整合,以实现对应用程序的自动化测试和桌面监控。
200 5
|
2月前
|
存储 安全 计算机视觉
用 Python 脚本实现电脑唤醒后自动拍照 截屏并发邮件通知
用 Python 脚本实现电脑唤醒后自动拍照 截屏并发邮件通知
|
3月前
|
存储 JSON 监控
使用Python实现公司常用的电脑监控软件:一体化解决方案
随着公司规模的扩大,电脑监控变得尤为重要,以确保员工的高效工作和公司信息的安全。为了满足公司需求,我们决定使用Python来实现一套自定义的公司常用的电脑监控软件,提供一体化解决方案。
246 0
|
5月前
|
监控 计算机视觉 Python
Python电脑屏幕共享代码
一个简单的Python例子,使用pyautogui和socket库实现基本的屏幕共享
495 0
|
5月前
|
数据挖掘 Python
python之电脑信息数据分析实战基于 词云 柱状图 饼图 实验报告 代码+数据
python之电脑信息数据分析实战基于 词云 柱状图 饼图 实验报告 代码+数据
34 0