frame越过另一个frame_如何用Python做一个免费的录屏软件?

frame越过另一个frame_如何用Python做一个免费的录屏软件?_第1张图片

如果你不想花“大价钱”购买一套录屏软件,又不想忍受低画质加水印的免费版,那么这篇文章可以帮助你解决这一难题。


故事发生在几天前,一个阳光明媚的午后。本想着录一条视频,结果发现电脑里并没有一个合适的录屏软件。以我多年使用百度的经验,这种小工具,网上估计一搜一大把

frame越过另一个frame_如何用Python做一个免费的录屏软件?_第2张图片

果然还是没有让我失望,资源多到我不想一一浏览。直接点开了第一篇内容,下载,安装,一气呵成。

frame越过另一个frame_如何用Python做一个免费的录屏软件?_第3张图片

但是真正使用的时候,套路来了。

frame越过另一个frame_如何用Python做一个免费的录屏软件?_第4张图片

2分钟?还要加水印?想要用的顺心就得买个VIP?以我个人对此类软件的认知,如果在5块钱以内,我就勉为其难支持一下正版。但是现在这样,心有余而力不足。

frame越过另一个frame_如何用Python做一个免费的录屏软件?_第5张图片

你没有看错,198。是不是疯了?作为一个不服输的前少先队员,我决定换一个软件试试看。之后又下载了3款,几乎都是一样的售价,一样的套路,面对电脑上鲜艳的198,我泡上一杯枸杞茶,陷入了沉思。

frame越过另一个frame_如何用Python做一个免费的录屏软件?_第6张图片

不禁感叹,有钱真好。但是为了完成如此一件录屏的小事情,除了花钱就别无他法了么?

那必然不是的!今天我们就要用Python帮你省下来198,当然如果你愿意,可以把这个198...自己留下,反手给我一个赞就好啦~

frame越过另一个frame_如何用Python做一个免费的录屏软件?_第7张图片

准备工作

你需要在电脑上安装了Python3的环境,以及有一个用起来顺手的IDE。

码起来!

在Python中,有一个神奇的第三方库,Pillow。他经常用于图像处理相关的领域。比如模糊,滤镜,插入文本等等相关的工作,均可以用Pillow库进行操作。

python3之成像库pillow - Py.qi - 博客园​www.cnblogs.com

对于视频而言,其实就是一幅幅图片所组成的动态效果。比如我们常说的30帧,也就是一秒钟有30幅图片连成的“动图”。

还有一个主角就是opencv,这个第三方库可以算得上是Python的一大支柱。无论是人工智能卷积神经网络相关,或者是日常图片处理,opencv都异常强大。可以说90%的人只是学到了他的皮毛,为啥这么说?可以打开opencv的官网,看着林林总总几百页的教程,估计会被劝退的。

opencv官网​docs.opencv.org

本次我们就将基于这两个“神仙”第三方库,完成录屏工具的开发。

frame越过另一个frame_如何用Python做一个免费的录屏软件?_第8张图片
基本思路如下
  • 每次由pillow获取一帧显示器画面
  • opencv将获取到的画面写入至结果中
  • opencv显示该画面(与获取同步进行,所以感觉不出异样)
  • 录制完成,保存结果

看起来好复杂啊,是不是一定很难?先看一下结果。

结果展示
frame越过另一个frame_如何用Python做一个免费的录屏软件?_第9张图片
Python制作录屏软件https://www.zhihu.com/video/1143927007808208896
import 

至于XVID是什么,如果不是专业的音视频制作人员,可以不用非常关注,想进一步了解可以浏览如下链接。

DivX/XviD_百度百科​baike.baidu.com
frame越过另一个frame_如何用Python做一个免费的录屏软件?_第10张图片

可是接下来问题又出现了,如果此时我只是想区域录制呢?只是需要某一指定范围,如何能通过Python来完成呢?

这里我们不做太过复杂的功能了(因为我懒。。),动态选取增加listener之类并不适合绝大多新手掌握。我们用一个更为讨巧的方法,根据鼠标位置获取其在屏幕上的(x,y)坐标。(请先将鼠标放在起点与终点,并执行下方代码,操作方法如下视频)

import  
frame越过另一个frame_如何用Python做一个免费的录屏软件?_第11张图片
Python获取当前鼠标的位置https://www.zhihu.com/video/1143927348087803904

最终我们放上区域选择后的效果。

frame越过另一个frame_如何用Python做一个免费的录屏软件?_第12张图片
Python录屏软件区域录制https://www.zhihu.com/video/1143927568003678208

想用Python做点有趣的事情?记得关注啦~靴靴

frame越过另一个frame_如何用Python做一个免费的录屏软件?_第13张图片

你可能感兴趣的:(frame越过另一个frame,显示鼠标当前坐标,python)