{"id":3969,"url":"\/distributions\/3969\/click?bit=1&hash=48c68cd06f36b39a25459ccf1eb45b64c2d731fecbb5a11dd3f0aa328b271ec3","title":"\u041c\u0435\u0447\u0442\u0430\u043b\u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u0431\u044f \u0432 UX-\u0434\u0438\u0437\u0430\u0439\u043d\u0435? \u0412\u043e\u0442 \u0432\u0430\u0448 \u0448\u0430\u043d\u0441","buttonText":"\u041f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c","imageUuid":"ec569b6e-3358-530c-a9e2-771b323df475","isPaidAndBannersEnabled":false}

Программа для записи экрана python

Всем привет! Сегодня я расскажу и покажу как сделать программу для записи экрана на Python.

И так что нам понадобится:

*Python — версия 3.6+

*Скачать библиотеки — pyautogui, numpy, cv2

*И конечно же желание

Первым делом нам надо импортировать данные библиотеки:

Далее нам нужно задать размеры экрана, которые вы можете найти в настройках (по стандарту это 1920x1080), определить кодек а затем всё объединить и сделать объект записи:

20.0 - это самое оптимальное число фпс, но вы можете его изменить главное не теряйте точку

Дальше нам надо сделать бесконечный цикл, поскольку наша запись будет основываться на склейки большого кол-ва кадров. В этом цикле мы будем делать скриншот, преобразовывать пиксели в правильный массив, конвертировать цвета из BGR (Blue, Green, Red) в RGB (Red, Green, Blue) и только в конце будем писать кадр. Помимо этого нам нужен резервный выключатель предположим если пользователь нажмёт на кнопку q, то мы закончим наш цикл, так же можно просто закрыть программу(но это слишком просто <3). В целом цикл выглядит так:

Сам цикл

И наконец нам нужно убедиться что все окна закрыты перед завершением программы. Общий код код будет такой:

Полный код

Вот и всё! Этот проект можно как угодно улучшать, добавлять больше функций и т.д. Но это уже другая история.

Если не жалко - можете меня поддержать подписавшись, оставив комментарий и лайкнув пост.

*Если есть вопросы или проблемы пишите в комментариях*

0
2 комментария
Аккаунт заморожен

Комментарий недоступен

Ответить
Развернуть ветку
Kristaller

Да фигня это. OpenCV для таких целей слишком дорогой, жрет много, потому что капчурит каждый кадр отдельно. Как "попробовать OpenCV" программка конечно сойдёт, но реально - OBS лучше решение из возможных для этого и придумывать велосипед не надо

Ответить
Развернуть ветку
Читать все 2 комментария
null