Python如何录制屏幕?本文教你使用 pyautogui 和 OpenCV 录制显示屏幕视频并将其保存到 Python 文件中。屏幕录制使你能够创建演示视频、记录游戏成就以及创建可在社交媒体上在线共享的视频。有许多工业软件可以帮助你很容易地做到这一点。在本教程中,你将学习如何使用 Python 制作你自己的简单屏幕录像机,你可以进一步扩展以满足你自己的需求。相关: 如何使用隐写术在 Python 中隐藏图像中的秘密数据。让我们开始Python录制屏幕示例吧,首先,安装本教程所需的依赖项:
pip3 install numpy opencv-python pyautogui
如何用Python记录屏幕?过程如下:
- 使用pyautogui捕获屏幕截图。
- 将该屏幕截图转换为numpy数组。
- 使用OpenCV 中的视频编写器将该numpy数组写入具有正确格式的文件。
import cv2
import numpy as np
import pyautogui
让我们初始化用于编写视频文件的格式(名为“output.avi”):
# display screen resolution, get it from your OS settings
SCREEN_SIZE = (1920, 1080)
# define the codec
fourcc = cv2.VideoWriter_fourcc(*"XVID")
# create the video write object
out = cv2.VideoWriter("output.avi", fourcc, 20.0, (SCREEN_SIZE))
注意:你需要从操作系统中获取正确
SCREEN_SIZE
的屏幕分辨率,否则写入文件将不起作用(或者,你可以使用pyautogui.size()
函数来获取主显示器的大小)。Python如何录制屏幕?Fourcc是OpenCV将用来编写视频文件的视频编解码库,我们在这里指定了XVID。的20.0作为第三个参数,以传递浮点值cv2.VideoWriter对应于FPS(FRAME FER SEcond)。Python录制屏幕示例介绍:现在我们需要继续捕获屏幕截图并循环写入文件,直到用户单击“q”按钮,这是主循环:while True:
# make a screenshot
img = pyautogui.screenshot()
# convert these pixels to a proper numpy array to work with OpenCV
frame = np.array(img)
# convert colors from BGR to RGB
frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
# write the frame
out.write(frame)
# show the frame
cv2.imshow("screenshot", frame)
# if the user clicks q, it exits
if cv2.waitKey(1) == ord("q"):
break# make sure everything is closed when exited
cv2.destroyAllWindows()
out.release()
首先,我们使用screenshot()函数返回一个图像对象,因此我们需要将其转换为适当的numpy数组。之后,我们需要将该帧转换为RGB,这是因为OpenCV默认使用BGR。如何用Python记录屏幕?正如pyautogui 的官方文档中所述,你还可以通过传递
region
关键字参数来仅记录屏幕的区域,该参数是一个四整数元组,表示要捕获的区域的顶部、左侧、宽度 和高度 ,这是它的方式完毕:img = pyautogui.screenshot(region=(0, 0, 300, 400))
录制完成后,只需单击“q”,它就会破坏窗口并完成写入文件,试试吧!此外,你可以用循环替换该
while True
语句,for
如下Python录制屏幕示例所示:for i in range(200):
# make a screenshot
img = pyautogui.screenshot()
# the rest of the code...
这将记录你的屏幕10秒,那是因为我们将 FPS 设置为20(这是有道理的,因为200是20乘以10)Python如何录制屏幕?你可以使用无穷无尽的想法来扩展它。例如,你可以将其与录音机结合使用,你将获得一个同时记录屏幕和语音的 Python 工具,你将需要使用一个记录音频的线程和另一个用于屏幕记录器的线程,让我们知道你在下面的评论中取得了进步!或者你可以创建开始、暂停和停止录制的键盘快捷键,本教程可以帮助你。
推荐阅读
- 最新提高搜索引擎影响力的10种关键字监控工具
- 如何在Python中播放和录制音频(代码实现示例)
- 如何在Python中从视频中提取音频(代码实现教程)
- 如何在Python中将静态图像与音频结合(代码示例)
- u盘插入电脑被拒绝访问怎样处理,教您处理u盘插入电脑被拒绝访问
- 金士顿u盘修好工具如何运用,教您运用金士顿u盘修好工具
- U盘写保护解除工具,教您运用解除工具解除U盘写保护
- 创意u盘如何加密,教您加密创意u盘
- u盘啥牌子好,教您U盘牌子评估