Как программист вы всегда можете использовать свои навыки, разрабатывая инструменты, которые могут служить тем же целям, что и другие необходимые вам программы, как в данном случае устройство записи экрана. В этой статье мы будем использовать Python. Python выполняет множество задач, одной из которых является создание экранного диктофона.
В этом руководстве мы будем использовать Python для создания экранного диктофона, который поможет вам выполнить некоторые общие базовые задачи, как и любое другое программное обеспечение. Мы также сможем добавить некоторые интеграции в наше приложение, например, функции веб-камеры.
Что такое рекордер экрана?
Рекордер экрана позволяет создавать и демонстрировать демонстрационные видео, записывать игры и создавать обучающие видео, которыми можно поделиться в Интернете на платформах социальных сетей, таких как YouTube и Twitch. На рынке сегодня существует множество программ, которые помогут вам легко добиться всего этого. В этом уроке вы узнаете, как создать собственный экранный рекордер с помощью Python, который вы сможете расширить в соответствии со своими потребностями.
Необходимые модули Python
Для того чтобы наше приложение было запущено, нам потребуется использовать некоторые модули Python, которые облегчат разработку приложения:
- Numpy – Этот модуль поможет нам преобразовать захваченные изображения в массив и передать их в openCV.
- openCV – он позволит нам сохранить захваченные изображения в видеоформате.
- Pyautogui – для захвата изображений на экране.
Создание экранного рекордера
Теперь, прежде чем мы приступим к написанию кода для нашего приложения, нам нужно убедиться, что у нас есть все необходимые инструменты для этой задачи. А именно:
- Python должен быть установлен в нашей системе.
- Редактор кода, который поможет нам написать наш код – в данном случае подойдет любой редактор кода между Pycharm, VS Code, Atom или любой другой на ваш выбор.
Убедившись, что первый шаг выполнен, мы можем двигаться дальше и приступить к разработке. Ранее мы перечислили некоторые модули, которые нам понадобятся для создания нашего приложения, теперь давайте начнем с их установки в нашу систему.
Шаг 1: Установка модулей
Чтобы установить numpy
, мы воспользуемся командой pip в терминале или командной строке.
pip install numpy
Аналогично для установки pyautogui
и opencv
мы используем pip, выполнив команды ниже:
pip install pyautogui
&
pip install opencv-python
Шаг 2: Импорт установленных модулей
Для того чтобы мы могли использовать установленные модули, нам необходимо их импортировать. Приведенный ниже код позволяет это сделать. Но сначала убедитесь, что у вас уже создан файл python, в котором мы будем писать наш код:
import cv2
import numpy as np
import pyautogui
Шаг 3: Установите разрешение экрана
В зависимости от размера экрана, который вы используете, вы, скорее всего, назначите различные параметры разрешения на этом этапе. Также важно отметить, что не все могут получить или знать разрешение своего экрана, поэтому использование функции pyautogui.size()
поможет нам автоматически вернуть правильную высоту и ширину экрана.
SCREEN_SIZE = tuple(pyautogui.size())
Но все же, если вы можете получить разрешение экрана, вы можете использовать этот метод вместо этого.
resolution = (1920, 1080)
Шаг 4: Создание объекта VideoWriter
Сначала мы указываем видеокодек, это формат кодирования видео, которое будет захвачено. Далее мы указываем формат, в котором будет храниться наш результат. В данном случае мы предпочитаем .avi
, вы можете задать любой удобный для вас формат, например .mp4
.
Также в этой строке вы можете указать путь, где вы хотите хранить записанный файл, в данном случае он будет храниться в той же папке, что и наш файл .py
. Мы также зададим значение fps, в данном случае мы присвоим ему значение 20.
Наконец, мы используем функцию VideoCapture()
для активации веб-камеры и захвата изображения с нее.
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi', fourcc, 20.0, (SCREEN_SIZE))
webcam = cv2.VideoCapture(0)
Эта статья была первоначально опубликована на моей странице на Sweetcode, читайте остальной код и объяснения на странице.
Я ценю ваше время, потраченное на чтение.
Ваша поддержка будет очень признательна.
Подключайтесь ко мне в Twitter | GitHub | YouTube | LinkedIn |.
Приятного кодинга ❤.