精华内容
下载资源
问答
  • python 实现屏幕录制

    千次阅读 2019-06-12 10:19:50
    python实现屏幕录制 PIL 即pollow 的安装命令如下: pip install pillow 其中cv2的安装是下面这条命令 pip install opencv-python 代码实现: # coding: utf-8 from PIL import ImageGrab import numpy as np ...

    用python实现屏幕录制

    PIL 即pollow 的安装命令如下:
    pip install pillow
    其中cv2的安装是下面这条命令
    pip install opencv-python

    代码实现:

    # coding: utf-8
    from PIL import ImageGrab
    import  numpy as np
    import  cv2
     
    fps = 20
    start = 3  # 延时录制
    end = 15  # 自动结束时间
     
    curScreen = ImageGrab.grab()  # 获取屏幕对象
    height, width = curScreen.size
     
    video = cv2.VideoWriter('video02.avi', cv2.VideoWriter_fourcc(*'XVID'), fps, (height, width))
     
    imageNum = 0
    while True:
        imageNum += 1
        captureImage = ImageGrab.grab()  # 抓取屏幕
        frame = cv2.cvtColor(np.array(captureImage), cv2.COLOR_RGB2BGR)
     
        # 显示无图像的窗口
        cv2.imshow('capturing', np.zeros((1, 255), np.uint8))
       
        # 控制窗口显示位置,方便通过按键方式退出
        cv2.moveWindow('capturing', height - 100, width - 100)  
        if imageNum > fps * start:
            video.write(frame)
        # 退出条件    
        if cv2.waitKey(50) == ord('q') or imageNum > fps * end:
            break
    video.release()
    cv2.destroyAllWindows()
    
    展开全文
  • 今天小编就为大家分享一篇python 实现屏幕录制示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 主要介绍了Python实现屏幕录制功能,本文给大家介绍的非常详细,对大家的工作或学习具有一定的参考借鉴价值,需要的朋友可以参考下
  • [python小工具]实现屏幕录制

    千次阅读 2018-08-10 17:28:05
    python实现屏幕录制 PIL 即pollow 的安装命令如下: pip install pillow 其中cv2的安装是下面这条命令 pip install opencv-python #python + opencv 实现屏幕录制 from PIL import ImageGrab import numpy...

     

    用python实现屏幕录制

    PIL 即pollow 的安装命令如下:

    pip install pillow

    其中cv2的安装是下面这条命令

    pip install opencv-python
    #python + opencv 实现屏幕录制
    from PIL import ImageGrab
    import numpy as np
    import cv2
    
    screen = ImageGrab.grab()#获得当前屏幕
    
    length,width=screen.size#获得当前屏幕的大小
    video_decode_style = cv2.VideoWriter_fourcc(*'XVID')#编码格式
    video = cv2.VideoWriter('a.avi', video_decode_style, 32, (length, width))#输出文件命名为a.mp4,帧率为32,可以调节
    while True:
        im = ImageGrab.grab()
        imm=cv2.cvtColor(np.array(im), cv2.COLOR_RGB2BGR)#转为opencv的BGR格式
        video.write(imm)
    
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    video.release()
    cv2.destroyAllWindows()

     

    展开全文
  • 经过多番搜索,决定采用Python+opencv+pyaudio来实现屏幕录制。网上搜索到的录屏,基本都是不带声音的,而我要实现的是带声音的屏幕录制。下面就开始一步一步的实现吧。 声音录制 import pyaudio import wave ...
  • 利用Python来完成屏幕录制

    万次阅读 2018-07-03 20:18:26
    前段时间做视频时需要演示电脑端的操作,因此要用到屏幕录制,下载了个迅捷屏幕录制,但是没有vip录制的视频有水印且只能录制二分钟,于是鄙人想了下能不能通过万能的python实现呢?经过一晚上的尝试发现这条路是...

     

    前段时间做视频时需要演示电脑端的操作,因此要用到屏幕录制,下载了个迅捷屏幕录制,但是没有vip录制的视频有水印且只能录制二分钟,于是鄙人想了下能不能通过万能的python来实现呢?经过一晚上的尝试发现这条路是可以走的通的。分享一下自己的想法,整体思路是PIL模块中的ImageGrab不停的获得当前屏幕,利用opencv写入视频流话不多说,直接上代码,有什么更好的建议,欢迎大家交流!

    """python + opencv 实现屏幕录制_by-_Zjh_"""
    from PIL import ImageGrab
    import numpy as np
    import cv2
    p = ImageGrab.grab()#获得当前屏幕
    k=np.zeros((200,200),np.uint8)
    a,b=p.size#获得当前屏幕的大小
    fourcc = cv2.VideoWriter_fourcc(*'XVID')#编码格式
    video = cv2.VideoWriter('test.avi', 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)
        cv2.imshow('imm', k)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    video.release()
    cv2.destroyAllWindows()

    在停止录制的时候我自己采用的是opencv的q键盘退出,实际上还是会有个黑框弹出来,如果有更好的退出录制方式请留下您的建议,本次还有个不足的地方是没有增加录制声音的功能。最近事情太多了,等放假了出一个完整版的GUI程序。好了今天就先到这了,快要考线性系统这门课了,得开始复习了

     

    最近接触了 pynput 这个强大的三方库,可以全局监听键盘、鼠标事件。把以前的屏幕录制的程序改进一下!请忽略以前的程序,直接看这个!

    """
    python 屏幕录制改进版,无opencv黑框显示!
    @zhou 2020/1/29_
    """
    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, 20, (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()
    

     

    现在录制就不用之前那个黑框了,按 esc按键 直接停止录制!

     

     

     

     

    展开全文
  • python录制屏幕扔掉录屏软件吧

    千次阅读 2019-08-29 21:09:17
    #python + opencv 实现屏幕录制 from PIL import ImageGrab import numpy as np import cv2 screen = ImageGrab.grab()#获得当前屏幕 length,width=screen.size#获得当前屏幕的大小 video_decode_style...
    #要求安装pillow opencv-python两个库
    #python + opencv 实现屏幕录制
    from PIL import ImageGrab
    import numpy as np
    import cv2
     
    screen = ImageGrab.grab()#获得当前屏幕
     
    length,width=screen.size#获得当前屏幕的大小
    video_decode_style = cv2.VideoWriter_fourcc(*'XVID')#编码格式
    filename = input("Please input filename, aaa.avi for esample:")  #get the filename from input
    video = cv2.VideoWriter(filename, video_decode_style, 12, (length, width))#输出文件命名为a.mp4,帧率为32,可以调节
    print("screen record is doing, press <ctrl+c> to stop........")
    while True:
        im = ImageGrab.grab()
        imm=cv2.cvtColor(np.array(im), cv2.COLOR_RGB2BGR)#转为opencv的BGR格式
        video.write(imm)
     
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    video.release()
    cv2.destroyAllWindows()
    

     

    展开全文
  • opencv实现屏幕录制代码解析

    千次阅读 2018-11-18 22:49:25
    # -*- coding: utf-8 -*- """ Created on Thu Nov 15 22:37:02 2018 #QQ群:476842922(欢迎...python + opencv 实现屏幕录制""" from PIL import ImageGrab import numpy as np import
  • 以前都是用ScreenToGif来录屏制作成动态图,偶尔的机会看到python也能实现。那就赶紧学习下。 二、效果展示 三、知识串讲 这次要讲的东西可能比较多了,涉及到pyqt5 GUI软件的制作、QThread多线程的使用、Sikuli库...
  • 以前都是用ScreenToGif来录屏制作成动态图,偶尔的机会看到python也能实现。那就赶紧学习下。 二、效果展示 三、知识串讲 这次要讲的东西可能比较多了,涉及到pyqt5 GUI软件的制作、QThread多线程的使用、Sikuli库...
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 以前都是用ScreenToGif来录屏制作成动态图,偶尔的机会看到python也能实现。那就赶紧学习下。 二、效果展示 三、知识串讲 这次要讲的东西可能比较多了,涉及到pyqt5 GUI软件的制作、QThread多线程的使用、Sikuli库...
  • Python 技术篇-利用imageio库实现图片转gif动画,Gif录制屏幕操作实例演示。 我们需要用到 imageio 库,直接pip install imageio就安装了。 原理就是把很多个图片在规定时间内依次展示,就变为我们所见到的动画样式...
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
  • 一个基于python的录屏软件 import cv2, _thread, pyaudio,wave,queue,time from PIL import ... # TODO 屏幕录制+系统扬声器声音 fristImage = ImageGrab.grab() # 获得当前屏幕 def __init__(self, chunk=
  • 最近给客户演示程序运行结果,我就想到用Python写一个录屏程序,在网上能找到现成的源码,但是它的录屏是录制整个屏幕的。但是在屏幕桌面下方的任务栏工具栏里有些东西,不希望被录制到视频里,因此需要实现一个选择...

空空如也

空空如也

1 2 3
收藏数 56
精华内容 22
关键字:

python实现屏幕录制

python 订阅