tgoop.com/PythonPortal/4537
Create:
Last Update:
Last Update:
Экранный рекордер с помощью Python
screen_size = pyautogui.size()
fps = 20
fourcc = cv2.VideoWriter_fourcc(*"XVID")
output_file = "screen_recording_clcoding.mp4"
out = cv2.VideoWriter(output_file, fourcc, fps, (screen_size.width, screen_size.height))
screen_size = pyautogui.size()
— получаем разрешение экрана (ширину и высоту).fps = 20
— задаём частоту кадров (20 кадров в секунду).fourcc
— кодек видео (XVID).output_file
— имя файла для сохранения.cv2.VideoWriter(...)
— создаёт объект, который будет записывать кадры в видеофайл.Старт записи
print("Recording... Press 'q' to stop.")
Сообщение пользователю, что началась запись и как её остановить.
Главный цикл записи
while True:
screen = pyautogui.screenshot()
frame = np.array(screen)
frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)
out.write(frame)
Что происходит:
pyautogui.screenshot()
— делает скриншот всего экрана.np.array(screen)
— переводим скриншот в массив пикселей.cv2.cvtColor(..., cv2.COLOR_RGB2BGR)
— OpenCV использует BGR-порядок, а pyautogui возвращает RGB, нужно преобразовать.out.write(frame)
— сохраняем кадр в видеофайл.Остановка по нажатию клавиши 'q'
if keyboard.is_pressed('q'):
print("Recording stopped.")
break
Как только пользователь нажимает клавишу 'q', цикл прерывается.
Сохраняем и закрываем файл
out.release()
print(f"Video saved to {output_file}")
out.release()
— освобождаем ресурсы и сохраняем файл.