python 自动录屏初步实现

偶尔需要用python实现录屏并导出视频,随便写了一个简单的代码。

大概思路是先每隔一段时间截屏,然后将截屏图片变成视频导出。

 1 # -*- coding: cp936 -*-
 2 from PIL import ImageGrab
 3 import time,os,cv2
 4 import numpy as np
 5 def releasevideo():
 6     path=os.getcwd()+‘\\picture\\‘
 7     filelist=os.listdir(path)
 8     fps=2
 9     size=(1366,768)
10     video=cv2.VideoWriter("1.avi", cv2.VideoWriter_fourcc(‘M‘, ‘J‘, ‘P‘, ‘G‘), fps, size)
11     for item in filelist:
12         if item.endswith(‘.png‘):
13     #找到路径中所有后缀名为.png的文件,可以更换为.jpg或其它
14             item = path + item
15             img = cv2.imread(item)
16             video.write(img)
17
18     video.release()
19     cv2.destroyAllWindows()
20 if __name__==‘__main__‘:
21     num=0
22     while 1:
23         num+=1
24         time.sleep(0.5)
25         bbox=(0,0,1366,768)#四个参数代表了开始截图的x,y,结束截图的x,y,后两个可以看电脑
26         im=ImageGrab.grab(bbox)
27         im.save(os.getcwd()+‘\\picture\\‘+str(num)+‘.png‘)
28         if num>20:#这个可以控制时间结束,这边我设置为5秒,改参数就行
29             releasevideo()
30             break
31     

这里只是测试可行性,没有用优化,事实上没有必要两个分开操作,并行的效率会高很多。利用time.sleep()也是取巧居多。等过段时间利用wxpython写一个python版本的录屏工具。

原文地址:https://www.cnblogs.com/kangpenglin/p/9278716.html

时间: 2024-10-20 10:23:20

python 自动录屏初步实现的相关文章

WPF 录屏软件研发心得及思路分享

最近由于工程需要开始研发基于Windows的自动录屏软件,很多细节很多功能需要处理,毕竟一个完美的录屏软件不是你随随便便就可以写出来的.首先参考了大部分的录屏软件,在研发的过程中遇到了很多的问题:比如-视频加载.麦克风加载.麦克风音量调节.视频播放进度控.视频音量控制.等等很多细节部分都需要好好规划才能开始做.录屏采用的是视频帧的思维逻辑进行编写的. 目前已经基本上成型,基于WPF采用了Model - View框架进行动态加载,每个线程与线程之间采用Async异步执行,并使用线程等待:录屏基本功

ffmpeg,rtmpdump和nginx rtmp实现录屏,直播和录制

公司最近在做视频直播的项目,我这里分配到对直播的视频进行录制,录制的方式是通过rtmpdump对rtmp的视频流进行录制 前置的知识 ffmpeg: 用于实现把录屏工具发出的视频和音频流,转换成我们需要的格式,然后发送到rtmp中转服务器上. rtmpdump: 用于实现视频的录制,从rtmp的中转服务器接受到视频流,并把视频流保存成flv文件 nginx-rtmp-module: 用户rtmp中转服务,虽然他可以做很多功能,但是我这里只是使用了这一个 screen capture: windo

Camtasia 录屏说明

准备好要录制的屏幕或网页,在即将播放的位置暂停住. 从开始菜单位置“TechSmith”启动Camtasia Recorder 8,其界面如下所示: 注意,要录制系统声音,须在Recorded inputs 中的Audio 菜单中勾选 Record system audio. 在Camtasia Recorder 启动的同时,其捕捉窗口也在界面上显式出来,如下所示,绿色点划线围起来的明亮区域即为捕捉窗口: 利用捕捉窗口边缘的缩放手柄和中央的拖动手柄调整其大小和位置,使其覆盖完成的视频区域. 点击

Android录屏应用开发研究

1截屏接口 在Android5.0之前如果希望截图屏幕,是需要获取系统root权限的.但在Android5.0之后Android开放了新的接口android.media.projection,开发者使用该接口,第三方应用程序无需再获取系统root权限也可以直接进行屏幕截图操作了.查询其官方api可知,该接口主要用来"屏幕截图"操作和"音频录制"操作,这里只讨论用于屏幕截图的功能.由于使用了媒体的映射技术手段,故截取的屏幕并不是真正的设备屏幕,而是截取的通过映射出来的

一键生成 Android 录屏 gif 的脚本

目的 编写 bash 脚本, 实现一行命令得到 Android 手机录制屏幕 gif 动图文件. 博主使用 ubuntu 系统, shell 为 bash. 这个脚本也可以用在 mac 系统上. 听说 windows 系统出了 ubuntu on windows, 不知道能不能使用这个脚本. 原理 adb shell screenrecord Android 4.4 版本后系统内预置了一个 screenrecord 命令, 可以用来将屏幕录制为 MP4 格式. 具体命令格式可以通过 –help

【原创】苹果内置录屏SDK-ReplayKit库的使用说明

1 iOS ReplayKit 录屏SDK 说明 (按照苹果官方的说法是App端加入这些苹果的新特性新SDK更容易被苹果推荐 ) ReplayKit是苹果在iOS9上面提供的一个库组件,可以让玩家在游戏中录制游戏视频,并且可以添加语音评论,然后通过社交网络分享出去. 2库的特性说明 要使用ReplayKit需要在工程的Build Phase的Link binary with libraries中加入ReplayKit.framework. 目前这个库只支持真机允许,不支持模拟器. 系统版本如果低

linux下常用的截图、录屏工具

录屏: 在linux下常用的录屏工具有5种,可以baidu或者google下喔,我选用的是recordMydesktop,使用非常方便,用时注意先把每秒桢数调高,否则效果必然很差. 在ubuntu下可以输入一下命令直接安装: DebianLINUX 的用户可以用命令"sudo apt-get install recordmydesktop gtk-recordmydesktop"安装该软件,其他用户 则需到以下网站下载http://sourceforge.net/projects/re

游戏录屏直播的图文教程(基于云直播平台)

原创教程 ( 转载请注明出处 ) 2017-6-26,今天来做一下是电脑游戏桌面录屏直播的教程,就是把桌面的游戏直播出去,加上话筒做讲解.最终实现在电脑.手机.微信中都可以观看到游戏的直播和讲解画面. 提示:1. 本教程说的是游戏录屏直播的图文教程(基于云直播平台,不是基于自建流媒体直播平台) 2. 若要基于自建的流媒体平台,可以用OBS之类的软件来实现,OBS取流发送到自建平台上,实现直播. STEP1 . 硬件准备及设备连接 场景说明: 1.用户做一场电脑游戏桌面直播,实现PC端.手机端(A

Android5.0录屏方案

导语 本文主要是围绕android直播助手的功能做了一些研究,因为之前对Android多媒体相关的内容知之甚少,只有概念,于是查阅了相关资料并做以总结. 由于我对音视频相关知识零基础所以补充了一些相关知识 视音频编解码技术零基础学习方法 视音频数据处理入门:RGB.YUV像素数据处理 采集音频原始数据---->压缩编码----> 封装 采集视频原始数据---->压缩编码----> 封装 音视频编码 压缩编码就是对数据进行压缩以节省空间便于存储和传输. 视频压缩编码就是将视频帧的像素