python 屏幕录像,python制作录屏软件

  python 屏幕录像,python制作录屏软件

  主要介绍Python作为屏幕录制工具的实现示例,通过示例代码非常详细的介绍。对大家的学习或工作都有一定的参考价值。有需要的朋友下面跟边肖学习。

  00-1010理念实现记录和监控键盘事件,主体控制视频信息。女朋友是一名软件测试人员,在工作中经常会遇到需要记录自己操作的情况,方便学生定位的后续发展。因为录屏软件总是开始收费,所以她经常换录屏软件。业余时间觉得手痒痒,觉得可以用万能的蟒蛇解决她的烦恼。

  

目录

  我在网上搜索了相关知识,基本都是用图像处理库PIL的ImageGrab模块来录制视频。该模块可用于将当前屏幕或剪贴板的内容复制到PIL图像存储器中。

  由于这个模块可以获取当前屏幕上的内容,所以我一直在不断的获取,然后把获取的内容放在一起。那不是视频吗?

  

思路

  

实现

  整体思路是PIL模块中的ImageGrab不断获取当前屏幕,并用opencv编写视频流。

  def视频记录(sttime):

  全局名称

  #当前时间(文件名时)

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

  #获取当前屏幕

  screen=ImageGrab.grab()

  #获取当前屏幕的大小

  宽度,高=屏幕尺寸

  # MPEG-4编码,文件后缀可以是. avi.asf.mov等。

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

  #(文件名、编码器、帧速率、视频宽度和高度)

  video=video writer( % s . avi % name,fourcc,15,(width,high))

  Print(str(sttime)开始记录的秒数-)

  time.sleep(int(sttime))

  打印(开始记录!)

  全局开始时间

  start_time=time.time()

  而True:

  if标志:

  打印(“录音结束!”)

  全球最终时间

  final_time=time.time()

  #发布

  video.release()

  破裂

  #图片为RGB模式

  im=ImageGrab.grab()

  #切换到opencv的BGR模式

  imm=cvtColor(np.array(im),COLOR_RGB2BGR)

  #写

  视频写入(imm)

  录制视频的主代码只需要几行,但是我们需要控制录制操作,比如开始和结束录制。并且在获得屏幕内容后,需要对内容进行转码,然后写入视频流。

  

录制

  为了录制视频,我们使用while循环来获取屏幕信息,它将在开始后继续。但是我们需要监控键盘事件来停止这种循环,从而停止录制视频。这次监测活动非常重要。pynput是一个强大的三方库,在这里用于全局监控键盘和鼠标事件。

  我们设置用户在按下键盘的ESC键后停止while循环,从而结束视频录制。

  #监视器按钮

  def on_press(按键):

  全球旗帜

  if键==键盘。Key.esc:

  标志=真

  #返回False,键盘监控结束!

  返回False

  

监听键盘事件

  因为我们需要不断地获取屏幕内容,所以我们最好启动一个线程来做这件事。

  th=线程。Thread(target=video_record,args=sstime)

  th.start()

  带键盘。监听器(on_press=on_press)作为监听器:

  listener.join()

  

主体控制

  视频录制完成后,我们还可以得到视频的一些相关信息,比如时长、帧率、分辨率等。

  #视频信息

  高清视频信息():

  #记住文件名和格式不能错!

  video=video capture( % s . avi % name )

  fps=video.get(CAP_PROP_FPS)

  COUNT=video . get(CAP _ PROP _ FRAME _ COUNT)

  size=(int(video . get(CAP _ PROP _ FRAME _ WIDTH))、int(video . get(CAP _ PROP _ FRAME _ HEIGHT)))

  打印(帧速率=% . 1f“% fps”)

  打印(帧数=%.1f%计数)

  打印(“分辨率”,尺寸)

  Print(视频时间=%.3f秒 % (int(count)/fps))

  Print(录制时间=%.3f秒 % (final_time-start_time))

  Print(推荐帧率=% . 2f %(fps *(int(count)/fps)/(final _ time-start _ time))))

  这就是这篇关于Python作为屏幕录制工具的例子的文章。有关Python屏幕录制工具的更多信息,请搜索流行的IT软件开发工作室以前的文章或继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 用python创建简易网站图文教程图片,用python制作网站
  • 用python创建简易网站图文教程图片,用python制作网站,用Python创建简易网站图文教程
  • 炸金花游戏怎么制作,炸金花游戏教程,基于Python制作炸金花游戏的过程详解
  • 如何用python制作相册,用python做相册
  • 基于python制作一副扑克牌过程详解图,Python编写扑克牌
  • 基于python制作一副扑克牌过程详解图,Python编写扑克牌,基于Python制作一副扑克牌过程详解
  • 基于python制作一个相册播放器的软件,用python做相册,基于Python制作一个相册播放器
  • python抢演唱会门票,如何利用python抢票,为了顺利买到演唱会的票用Python制作了自动抢票的脚本
  • ,,用python制作词云视频详解
  • python简单二维码生成代码,怎么用python制作二维码
  • python前端界面实现交互,python制作windows交互界面
  • 用python制作动态二维码,Python 生成二维码
  • 用html和css画圣诞树,用python制作圣诞树
  • python制作whl安装包,python官网安装步骤
  • python制作软件界面,python图形化界面设计
  • 留言与评论(共有 条评论)
       
    验证码: