1. Підключіть Flow Actions до OBS
OBS WebSocket v5 вбудований в OBS 28 і новіші версії. Social Stream Ninja використовує його для повного керування OBS та подій медіа.
- В OBS відкрийте Інструменти → Налаштування сервера WebSocket.
- Увімкніть сервер WebSocket. Залиште стандартний порт
4455; за бажанням установіть пароль. - У Social Stream Ninja відкрийте Flow Actions розділ і задайте URL OBS WebSocket та необов’язковий пароль.
- Скопіюйте URL Flow Actions і залиште його відкритим. Для дій оверлею/звуку рекомендовано джерело браузера OBS.
- Використовуйте Тестер OBS WebSocket щоб підтвердити підключення перед створенням сценарію.
https://socialstream.ninja/actions.html?session=YOUR_SESSION&obsws=ws://127.0.0.1:4455Додайте
&obspw=YOUR_PASSWORD лише коли OBS вимагає автентифікації. Додайте &obsdebug=1 щоб під час діагностики показувати невеликий значок стану підключення.
Два режими підключення OBS
| Режим | Що підтримує | Вимога |
|---|---|---|
| OBS WebSocket v5 | Усі тригери й дії з цього посібника. | OBS 28+, увімкнений сервер WebSocket, відкрита сторінка Flow Actions. |
| OBS Browser Source API | Запасний спосіб для зміни сцен, запуску/зупинки трансляції, запуску/зупинки запису та збереження буфера повтору. | Flow Actions завантажено в OBS з Advanced Access Level. Для джерел, фільтрів, тексту, гучності, медіа, оновлення та завершення медіа все ще потрібен WebSocket. |
2. Додайте вузли OBS до сценарію
- Відкрийте Редактор потоків подій і створіть або відредагуйте сценарій.
- Перетягніть тригер на полотно.
- Розгорніть OBS Studio у списку дій і перетягніть потрібну дію OBS.
- З’єднайте тригер із дією, задайте точні назви сцен/джерел OBS, збережіть і ввімкніть сценарій.
3. Тригери OBS
Вони запускають сценарій, коли OBS повідомляє про відповідну подію. Вони надходять як type: "obs"; специфічні для OBS відомості розміщено в meta.
| Тригер | Коли спрацьовує | Корисні дані |
|---|---|---|
| Початок трансляції OBS (OBS Stream Started) | Трансляція переходить у стан запущеної. | meta.outputState, meta.outputActive |
| Зупинка трансляції OBS (OBS Stream Stopped) | Трансляція переходить у стан зупиненої. | meta.outputState, meta.outputActive |
| Початок запису OBS (OBS Recording Started) | Запис починається. | meta.outputState |
| Зупинка запису OBS (OBS Recording Stopped) | Запис зупиняється. | meta.outputState |
| Зміна сцени OBS (OBS Scene Changed) | Активна програмна сцена змінюється. | meta.sceneName |
| Завершення медіа OBS (OBS Media Ended) WebSocket | Медіаджерело завершує відтворення. За потреби відфільтруйте за точною назвою Media Source Name. | meta.inputName, meta.inputUuid |
| Збереження буфера повтору OBS (OBS Replay Buffer Saved) | OBS завершує збереження повтору. | meta.savedReplayPath |
4. Дії OBS
| Дія | Налаштування та поведінка | Підключення |
|---|---|---|
| Змінити сцену (Change Scene) | Перемикає активну програмну сцену за точною назвою. | WebSocket або запасний Browser Source API |
| Перемкнути джерело (Toggle Source) | Показати, приховати або перемкнути елемент сцени. Scene і Group — необов’язкові поля вибору цілі. | WebSocket |
| Установити текст джерела (Set Text Source) | Оновлює Text (GDI+) або Text (FreeType 2) із підстановками шаблону. | WebSocket |
| Керувати медіаджерелом (Control Media Source) | Відтворити/продовжити, призупинити, перезапустити, зупинити, наступний або попередній. | WebSocket |
| Установити гучність джерела (Set Source Volume) | Задає для джерела значення від -100 до +26 дБ. | WebSocket |
| Оновити джерело браузера (Refresh Browser Source) | Перезавантажує джерело браузера без кешу. | WebSocket |
| Перемкнути фільтр (Toggle Filter) | Увімкнути, вимкнути або перемкнути фільтр джерела за назвою. | WebSocket |
| Вимкнути/увімкнути звук (Mute/Unmute Audio) | Вимкнути, увімкнути або перемкнути звук джерела. | WebSocket |
| Почати запис (Start Recording) | Запускає запис OBS. | WebSocket або запасний Browser Source API |
| Зупинити запис (Stop Recording) | Зупиняє запис OBS. | WebSocket або запасний Browser Source API |
| Почати трансляцію (Start Streaming) | Запускає налаштований вихід трансляції OBS. | WebSocket або запасний Browser Source API |
| Зупинити трансляцію (Stop Streaming) | Зупиняє вихід трансляції OBS. | WebSocket або запасний Browser Source API |
| Керувати буфером повтору (Control Replay Buffer) | Запустити, зупинити або перемкнути буфер повтору. | WebSocket |
| Зберегти буфер повтору (Save Replay Buffer) | Зберігає поточний запущений буфер повтору. | WebSocket або запасний Browser Source API |
Set Text Source та змінні сценарію
Текстове поле підтримує звичайні підстановки повідомлень, як-от {username}, {message}, {source}, і {donation}, а також значення, додані попередніми вузлами сценарію, як-от {counterValue}, {counterTarget}, і {counterRemaining}.
{username}: now {counterValue}, need {counterTarget}
Керування медіаджерелом
Відтворити / призупинити
Відтворити (Play) продовжує призупинене медіа. Призупинити (Pause) зберігає поточну позицію.
Перезапустити / зупинити
Перезапустити (Restart) починає спочатку. Зупинити (Stop) завершує відтворення та скидає джерело.
Наступний / попередній
Переходить між елементами джерел із підтримкою списку відтворення, як-от VLC Video Source. Медіаджерело з одним файлом може ігнорувати ці дії.
Гучність, вимкнення звуку та фільтри
Установити гучність джерела (Set Source Volume) використовує дБ відповідно до шкали мікшера OBS: 0 dB означає незмінне підсилення, від’ємні значення тихіші, а -100 dB фактично дає тишу. Вимкнення звуку — окремий стан. Toggle Filter змінює лише стан увімкнення наявного фільтра, а не його налаштування.
Буфер повтору (Replay Buffer)
Спочатку ввімкніть Replay Buffer у Налаштування OBS → Вивід. Використовуйте Керувати буфером повтору (Control Replay Buffer) для запуску/зупинки, а потім Зберегти буфер повтору (Save Replay Buffer) для запису останнього буферизованого фрагмента на диск.
5. Корисні приклади
Щогодинне повідомлення під час трансляції OBS
У редакторі Event Flow виберіть Почати з шаблону → Середній рівень → Щогодинне повідомлення під час трансляції OBS. Спочатку він вимкнений і містить три гілки в одному сценарії:
- Початок трансляції OBS → Установити стан перемикача: ON
- Часовий інтервал (3600 секунд) → Перемикач ON/OFF → Надіслати повідомлення
- Зупинка трансляції OBS → Установити стан перемикача: OFF
Обидві дії Set Gate State уже спрямовані на той самий перемикач, початковий стан якого — OFF. Відредагуйте Надіслати повідомлення (Send Message) щоб вибрати платформу чату (у прикладі Twitch) і повідомлення. Виберіть платформу або All Platforms; Reply to Source не може відповісти на подію OBS або спрацювання таймера.
Підключення Flow Actions до OBS, залиште Social Stream і цільовий чат підключеними, а потім збережіть та ввімкніть сценарій перед початком трансляції. Перемикач очікує події початку від OBS; завантаження під час уже активної трансляції не переводить його в ON. Перезапуск Social Stream також скидає перемикач в OFF.
Час спрацьовування: інтервал працює за власним розкладом, тому перше нагадування може надійти раніше ніж через годину після початку трансляції. Далі нагадування повторюються щогодини, доки перемикач у стані ON. Для іншої частоти змініть Time Interval; значення вимірюється в секундах.
Текст лічильника в OBS
Розмістіть Установити текст джерела (Set Text Source) після шляху лічильника/перевірки та використовуйте:
{username}: now {counterValue}, need {counterTarget}
Запустити щось після відео
Завершення медіа OBS (OBS Media Ended) (відфільтруйте до Intro Video) → Змінити сцену (Change Scene) до Main.
Перезапуск медіа з чату
Повідомлення дорівнює (Message Equals) !replayintro → умова дозволу → Керувати медіаджерелом: перезапустити.
Оновити сторінку сповіщень
Повідомлення дорівнює (Message Equals) !refreshalerts → умова модератора → Оновити джерело браузера (Refresh Browser Source).
Приглушити музику для сповіщення
Установити гучність джерела (Set Source Volume) до -24 dB → дія сповіщення → Затримка → повернути до 0 dB.
Сценарій повторів
Початок трансляції OBS (OBS Stream Started) → Керувати буфером повтору: запустити; окрема довірена команда запускає Зберегти буфер повтору (Save Replay Buffer).
6. Інші вбудовані засоби керування OBS
Social Stream Ninja також має старіші засоби керування OBS Browser Source в доку Streaming Chat. Вони не використовують міст WebSocket Flow Actions.
| Варіант | Що робить | Вимога |
|---|---|---|
| Індикатор поточної сцени OBS | Показує активну сцену в доку Streaming Chat. | Док завантажено в OBS з дозволом читання. |
| Гості можуть використовувати !cycle | Перемикає на наступну сцену OBS з обмеженням частоти до одного разу на 10 секунд. | Увімкніть опцію спливного вікна; док має бути завантажений в OBS з доступом Advanced. |
| Користувачі з привілеями можуть використовувати !start / !stop | Запускає або зупиняє трансляцію за командами довірених користувачів чату. | Увімкніть опцію спливного вікна; док має бути завантажений в OBS з дозволом керування Full/Advanced. |
| Панель віддаленого керування OBS | Показує сцени й може перемикати їх або вмикати/вимикати трансляцію/запис, коли цільовий док OBS надає потрібний рівень керування. | Док Streaming Chat, сполучений із доком, що працює всередині OBS. |
| Тестер OBS WebSocket | Перевіряє версію, підключення, сцени та окремі запити перед використанням Event Flow. | Відкрити тестер |
7. Усунення неполадок
| Проблема | Перевірте |
|---|---|
| Нічого не відбувається | Сценарій збережено й увімкнено; Flow Actions відкрито; обидва використовують той самий ID сесії. |
| OBS не підключається | Сервер WebSocket увімкнений, URL — ws://127.0.0.1:4455, а пароль збігається. Порт 4444 — застарілий стандартний порт v4. |
| Сцену/джерело/фільтр не знайдено | Скопіюйте точну назву з OBS. Для видимості вкажіть Scene або Group, якщо елемент вкладений або розміщений не в поточній сцені. |
| Текст не змінюється | Використовуйте Text (GDI+) або Text (FreeType 2), перевірте назву джерела та вимкніть Читати з файлу (Read from file). |
| Media Ended ніколи не спрацьовує | Використовуйте OBS WebSocket v5 та справжнє медіаджерело. Зациклене медіа не переходить у завершений стан. |
| Next/Previous нічого не робить | Використовуйте джерело з підтримкою списку відтворення, як-от VLC Video Source. |
| Не вдається зберегти повтор | Увімкніть Replay Buffer у налаштуваннях виводу OBS і запустіть його перед збереженням. |
| Дії зупиняються після зміни сцени | Вимкніть Вимикати джерело, коли воно не видиме (Shutdown source when not visible) для джерела браузера Flow Actions або тримайте сторінку відкритою деінде. |
GetVersion → перевірте сцени/джерела → перевірте окремий запит → перевірте весь Event Flow.