OBS WebSocket: подключение к стриму и автоматизация сцен

Что такое OBS WebSocket

OBS WebSocket — это способ управлять OBS удаленно через WebSocket API: переключать сцены, запускать и останавливать запись, получать состояние стрима, менять источники, автоматизировать действия

Для автора уроков это особенно интересно. Можно записывать видеоуроки не только руками, но и с автоматикой:

  • нажал кнопку в своей панели — OBS переключил сцену;
  • начался блок кода — включилась сцена с редактором;
  • пошел экран браузера — сменилась раскладка;
  • завершился урок — остановилась запись;
  • скрипт отметил таймкоды.

Это уже не просто "стримерская штука", а инструмент для производства контента

Важное про версии

Раньше obs-websocket часто ставили как отдельный plugin. В современных версиях OBS WebSocket remote control уже встроен в OBS Studio. Но в поиске до сих пор много запросов obs websocket plugin, потому что старые инструкции живут долго

Поэтому перед установкой отдельного плагина сначала проверьте свою версию OBS и настройки remote control в самой программе

Где включить WebSocket в OBS

В OBS откройте настройки remote control или WebSocket server. Название пункта зависит от версии и локализации OBS

Что обычно нужно:

  • включить WebSocket server;
  • посмотреть port;
  • задать password;
  • сохранить настройки;
  • не публиковать пароль в открытом доступе.

Для локальной автоматизации часто используется адрес:

ws://localhost:4455

Порт 4455 часто встречается в современных инструкциях, но всегда проверяйте значение в настройках OBS

Почему нужен пароль

OBS управляет записью, сценами и трансляцией. Если открыть WebSocket без защиты, кто-то в вашей сети теоретически сможет дергать управление

Даже если вы работаете локально, пароль — нормальная привычка. Особенно если ноутбук бывает в чужих сетях, а OBS открыт во время записи

Что можно автоматизировать

Типовые сценарии:

  • переключить сцену;
  • узнать текущую сцену;
  • включить или выключить источник;
  • стартовать запись;
  • остановить запись;
  • поставить запись на паузу;
  • получить статус стрима;
  • менять текстовый источник;
  • реагировать на события OBS.

Для уроков по программированию мне особенно нравится идея "сцены как главы": заставка, редактор, браузер, терминал, итог. Автоматизация помогает не держать всю механику в голове

Подключение из Node.js

Для Node.js есть библиотеки-клиенты к obs-websocket. Конкретный пакет выбирайте по актуальной поддержке версии протокола

Условный пример структуры:

import OBSWebSocket from 'obs-websocket-js';

const obs = new OBSWebSocket();

await obs.connect('ws://localhost:4455', 'your_password');

const { currentProgramSceneName } = await obs.call('GetCurrentProgramScene');
console.log('Текущая сцена:', currentProgramSceneName);

await obs.call('SetCurrentProgramScene', {
  sceneName: 'Code'
});

Этот пример показывает идею: подключиться, вызвать метод, передать параметры

Перед публикацией конкретный код лучше сверить с документацией выбранной библиотеки, потому что API клиентов может меняться

Подключение из Python

В Python тоже есть клиенты для OBS WebSocket. Сценарий похожий:

  1. Подключиться к ws://localhost:4455.
  2. Передать password.
  3. Вызвать метод API.
  4. Обработать ошибку, если сцена не найдена.

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

Мини-проект для автора уроков

Сделаем сценарий:

  • сцена Intro — начало урока;
  • сцена Code — редактор;
  • сцена Browser — демонстрация результата;
  • сцена End — финальный экран.

Логика:

start lesson  -> Intro
show code     -> Code
show result   -> Browser
finish lesson -> End

Такой сценарий можно повесить на кнопки в локальной панели или на горячие клавиши

Как проверить подключение

Проверяйте по шагам:

  1. OBS открыт.
  2. WebSocket server включен.
  3. Port совпадает.
  4. Password совпадает.
  5. Клиент подключается к localhost, если скрипт на той же машине.
  6. Метод существует в вашей версии API.
  7. Сцена с таким названием реально есть.

Если ошибка "connection refused", сервер WebSocket в OBS выключен или порт другой

Если ошибка авторизации, пароль неверный или клиент не прошел handshake протокола

Если метод не найден, вероятно, библиотека или пример не соответствует версии obs-websocket

Безопасность

Не открывайте OBS WebSocket в интернет без крайней необходимости. Если нужно удаленное управление:

  • используйте пароль;
  • ограничивайте доступ сетью/firewall;
  • не публикуйте порт наружу без защиты;
  • не храните пароль в коде;
  • используйте переменные окружения;
  • проверяйте, какие команды может выполнить ваш скрипт.

OBS — это не просто "окошко записи". Это управление трансляцией и файлами

Где это полезно соло-предпринимателю

Если вы записываете уроки, WebSocket может убрать повторяющуюся ручную работу:

  • начать запись при запуске сценария;
  • переключить сцену при переходе от теории к коду;
  • включить нижнюю плашку с названием урока;
  • обновить текстовый источник с темой;
  • остановить запись и сохранить лог таймкодов.

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

Ответы на эти вопросы могут быть для вас полезными

Нужно ли ставить obs-websocket plugin отдельно?

Сначала проверьте свою версию OBS. В современных OBS remote control через WebSocket обычно уже встроен. Отдельный plugin нужен не всегда

Какой порт использует OBS WebSocket?

Часто встречается 4455, но точное значение смотрите в настройках OBS

Можно ли управлять OBS из браузера?

Да, если использовать подходящий WebSocket-клиент и учесть авторизацию. Но не открывайте управление без защиты

Что можно переключать через OBS WebSocket?

Сцены, источники, запись, трансляцию, состояние, некоторые настройки и события — зависит от версии API и клиента

Почему скрипт не видит сцену?

Проверьте точное имя сцены. Регистр, пробелы и язык имеют значение

Что почитать дальше по WebSockets

Если вы собираете тему по шагам, рядом лучше открыть:

Оцените статью
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x