Быстрая запись видео при помощи автоматизации OBS
Перевод на английском доступен здесь.
Мне нравиться автоматизировать часто-повторяющие действия, сегодня рассмотрим как я оптимизировал скринкастинг.
Если коротко то я сделал Python скрипт, который максимально упрощает именование скринкастов и их запись.
Демонстрация работы скрипта
Проблема
OBS — мощный инструмент для потоковой передачи и записи, но мне всегда не нравилось сложность управления записями. Нужно найти последнюю запись, переименовать её, проверить и т.д. а это может быть сложно, особенно когда вам нужно часто их записывать.
Мой скрипт призван решить эту проблему.
Решение
Скрипт представляет собой приложение на Python, которое использует библиотеку obsws-python для связи с плагином OBS WebSocket.
Это позволяет программно запускать и останавливать записи, устанавливать имена файлов и многое другое.
Ключевые особенности
- Запуск и остановка записей одной командой: Скрипт можно запускать в двух режимах:
recordиstop. Вы можете привязать эти команды к горячим клавишам в вашей ОС. - Автоматическая генерация имен файлов: Когда вы начинаете запись, приложение запрашивает у вас имя файла при помощи маленькой формы на TkInter, затем скрипт устанавливает имя записи и начинает скринкаст.
- Простая настройка: Все настройки скрипта хранятся в файле
config.ini.
Как это работает
Скрипт довольно простой (около 100 строк кода), вот краткий обзор кода. Я намерено использовал один файл для включения всех компонентов (запись, формы и т.д.). Качество кода среднее/выше-среднего, я тестировал его только на Linux (Debian 13) и сильно не заморачивался с юнит тестами и прочим, возможно требуются доработки под ваши требования.
Начало работы
Нужно во первых установить OBS и плагин obs-websocket, сколнировать репозиторий с скриптом, установить зависимости и настроить глобальные горячие клавиши в вашей OS.
За подробностями рекомендую обратится к документации - https://github.com/iturdikulov/obs_auto#quickstart.
Заключение
Этот скрипт при помощи автоматизации экномит мне время и приносит удовольствие от процесса записи скринкастов, потенциально его можно улучшить, добавить новые возможности и т.д.