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() — освобождаем ресурсы и сохраняем файл.👉 @PythonPortal
