Даю вам захват экрана перед сном, только свой захватывайте, кобра-тигры:



import cv2

import pyautogui

import numpy as np

import threading

import time





class ScreenRecorder:

def __init__(self, output_file="screen_recorder.mp4"):

self.output_file = output_file

self.is_recording = False

self.frames = []



def record_screen(self):

while self.is_recording:

screenshot = pyautogui.screenshot()

frame = np.array(screenshot)

frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)

self.frames.append(frame)



def start_recording(self):

if not self.is_recording:

self.is_recording = True

recording_thread = threading.Thread(target=self.record_screen)

recording_thread.start()



def stop_recording(self):

if self.is_recording:

self.is_recording = False

time.sleep(1)

self.save_video()



def save_video(self):

if self.frames:

height, width, layers = self.frames[0].shape

size = (width, height)

out = cv2.VideoWriter(

self.output_file, cv2.VideoWriter_fourcc(*"mp4v"), 10, size

)



for frame in self.frames:

out.write(frame)



out.release()

print(f"Video saved as {self.output_file}")





if __name__ == "__main__":

recorder = ScreenRecorder()



input("Press Enter to start screen recording...")

recorder.start_recording()



input("Press Enter to stop screen recording...")

recorder.stop_recording()