欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用Python3編寫一個(gè)電腦錄屏神器

 更新時(shí)間:2022年08月19日 08:16:04   作者:Carl_奕然  
這篇文章主要為大家詳細(xì)介紹了如何利用Python3編寫一個(gè)簡易的電腦錄屏神器,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以動(dòng)手嘗試一下

1、引言

女神:魚哥,忙嗎?

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

女神:魚哥,那能不能幫我個(gè)忙?

小魚:這沒問題啊這。

女神:你是認(rèn)真說的嗎?

小魚:認(rèn)真的啊,這還能不認(rèn)真嗎。

女神:說好了,不準(zhǔn)反悔。

小魚:我魚愿意為你,犧牲睡覺的時(shí)間,做事情。

女神:魚哥,你還帥哦。

小魚:不要羨慕魚哥, 魚哥上學(xué)從來沒在一班呆過。

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

小魚:說吧, 你有啥事需要我,該不會(huì)是…?

女神:想什么呢? 我我想錄制一個(gè)視頻,但是不知道用什么軟件,能幫忙找一個(gè)嗎?

小魚:就這啊… 我還以為啥難事呢?

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

小魚:必須的。

2、代碼實(shí)戰(zhàn)

2.1 編寫思路

編寫視頻錄制器, 我們需要以下步驟:

1、初始化變量,默認(rèn)為True時(shí),就是錄制;

2、創(chuàng)建錄制函數(shù),用于進(jìn)行視頻錄制;

3、創(chuàng)建鍵盤監(jiān)聽函數(shù),如果按esc按鍵,就停止錄制;

有了以上思路,我們就進(jìn)行代碼編寫。

2.2 代碼示例

代碼示例

# -*- coding:utf-8 -*-
# @Time   : 2022-08-10
# @Author : Carl_DJ

'''
制作視頻錄制器
實(shí)現(xiàn)功能:
1、倒計(jì)時(shí)開始進(jìn)行錄制
2、點(diǎn)擊 鍵盤的 esc按鍵,就停止錄制
3、打包成.exe, 直接點(diǎn)擊就可以運(yùn)行
'''
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

'#創(chuàng)建錄制過程生成的generate_video,用于生成錄制視頻'

def generate_video():
    '''
    生成錄制視頻
    :return:
    '''
    #當(dāng)前時(shí)間戳為文件名字
    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('屏幕錄制結(jié)束')
            break
    video.release()

'創(chuàng)建鍵盤監(jiān)聽函數(shù) press_keyboard,監(jiān)聽輸入,如果按下esc則改變運(yùn)行狀態(tài)'
# is_running = False #注釋掉
def press_keyboard(key):
    '''
    鍵盤監(jiān)聽函數(shù)
    :param key:
    :return:
    '''
    global  is_running
    if key == keyboard.Key.esc:
        logger.debug('已按下ESC鍵,錄制結(jié)束')
        is_running = False
        return False

if __name__ == '__main__':
    thread_ = threading.Thread(target=generate_video)
    thread_.start()
    logger.debug('開始進(jìn)入錄制視頻')
    with keyboard.Listener(on_press = press_keyboard) as listener:
        listener.join()

3、總結(jié)

看到這里,今天的分享差不多就該結(jié)束了。

今天主要通過pynupt、PIL、numpy 庫來介紹視頻的錄制及觸發(fā)鍵盤的按鍵后,結(jié)束錄制。

整體還算簡單,但是針對(duì)初學(xué)者來說,還是有一點(diǎn)點(diǎn)的難度。

同時(shí), 我也把代碼封裝成.exe應(yīng)用,雙擊即可直接運(yùn)行,

這里也說一下:

1、生成文件地址,與exe應(yīng)用統(tǒng)計(jì)目錄

2、生成文件名稱:日期+時(shí)間戳+錄制視頻.avi

3、結(jié)束按鍵:esc

到此這篇關(guān)于利用Python3編寫一個(gè)電腦錄屏神器的文章就介紹到這了,更多相關(guān)Python電腦錄屏內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python模擬登錄百度代碼分享(獲取百度貼吧等級(jí))

    python模擬登錄百度代碼分享(獲取百度貼吧等級(jí))

    python模擬登錄百度,實(shí)現(xiàn)了登錄并讀取百度關(guān)注貼吧列表,百度登錄還是有點(diǎn)麻煩的,由于用的ssl,所以要先獲取token,然后再登錄,這個(gè)用finddle2分析下,還是比較好解決的
    2013-12-12
  • pandas初學(xué)者容易犯的六個(gè)錯(cuò)誤總結(jié)

    pandas初學(xué)者容易犯的六個(gè)錯(cuò)誤總結(jié)

    Pandas是Python的一個(gè)數(shù)據(jù)分析包,該工具為解決數(shù)據(jù)分析任務(wù)而創(chuàng)建,Pandas納入大量庫和標(biāo)準(zhǔn)數(shù)據(jù)模型,提供高效的操作數(shù)據(jù)集所需的工具,這篇文章主要給大家介紹了總結(jié)介紹了pandas初學(xué)者容易犯的六個(gè)錯(cuò)誤,需要的朋友可以參考下
    2021-10-10
  • Python數(shù)據(jù)獲取實(shí)現(xiàn)圖片數(shù)據(jù)提取

    Python數(shù)據(jù)獲取實(shí)現(xiàn)圖片數(shù)據(jù)提取

    本文主要介紹了Python數(shù)據(jù)獲取實(shí)現(xiàn)圖片數(shù)據(jù)提取,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • 如何獲取DataFrame值的索引以及其他

    如何獲取DataFrame值的索引以及其他

    這篇文章主要介紹了如何獲取DataFrame值的索引以及其他問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • anaconda3:conda not found報(bào)錯(cuò)問題解決

    anaconda3:conda not found報(bào)錯(cuò)問題解決

    這篇文章主要給大家介紹了關(guān)于anaconda3:conda not found報(bào)錯(cuò)問題解決的相關(guān)資料,Anaconda指的是一個(gè)開源的Python發(fā)行版本,其包含了conda、Python等180多個(gè)科學(xué)包及其依賴項(xiàng),需要的朋友可以參考下
    2023-10-10
  • python創(chuàng)建n行m列數(shù)組示例

    python創(chuàng)建n行m列數(shù)組示例

    今天小編就為大家分享一篇python創(chuàng)建n行m列數(shù)組示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python利用隨機(jī)函數(shù)生成變化圖形詳解

    Python利用隨機(jī)函數(shù)生成變化圖形詳解

    這篇文章主要介紹了如何在Python中利用隨機(jī)函數(shù)生成變化的圖形,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)有一定吧參考價(jià)值,需要的可以了解一下
    2022-04-04
  • Django 拆分model和view的實(shí)現(xiàn)方法

    Django 拆分model和view的實(shí)現(xiàn)方法

    今天小編就為大家分享一篇Django 拆分model和view的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python中的星號(hào)*還能這么用你知道嗎

    Python中的星號(hào)*還能這么用你知道嗎

    這篇文章主要為大家詳細(xì)介紹了Python中的星號(hào)*用法的相關(guān)資料,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-06-06
  • 深入探究Python中的迭代器和生成器

    深入探究Python中的迭代器和生成器

    迭代器(Iterators)和生成器(Generators)是?Python?中最強(qiáng)大的功能之一,但也是新手最容易混淆的部分,本文將深入探討這兩種概念,以及它們?cè)?Python?編程中的實(shí)際應(yīng)用,需要的朋友可以參考下
    2023-06-06

最新評(píng)論