Управление OBS через Social Stream Ninja

Управляйте OBS напрямую из Event Flow без Streamer.bot. В руководстве описаны настройка, все триггеры и действия OBS, практические примеры и старые средства управления через док-панель/источник браузера.

Русский

1. Подключите Flow Actions к OBS

OBS WebSocket v5 встроен в OBS 28 и более новые версии. Social Stream Ninja использует его для полного управления OBS и событий медиа.

  1. В OBS откройте Инструменты → Настройки сервера WebSocket.
  2. Включите сервер WebSocket. Оставьте стандартный порт 4455; при желании задайте пароль.
  3. В Social Stream Ninja откройте Flow Actions раздел и задайте URL OBS WebSocket и необязательный пароль.
  4. Скопируйте URL Flow Actions и держите его открытым. Для действий с оверлеями/аудио рекомендуется источник браузера OBS.
  5. Используйте Тестер OBS WebSocket для проверки соединения перед созданием потока.
Пример прямого URL
https://socialstream.ninja/actions.html?session=YOUR_SESSION&obsws=ws://127.0.0.1:4455

Добавить &obspw=YOUR_PASSWORD только если OBS требует авторизацию. Добавьте &obsdebug=1 для показа небольшого индикатора соединения при диагностике.
Держите страницу Flow Actions запущенной. Это мост, который принимает действия Event Flow и отправляет запросы OBS WebSocket. Если он открыт как источник браузера OBS, отключите Отключать источник, когда он не виден если источник должен продолжать управлять OBS, будучи скрытым.
Чат / событие трансляции │ ▼ Social Stream Ninja Event Flow │ одинаковый ID сеанса ▼ Страница Flow Actions (actions.html) │ OBS WebSocket v5 · ws://127.0.0.1:4455 ▼ OBS Studio

Два режима подключения OBS

РежимЧто поддерживаетТребование
OBS WebSocket v5Все триггеры и действия этого руководства.OBS 28+, сервер WebSocket включён, страница Flow Actions открыта.
API источника браузера OBSЗапасной вариант для смены сцен, запуска/остановки трансляции и записи, сохранения буфера повтора.Flow Actions загружен внутри OBS с расширенным уровнем доступа. Источники, фильтры, текст, громкость, медиа, обновление и события завершения медиа по-прежнему требуют WebSocket.

2. Добавьте узлы OBS в поток

  1. Откройте Редактор Event Flow и создайте или отредактируйте поток.
  2. Перетащите триггер на рабочее поле.
  3. Разверните OBS Studio в списке действий и перетащите нужное действие OBS.
  4. Соедините триггер с действием, задайте точные имена сцен/источников OBS, сохраните и включите поток.
Список действий OBS Studio в редакторе Event Flow Social Stream Ninja
Группа OBS Studio содержит управление сценами, источниками, текстом, медиа, аудио, фильтрами, выводом и буфером повтора.
Имена в OBS должны совпадать точно, включая пробелы и знаки препинания. Действия источников используют имя входа OBS, а не подпись элемента сцены, если её переименовали отдельно.

3. Триггеры OBS

Они запускают поток, когда OBS сообщает о подходящем событии. Они приходят как type: "obs"; сведения об OBS находятся в разделе meta.

ТриггерКогда срабатываетПолезные данные
Трансляция OBS началасьТрансляция переходит в запущенное состояние.meta.outputState, meta.outputActive
Трансляция OBS остановленаТрансляция переходит в остановленное состояние.meta.outputState, meta.outputActive
Запись OBS началасьЗапись начинается.meta.outputState
Запись OBS остановленаЗапись останавливается.meta.outputState
Сцена OBS измененаАктивная программная сцена меняется.meta.sceneName
Медиа OBS завершено WebSocketМедиаисточник завершает воспроизведение. При желании фильтруйте по точному имени медиаисточника.meta.inputName, meta.inputUuid
Буфер повтора OBS сохранёнOBS завершает сохранение повтора.meta.savedReplayPath

4. Действия OBS

ДействиеНастройка и поведениеПодключение
Сменить сценуПереключает активную программную сцену по её точному имени.WebSocket или запасной вариант через API источника браузера
Переключить источникПоказать, скрыть или переключить элемент сцены. Сцена и группа — необязательные поля выбора цели.WebSocket
Задать текст источникаОбновляет «Текст (GDI+)» или «Текст (FreeType 2)» с шаблонными подстановками.WebSocket
Управлять медиаисточникомВоспроизвести/продолжить, приостановить, перезапустить, остановить, следующий или предыдущий.WebSocket
Задать громкость источникаЗадаёт вход в диапазоне от -100 на +26 дБ.WebSocket
Обновить источник браузераПерезагружает источник браузера без кэша.WebSocket
Переключить фильтрВключить, выключить или переключить фильтр источника по имени.WebSocket
Выключить/включить звукВыключить звук, включить звук или переключить состояние входа.WebSocket
Начать записьЗапускает запись OBS.WebSocket или запасной вариант через API источника браузера
Остановить записьОстанавливает запись OBS.WebSocket или запасной вариант через API источника браузера
Начать трансляциюЗапускает настроенный выход трансляции OBS.WebSocket или запасной вариант через API источника браузера
Остановить трансляциюОстанавливает выход трансляции OBS.WebSocket или запасной вариант через API источника браузера
Управлять буфером повтораЗапустить, остановить или переключить буфер повтора.WebSocket
Сохранить буфер повтораСохраняет работающий буфер повтора.WebSocket или запасной вариант через API источника браузера

Задание текста источника и переменные потока

Текстовое поле поддерживает обычные подстановки сообщения, например {username}, {message}, {source}, и {donation}, а также значения, добавленные предыдущими узлами потока, например {counterValue}, {counterTarget}, и {counterRemaining}.

{username}: now {counterValue}, need {counterTarget}
Свойства задания текста источника с шаблонными переменными счётчика
Действие задания текста источника записывает вычисленное значение прямо в указанный текстовый вход OBS.
Для источника «Текст (GDI+)» или «Текст (FreeType 2)» отключите Читать из файла. Иначе OBS может продолжать показывать содержимое файла вместо текста, отправленного Event Flow.

Управление медиаисточником

Воспроизведение / Пауза

Воспроизвести продолжает приостановленное медиа. Пауза удерживает текущую позицию.

Перезапустить / Остановить

Перезапустить начинает с начала. Остановить завершает воспроизведение и сбрасывает источник.

Следующий / Предыдущий

Переключает элементы источников с плейлистом, например «Источник видео VLC». Медиаисточник с одним файлом может игнорировать эти действия.

Громкость, отключение звука и фильтры

Задать громкость источника использует дБ в соответствии со шкалой микшера OBS: 0 dB означает неизменённое усиление, отрицательные значения тише, а -100 dB фактически означает тишину. Отключение звука — отдельное состояние. Переключение фильтра меняет только его включённость, а не параметры.

Буфер повтора

Сначала включите буфер повтора в Настройки OBS → Вывод. Используйте Управлять буфером повтора для запуска/остановки, затем Сохранить буфер повтора для записи недавнего фрагмента из буфера на диск.

Предупреждение о выходе в эфир: Запуск/остановка трансляции и записи выполняются сразу. Используйте строгие триггеры, разрешения и паузы, чтобы обычные сообщения чата не вызывали их случайно.

5. Полезные примеры

Сообщение каждый час, пока OBS в эфире

В редакторе Event Flow выберите Начать с шаблона → Средний уровень → Сообщение каждый час, пока OBS в эфире. Изначально он выключен и содержит три ветки в одном потоке:

  • Трансляция OBS началась → Задать состояние шлюза: ON
  • Интервал времени (3600 секунд) → Переключатель ON/OFF → Отправить сообщение
  • Трансляция OBS остановлена → Задать состояние шлюза: OFF

Оба действия задания состояния шлюза уже ссылаются на один переключатель, изначально выключенный. Измените Отправить сообщение для выбора платформы чата (в примере Twitch) и сообщения. Выберите платформу или «Все платформы»; «Ответить источнику» не может ответить событию OBS или срабатыванию таймера.

Подключение Flow Actions к OBS, держите Social Stream и целевой чат подключёнными, затем сохраните и включите поток до начала трансляции. Переключатель ждёт события запуска OBS; загрузка во время уже идущего эфира не включает его. Перезапуск Social Stream также сбрасывает его в OFF.

Время срабатывания: интервал работает по собственному расписанию, поэтому первое напоминание может прийти раньше чем через час после начала эфира. Следующие повторяются каждый час, пока переключатель включён. Для другой частоты измените значение интервала времени; оно задаётся в секундах.

Текст счётчика в OBS

Разместите Задать текст источника после ветки счётчика/проверки и используйте:

{username}: now {counterValue}, need {counterTarget}

Выполнить действие после видео

Медиа OBS завершено (фильтруйте по Intro Video) → Сменить сцену на Main.

Перезапуск медиа из чата

Сообщение равно !replayintro → условие разрешения → Управлять медиаисточником: перезапуск.

Обновить страницу оповещений

Сообщение равно !refreshalerts → условие модератора → Обновить источник браузера.

Приглушить музыку на время оповещения

Задать громкость источника на -24 dB → действие оповещения → Задержка → вернуть к 0 dB.

Работа с повторами

Трансляция OBS началась → Управлять буфером повтора: запуск; отдельная доверенная команда выполняет Сохранить буфер повтора.

6. Другие встроенные средства управления OBS

В Social Stream Ninja также есть старые средства управления источником браузера OBS в док-панели чата трансляции. Они не используют WebSocket-мост Flow Actions.

ВариантЧто делаетТребование
Индикатор текущей сцены OBSПоказывает активную сцену в док-панели чата трансляции.Док-панель загружена внутри OBS с разрешением на чтение.
Гости могут использовать !cycleПереходит к следующей сцене OBS, не чаще одного раза в 10 секунд.Включите опцию в popup; док-панель загружена в OBS с расширенным доступом.
Привилегированные пользователи могут использовать !start / !stopЗапускает или останавливает трансляцию по команде доверенных пользователей чата.Включите опцию в popup; док-панель загружена в OBS с полным/расширенным доступом к управлению.
Удалённая панель управления OBSПоказывает сцены и может переключать их или включать/выключать трансляцию и запись, если целевая док-панель OBS предоставляет нужный уровень управления.Док-панель чата трансляции связана с док-панелью внутри OBS.
Тестер OBS WebSocketПроверяет версию, подключение, сцены и отдельные запросы до использования Event Flow.Открыть тестер

7. Устранение неполадок

ПроблемаПроверьте
Ничего не происходитПоток сохранён и включён; Flow Actions открыт; у обоих одинаковый ID сеанса.
OBS не подключаетсяСервер WebSocket включён, URL — ws://127.0.0.1:4455, а пароль совпадает. Порт 4444 — устаревший порт по умолчанию для v4.
Сцена/источник/фильтр не найденыСкопируйте точное имя из OBS. Для управления видимостью задайте сцену или группу, если элемент вложен либо находится вне текущей сцены.
Текст не меняетсяИспользуйте «Текст (GDI+)» или «Текст (FreeType 2)», проверьте имя входа и отключите Читать из файла.
Событие завершения медиа не срабатываетИспользуйте OBS WebSocket v5 и настоящий медиаисточник. Зацикленное медиа не достигает состояния завершения.
Следующий/Предыдущий ничего не делаютИспользуйте источник с поддержкой плейлистов, например «Источник видео VLC».
Не удаётся сохранить повторВключите буфер повтора в настройках вывода OBS и запустите его перед сохранением.
Действия останавливаются при смене сценыОтключить (Disable) Отключать источник, когда он не виден у источника браузера Flow Actions либо держите страницу открытой в другом месте.
Порядок диагностики: откройте тестер → подтвердить GetVersion → проверить сцены/входы → проверить отдельный запрос → проверить весь Event Flow.