首页 > 解决方案 > 从 Linux 的内存中记录屏幕

问题描述

所以,基本上我想设计一个记录屏幕的应用程序,而不是通过捕获屏幕如下

import datetime

from PIL import ImageGrab
import numpy as np
import cv2

time_stamp = datetime.datetime.now().strftime('%Y-%m-%d %H-%M-%S')
file_name = f'{time_stamp}.mp4'
fourcc = cv2.VideoWriter_fourcc('m', 'p', '4', 'v')
captured_video = cv2.VideoWriter(file_name, fourcc, 20.0, (630, 330))

while True:
    img = ImageGrab.grab(bbox=(0, 0, 630, 330))
    img_np = np.array(img)
    img_final = cv2.cvtColor(img_np, cv2.COLOR_BGR2RGB)
    cv2.imshow("Screen Recorder", img_final)
    captured_video.write(img_final)
    if cv2.waitKey(10) == ord('q'):
        break

它提供屏幕截图,但我需要记录一个特定的过程

我想记录屏幕输出

process 31328

没有其他的。意味着在录制屏幕时,弹出窗口或任何迷你窗口或在录制期间打开的任何浮动窗口都不会在我们的屏幕录像机中捕获。

我在想 Linux 会像 We print ('hello') 一样在屏幕上显示输出。我们应该在它到达屏幕之前抓取该输出并记录它。可能吗?

标签: pythonlinuxscreencapture

解决方案


推荐阅读