Друкарня від WE.UA

Привіт! Розглянемо те, як підключити Streamer.Bot до OBS. Спробуємо здійснити керування OBS через Streamer.Bot та зробимо кілька прикладів.

Вступ

Чому нам взагалі потрібно керувати OBS через Streamer.Bot? Варіантів дуже багато. Я наведу лише кілька прикладів:

  • Увімкнення/вимкнення якихось джерел при спрацьовуванні тригерів (фоловів, підписок, тощо), які будуть слугувати вам сповіщеннями

  • Можливість перемикати сцени, при якійсь події

  • Змінювати джерело тексту динамічно, без вашого втручання (наприклад лічильник підписників)

  • Необмежена кількість усіляких сповіщень. Яким би я сервісом не користувався чи то для саундалертів, чи відеоалертів, в кожному із них є обмежена кількість, яку можна додати. Хочеш більше - плати гроші

Як ви помітили, це можна налаштувати таким чином, щоб ви не відволікались від того, що у вас на екрані, а продовжили стримити, поки Streamer.Bot робить свою роботу. Тобто повна автоматизація.

Примітка. Ця стаття зосереджена на практичному використанні OBS через Streamer.bot. Переконайтесь, що ви вже ознайомились з базовими концепціями Actions, Triggers та Sub-Actions.

Підключення OBS до Streamer.bot

  1. Нам потрібно перейти відкрити OBS та перейти до Tools (Інструменти) і обрати WebSocket Server Settings:

  2. Поставте галочку Enable WebSocket server.

  3. Натисніть Generate Password Згенеруйте пароль.

  4. Натисніть Show Connect Info. Там ви побачите IP, Sever Port, Sever Password і QR-code. Не закривайте, це нам знадобиться.

  5. Перейдіть у SB (Streamer.Bot) до Stream Apps → OBS Studio. Там ви побачите наступне:

    Нам потрібно натиснути ПКМ і обрати Add

  6. У нас відкриється меню для конфігурації. Налаштовуємо його наступним чином:

    Name ви можете написати довільний. Version і Host зберігайте за замовчуванням. Вам не потрібен Server IP з OBS, якщо ваш OBS і Streamer.Bot знаходяться на одному комп’ютері.

  7. Port і Password вказуєте з віконця Show Connect Info. Також ви можете увімкнути галочки. Перша відповідає чи робити автоматичне підключення при увімкнення програми. Друга вказує на те, чи намагатись робити перепідключення при втраті з’єднання. Числове значення вказує інтервал через який робити спробу перепідключення.

  8. Після того, як ви натиснули Ok, у вас з’явиться запис в вікні OBS Studio. Може бути таке, що статус буде Disconnected, як у мене. Це нормально, натисніть ПКМ та оберіть Connect

    Після цього з’єднання відбудеться. Якщо по якійсь причині цього так і не сталось, перевірте ще раз, чи ви поставити в OBS пташку Enable WebSocket Server та чи передали ви правильно дані конфігурації в SB.


Практичне застосування

Усі Sub-action я вже розписував в цій статі про Sub-actions. Зараз ми спробуємо зробити кілька прикладів використання.

Динамічна зміна лічильника підписок

Що, якщо ми хочемо на наш стрим виводити актуальну кількість фоловерів, чи платних підписників? Зробимо наступне:

  • Перейдемо в OBS і додаймо на будь-яку сцену джерело з текстом. Назвемо його followerCounter. Я написав 0, щоб приблизно розуміти розмір тексту і шрифту. Те що ви туди напишете - це неважливо.

  • Відкриваємо Streamer.Bot. Нам треба зробити дію і всередині тригер і під-дію. Я обрав тригер Follow. Ви можете використовувати будь-який інший: таймер, Present Viewers, Chat Message, тощо. Для прикладу - це не суттєво важливо. Під-дію ми беремо Get Twitch Follower Count. При активації дії, у нас з’являється аргумент %followerCount%

  • Тепер, нам треба додати під-дію: Set GDI Text. З’явиться вікно, де треба вказати Сцену, Джерело і Текст. Також вказується Підключення, але якщо у вас лише один OBS, то це можна пропустити.

  • У поле текст, можна написати будь-що, натиснути клавішу Test і перевірити, чи змінився текст в OBS. Я напишу: “тестове повідомлення” і натисну Test.

  • Працює. Тепер ми можемо змінити текст, щоб вивести кількість фоловерів. Пригадуємо, що будь-яке текстове поле в SB підтримує змінні. Тому я зміню текст так: “Фоловери: %followerCount%” і натисну Test

  • Це не спрацює, так, як ми хочемо. Сталось так, тому що не активувалась дія, яка б створила аргумент, в якому зберігається кількість фоловерів.

  • Якщо перейти до Streamer.Bot натиснути на тригер з фоловом Test, то значення вже набуде потрібних нам значень:

  • Тепер щоразу, коли хтось буде фоловитись на вас, ця шкала буде змінюватись

Команда для зміни сцени

Спробуємо зробити команду !afk для модераторів і стримера, яка буде вмикати іншу сцену з назвою AFK.

  • У OBS стоврюємо нову сцену, називаємо її AFK

  • У SB створюємо нову дію. Я її назву - !afk

  • Додаємо тригер CoreCommandsCommand Triggered

  • Створимо команду !afk і надамо права модераторам

  • Додамо sub-action Core → OBS Studio → Set Active Scene і оберемо сцену “Afk”.

  • Усе, тепер коли модератор, або стример напише команду !afk в чаті, сцена в OBS зміниться на Afk

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

RAW запити

Raw запити — це "низькорівневий" спосіб спілкування з OBS через WebSocket протокол. Усі Sub-Actions, які ми розглядали, насправді під капотом використовують Raw запити, але з зручним інтерфейсом.

Іноді вам може знадобитись функція, для якої немає готового SA. Наприклад:

  1. Точне позиціонування якогось джерела по X та Y

  2. Динамічно змінювати розмір джерела

  3. Звертатись до скриптів (дуже рідко)

  4. Якщо в OBS додають новий функціонал, який ще не передбачений Streamer.Bot

Як використовувати Raw?

  • Перейдіть на сайт https://obs-raw.streamer.bot/

  • Цей сайт допоможе вам зрозуміти, які Raw команди існують та як їх використовувати

  • Виберіть версію WebSocket (v5 для OBS 28+)

  • Знайдіть потрібну команду в списку

  • Скопіюйте приклад та адаптуйте під свої потреби

Приклад: Перемістити джерело

Припустимо, ми хочемо перемістити картинку на 100 пікселів вправо.

  • У OBS, в сцені Scene додаймо картинку.

  • Тепер треба дізнатись, як називаються властивості картинки, яку ми хочемо змінити. Перейдемо за цим посиланням: https://obs-raw.streamer.bot/#GetSceneItemTransform

  • На сайті зверху, треба підключитися до OBS. Це аналогічно до того, як ми робили на початку цього посібнику по Streamer.Bot

  • Сайт буде запропоновувати нам сцени і джерела через контекстне меню. Обираємо те, що нас цікавить. У мене це так:

  • Після того, натискаємо зелену кнопку Send Request. Побачимо багато тексту. Він показує властивості цієї картинки: crop (обрізання) по різним сторонам, rotate (обернення), scaleX/Y (збільшення), sourceHeight (висота джерела), sourceWidth (ширина джерела), тощо. Нас цікавить positionX. У мене X = 0. Саме цей параметр треба нам змінити, щоб встановити джерело на 100 пікселів по координаті X.

  • Копіюємо параметр positionX.

    Примітка. Система координат, яку ми вчили в школі і те, яка вона на комп’ютері є різними. Нульова точка знаходиться у верхньому лівому кутку екрану. Чим більше X, тим картинка буде правіше. Чим більше Y, тим картинка буде нижче
  • Тепер перейдемо сюди https://obs-raw.streamer.bot/#SetSceneItemTransform це запит, який відповідає за те, як ми хочемо змінити джерело в сцені.

  • Вказуємо дані джерела, яке ми хочемо змінити. У мене без третього параметра виглядає так:

  • Оскільки третій параметр має тип Object, він має можливість мати кілька властивостей (отой великий текст, про який я писав), тому нам треба писати наступним чином: { "змінна": значення } Тому, щоб зробити текст правіше, нам треба написати так: { "positionX": 100 } Якщо вам потрібно змінити кілька значень, то вкінці рядочка поставте кому і пишіть наступне: { "змінна1": значення1, "змінна2": значення1 }

  • Вписуємо наш positionX, натискаємо Send Request, після чого наше джерело посунеться на 100 пікселів праворуч

  • Зліва, від кнопки Send Request, є кнопка Copy OBS Raw. Натискаємо її, переходимо до Streamer.Bot

  • Створюємо Sub-Action: OBS StudioRaw

  • У вікні Raw вставляємо скопійоване (можемо натиснути клавішу Format, щоб текст виглядав структуровано):

  • Якщо натиснете Test, то воно повторить запит, який ви робили на сайті.

  • А тепер уявіть, що замість статичних значень, як 100 в прикладі, ви можете користуватись %змінними%, щоб наприклад ставити картинку щоразу по випадковим координатам. Усі значення властивостей підтримують %змінні%.

    Примітка. Якщо ви використовуєте в Raw запитах %змінні%, тестуйте його не через клавішу Test в вікні, а через тригер Test. Sub-action ще не знає інформацію про аргумент, яким ви хочете скористатись, оскільки він створюється під час спрацювання тригера.

Raw запити - є дуже цікавим способом керувати етером, але для цього потрібно трішки додатково покопирсатися в документації і погратися з запитами на сайті (тільки дивіться, щоб випадково стрим не запустили).


Висновок

Streamer.bot з OBS Studio відкриває величезні можливості для автоматизації. Анонси в чаті, при зміні сцени, лічильник не лише фоловів, а буквально будь-чого, створення сповіщень, автоматичне перемикання сцен, динамічні оверлеї, інтерактив для глядачів. Поради, які я можу вам дати:

  • Не забувайте про Delay, який робить затримку між під-діями. Якщо ви додасте під-дію показати джерело і під нею вимкнути джерело, то не побачите навіть того, як воно відкриється.

  • Не нехтуйте назвами ваших джерел/сцен/фільтрів в OBS. Грамотне планування допоможе вам не плутатись в майбутньому з тим, як називається вам потрібний елемент. Щиро рекомендую ознайомитись з цим відео (таймкод лишив), тут це як раз і пояснюється: https://youtu.be/1RdmaEjuknQ?si=oUvPt6Jm_m3HBuQR&t=99

  • Звертайте увагу не регістр. Це дуже важливо, особливо коли ви пишете назви змінних. При неправильному використання великої літери, під-дія може нормально не працювати. Запам’ятайте просте правило - змінні починаються з маленької літери, якщо там кілька слів, то наступне слово вже починається з великої літери: %sceneName% - ✅ %SceneName% - ⛔️

  • Використовуйте під-дію Log Information, щоб слідкувати за тим, чи все спрацьовує від початку до кінця.


Корисні посилання

➕ OBS Raw Helper: https://obs-raw.streamer.bot/

➕ Перелік усіх Sub-Actions для OBS: https://docs.streamer.bot/api/sub-actions/obs-studio

➕ Стаття про Sub-Actions: https://drukarnia.com.ua/articles/streamer-bot-sho-take-sub-actions-Xp1gD

➕ Стаття про змінні: https://drukarnia.com.ua/articles/streamer-bot-zminni-XP2qv

💜 Мій Twitch канал: https://www.twitch.tv/quarryck

🥰 Підписатись на канал Streamer.BotUA: https://t.me/StreamBotUA

🫂 Платна підписка на автора: https://base.monobank.ua/quarryck

💴 Донат: https://send.monobank.ua/jar/9mvkm2Hy2z

❔Питання до автора в Телеграм чаті по Streamer.Bot: https://t.me/+MExWZc41vR5mMDAy

❔Питання до автора в Discord чаті по Streamer.Bothttps://discord.gg/9pVEtS24cU

Статті про вітчизняний бізнес та цікавих людей:

Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Quarryck
Quarryck@quarryck we.ua/quarryck

Стример на платформi Twitch

6Довгочити
60Прочитання
3Підписники
На Друкарні з 5 грудня

Більше від автора

  • Streamer.Bot. Програмування

    Комплексна, але цікава тема. Навіть без досвіду в коді — це не так складно, як здається. Я просто й доступно поясню програмування на C#, адже саме на цій мові написана програма, і ми створимо кілька скриптів для чату Twitch.

    Теми цього довгочиту:

    Twitch
  • Streamer.bot. Що таке Sub-Actions?

    У попередніх статтях ми розібрали, що таке Streamer.bot, як створювати команди та працювати з тригерами. Сьогодні поговоримо про найцікавіше — Sub-Actions. Я наведу кілька прикладів їх використання і як в попередньому разі, постараюсь виділити основні, якими варто користуватись.

    Теми цього довгочиту:

    Twitch
  • Streamer.bot. Змінні

    Змінна – це ім’я, яке використовується для зберігання та звернення до даних. Вони різні за іменем і мають різне значення. Вони здатні зберігати ім'я користувача, кількість балів, текст повідомлення тощо.

    Теми цього довгочиту:

    Twitch

Це також може зацікавити:

Коментарі (0)

Підтримайте автора першим.
Напишіть коментар!

Це також може зацікавити: