1. Připojení Flow Actions k OBS
OBS WebSocket v5 je součástí OBS 28 a novějšího. Social Stream Ninja ho používá pro úplné ovládání OBS a události médií.
- V OBS otevřete Nástroje → Nastavení serveru WebSocket.
- Zapněte server WebSocket. Ponechte výchozí port
4455; v případě potřeby nastavte heslo. - V Social Stream Ninja otevřete Flow Actions a nastavte URL OBS WebSocket a volitelné heslo.
- Zkopírujte URL Flow Actions a nechte ji otevřenou. Pro akce překryvů a zvuku se doporučuje zdroj prohlížeče v OBS.
- Použijte Tester OBS WebSocket a před vytvořením scénáře ověřte připojení.
https://socialstream.ninja/actions.html?session=YOUR_SESSION&obsws=ws://127.0.0.1:4455Přidejte
&obspw=YOUR_PASSWORD pouze když OBS vyžaduje ověření. Přidejte &obsdebug=1 pro zobrazení malého odznaku stavu připojení při diagnostice problémů.
Dva režimy připojení OBS
| Režim | Co podporuje | Požadavek |
|---|---|---|
| OBS WebSocket v5 | Všechny spouštěče a akce v tomto návodu. | OBS 28+, zapnutý server WebSocket, otevřená stránka Flow Actions. |
| OBS Browser Source API | Náhradní možnost pro změny scén, spuštění/zastavení vysílání a nahrávání a ukládání vyrovnávací paměti záznamu. | Flow Actions načtené v OBS s úrovní přístupu Advanced. Funkce zdrojů, filtrů, textu, hlasitosti, médií, obnovení a ukončení médií stále vyžadují WebSocket. |
2. Přidání uzlů OBS do scénáře
- Otevřete Editor Event Flow a vytvořete nebo upravte scénář.
- Přetáhněte spouštěč na plátno.
- Rozbalte OBS Studio v seznamu Actions a přetáhněte požadovanou akci OBS.
- Propojte spouštěč s akcí, nastavte přesné názvy scén/zdrojů v OBS, scénář uložte a zapněte.
3. Spouštěče OBS
Spustí scénář, když OBS nahlásí odpovídající událost. Přicházejí jako type: "obs"; podrobnosti specifické pro OBS jsou pod meta.
| Spouštěč | Kdy se spustí | Užitečná data |
|---|---|---|
| Vysílání OBS zahájeno (OBS Stream Started) | Vysílání přejde do stavu zahájeno. | meta.outputState, meta.outputActive |
| Vysílání OBS zastaveno (OBS Stream Stopped) | Vysílání přejde do stavu zastaveno. | meta.outputState, meta.outputActive |
| Nahrávání OBS zahájeno (OBS Recording Started) | Nahrávání se zahájí. | meta.outputState |
| Nahrávání OBS zastaveno (OBS Recording Stopped) | Nahrávání se zastaví. | meta.outputState |
| Scéna OBS změněna (OBS Scene Changed) | Aktivní programová scéna se změní. | meta.sceneName |
| Médium OBS skončilo (OBS Media Ended) WebSocket | Mediální vstup dokončí přehrávání. Volitelně filtrujte podle přesného názvu zdroje Media Source Name. | meta.inputName, meta.inputUuid |
| Vyrovnávací paměť záznamu OBS uložena (OBS Replay Buffer Saved) | OBS dokončí ukládání záznamu z vyrovnávací paměti. | meta.savedReplayPath |
4. Akce OBS
| Akce | Konfigurace a chování | Připojení |
|---|---|---|
| Změnit scénu (Change Scene) | Přepne aktivní programovou scénu podle přesného názvu. | WebSocket nebo náhradní Browser Source API |
| Přepnout zdroj (Toggle Source) | Zobrazí, skryje nebo přepne položku scény. Scene a Group jsou volitelná pole pro určení cíle. | WebSocket |
| Nastavit textový zdroj (Set Text Source) | Aktualizuje Text (GDI+) nebo Text (FreeType 2) se zástupnými symboly šablony. | WebSocket |
| Ovládat zdroj médií (Control Media Source) | Přehrát/pokračovat, pozastavit, restartovat, zastavit, další nebo předchozí. | WebSocket |
| Nastavit hlasitost zdroje (Set Source Volume) | Nastaví vstup od -100 na +26 dB. | WebSocket |
| Obnovit zdroj prohlížeče (Refresh Browser Source) | Znovu načte zdroj prohlížeče bez mezipaměti. | WebSocket |
| Přepnout filtr (Toggle Filter) | Zapněte, vypněte nebo přepněte pojmenovaný filtr zdroje. | WebSocket |
| Ztlumit/zapnout zvuk (Mute/Unmute Audio) | Ztlumte, zapněte zvuk nebo přepněte stav vstupu. | WebSocket |
| Spustit nahrávání (Start Recording) | Spustí nahrávání OBS. | WebSocket nebo náhradní Browser Source API |
| Zastavit nahrávání (Stop Recording) | Zastaví nahrávání OBS. | WebSocket nebo náhradní Browser Source API |
| Spustit vysílání (Start Streaming) | Spustí nastavený výstup vysílání OBS. | WebSocket nebo náhradní Browser Source API |
| Zastavit vysílání (Stop Streaming) | Zastaví výstup vysílání OBS. | WebSocket nebo náhradní Browser Source API |
| Ovládat vyrovnávací paměť záznamu (Control Replay Buffer) | Spustí, zastaví nebo přepne vyrovnávací paměť záznamu. | WebSocket |
| Uložit vyrovnávací paměť záznamu (Save Replay Buffer) | Uloží právě běžící vyrovnávací paměť záznamu. | WebSocket nebo náhradní Browser Source API |
Nastavení textového zdroje a proměnné scénáře
Textové pole podporuje běžné zástupné symboly zpráv, například {username}, {message}, {source}, a {donation}, a také hodnoty přidané předchozími uzly scénáře, například {counterValue}, {counterTarget}, a {counterRemaining}.
{username}: now {counterValue}, need {counterTarget}
Ovládání zdroje médií
Přehrát / Pozastavit
Přehrát obnoví přehrávání pozastaveného média. Pozastavit zachová aktuální pozici.
Restartovat / Zastavit
Restartovat spustí přehrávání od začátku. Zastavit ukončí přehrávání a resetuje vstup.
Další / Předchozí
Přechází mezi položkami vstupů podporujících seznam skladeb, například VLC Video Source. Zdroj médií s jediným souborem může tyto akce ignorovat.
Hlasitost, ztlumení a filtry
Nastavit hlasitost zdroje (Set Source Volume) používá dB odpovídající stupnici mixážního pultu OBS: 0 dB znamená nezměněné zesílení, záporné hodnoty jsou tišší a -100 dB je prakticky ticho. Ztlumení je samostatný stav. Toggle Filter mění pouze zapnutí existujícího filtru; neupravuje jeho nastavení.
Vyrovnávací paměť záznamu (Replay Buffer)
Nejprve zapněte Replay Buffer v Nastavení OBS → Výstup. Použijte Ovládat vyrovnávací paměť záznamu (Control Replay Buffer) ke spuštění/zastavení, pak Uložit vyrovnávací paměť záznamu (Save Replay Buffer) pro zápis posledního úseku z vyrovnávací paměti na disk.
5. Užitečné postupy
Zpráva každou hodinu během živého vysílání OBS
V editoru Event Flow zvolte Začít se šablonou → Středně pokročilé → Zpráva každou hodinu během živého vysílání OBS. Na začátku je vypnutý a obsahuje tři větve v jednom scénáři:
- Vysílání OBS zahájeno → Nastavit stav brány: ON
- Časový interval (3600 sekund) → Přepínač ON/OFF → Odeslat zprávu
- Vysílání OBS zastaveno → Nastavit stav brány: OFF
Obě akce Set Gate State již cílí na stejný přepínač, jehož výchozí stav je OFF. Upravte Odeslat zprávu (Send Message) a zvolte platformu chatu (příklad používá Twitch) a zprávu. Vyberte platformu nebo All Platforms; Reply to Source nemůže odpovědět na událost OBS ani na tik časovače.
Připojení Flow Actions k OBS, nechte Social Stream i cílový chat připojený, pak scénář uložte a zapněte před zahájením vysílání. Přepínač čeká na událost zahájení z OBS; načtení během probíhajícího vysílání ho nezapne. Restart Social Stream také vrátí přepínač do stavu OFF.
Načasování: interval běží podle vlastního rozvrhu, takže první připomínka může dorazit dříve než hodinu po zahájení vysílání. Další připomínky se opakují každou hodinu, dokud je přepínač ve stavu ON. Pro jinou četnost změňte hodnotu Time Interval; uvádí se v sekundách.
Text počítadla v OBS
Umístěte Nastavit textový zdroj (Set Text Source) za cestu počítadla/kontroly a použijte:
{username}: now {counterValue}, need {counterTarget}
Spustit něco po videu
Médium OBS skončilo (OBS Media Ended) (filtrovat na Intro Video) → Změnit scénu (Change Scene) na Main.
Restart média ovládaný chatem
Zpráva je rovna (Message Equals) !replayintro → podmínka oprávnění → Ovládat zdroj médií: Restartovat.
Obnovit stránku upozornění
Zpráva je rovna (Message Equals) !refreshalerts → podmínka moderátora → Obnovit zdroj prohlížeče (Refresh Browser Source).
Ztlumit hudbu při upozornění
Nastavit hlasitost zdroje (Set Source Volume) na -24 dB → akce upozornění → Prodleva → obnovit na 0 dB.
Postup práce s vyrovnávací pamětí záznamu
Vysílání OBS zahájeno (OBS Stream Started) → Ovládat vyrovnávací paměť záznamu: Spustit; samostatný důvěryhodný příkaz spouští Uložit vyrovnávací paměť záznamu (Save Replay Buffer).
6. Další vestavěné ovládání OBS
Social Stream Ninja obsahuje také starší ovládání zdrojů prohlížeče OBS v doku Streaming Chat. To nepoužívá most WebSocket z Flow Actions.
| Možnost | Co dělá | Požadavek |
|---|---|---|
| Ukazatel aktuální scény OBS | Zobrazuje aktivní scénu v doku Streaming Chat. | Dok načtený v OBS s oprávněním ke čtení. |
| Hosté mohou použít !cycle | Přejde na další scénu OBS, s omezením na jednou za 10 sekund. | Zapněte volbu v nabídce rozšíření; dok musí být načten v OBS s pokročilým přístupem Advanced. |
| Oprávnění uživatelé mohou použít !start / !stop | Spouští nebo zastavuje vysílání na pokyn důvěryhodných uživatelů chatu. | Zapněte volbu v nabídce rozšíření; dok musí být načten v OBS s oprávněním ovládání Full/Advanced. |
| Panel vzdáleného ovládání OBS | Zobrazuje scény a umožňuje je přepínat nebo zapínat a vypínat vysílání/nahrávání, pokud cílový dok OBS uděluje potřebnou úroveň ovládání. | Dok Streaming Chat spárovaný s dokem spuštěným v OBS. |
| Tester OBS WebSocket | Před použitím Event Flow zkontroluje verzi, připojení, scény a jednotlivé požadavky. | Otevřít tester |
7. Řešení potíží
| Problém | Zkontrolujte |
|---|---|
| Nic se neděje | Scénář je uložený a zapnutý; Flow Actions jsou otevřené; obojí používá stejné ID relace. |
| OBS se nepřipojí | Server WebSocket je zapnutý, URL je ws://127.0.0.1:4455, a heslo odpovídá. Port 4444 je zastaralý výchozí port verze v4. |
| Scéna/zdroj/filtr nebyl nalezen | Zkopírujte přesný název z OBS. U viditelnosti nastavte Scene nebo Group, pokud je položka vnořená nebo mimo aktuální scénu. |
| Text se nemění | Použijte Text (GDI+) nebo Text (FreeType 2), ověřte název vstupu a vypněte Číst ze souboru (Read from file). |
| Media Ended se nikdy nespustí | Použijte OBS WebSocket v5 a skutečný mediální vstup. Média ve smyčce nedosáhnou stavu ukončení. |
| Další/Předchozí nic nedělá | Použijte zdroj podporující seznam skladeb, například VLC Video Source. |
| Uložení záznamu z vyrovnávací paměti selže | Zapněte Replay Buffer v nastavení výstupu OBS a před uložením ho spusťte. |
| Akce se při změně scény zastaví | Vypněte Vypnout zdroj, když není viditelný (Shutdown source when not visible) u zdroje prohlížeče Flow Actions nebo nechte stránku otevřenou jinde. |
GetVersion → ověřit scény/vstupy → otestovat jednotlivý požadavek → otestovat celý scénář Event Flow.