Быстрая запись видео при помощи автоматизации OBS

Перевод на английском доступен здесь.

Мне нравиться автоматизировать часто-повторяющие действия, сегодня рассмотрим как я оптимизировал скринкастинг.

Если коротко то я сделал Python скрипт, который максимально упрощает именование скринкастов и их запись.

OBS automatization form demo Демонстрация работы скрипта

Проблема

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.

Заключение

Этот скрипт при помощи автоматизации экномит мне время и приносит удовольствие от процесса записи скринкастов, потенциально его можно улучшить, добавить новые возможности и т.д.