1. Connetti Flow Actions a OBS
OBS WebSocket v5 è integrato in OBS 28 e versioni successive. Social Stream Ninja lo usa per il controllo completo di OBS e gli eventi multimediali.
- In OBS, apri Strumenti → Impostazioni server WebSocket.
- Attiva il server WebSocket. Mantieni la porta predefinita
4455; imposta una password se desideri. - In Social Stream Ninja, apri la sezione Flow Actions e imposta l'URL OBS WebSocket e la password facoltativa.
- Copia l'URL Flow Actions e mantienilo aperto. Per le azioni overlay/audio è consigliata una sorgente browser OBS.
- Usa: Tester OBS WebSocket per verificare la connessione prima di creare un flusso.
https://socialstream.ninja/actions.html?session=YOUR_SESSION&obsws=ws://127.0.0.1:4455Aggiungi
&obspw=YOUR_PASSWORD solo quando OBS richiede autenticazione. Aggiungi &obsdebug=1 per mostrare un piccolo badge di stato della connessione durante la diagnosi.
Due modalità di connessione OBS
| Modalità | Cosa supporta | Requisito |
|---|---|---|
| OBS WebSocket v5 | Ogni trigger e azione di questa guida. | OBS 28+, server WebSocket attivo, pagina Flow Actions aperta. |
| API sorgente browser OBS | Ripiego per cambiare scena, avviare/fermare diretta, avviare/fermare registrazione e salvare il buffer replay. | Flow Actions caricato dentro OBS con Advanced Access Level. Le funzionalità per sorgenti, filtri, testo, volume, contenuti multimediali, aggiornamento e fine dei contenuti richiedono ancora WebSocket. |
2. Aggiungi nodi OBS a un flusso
- Apri Editor Event Flow e crea o modifica un flusso.
- Trascina un trigger nell'area di lavoro.
- Espandi OBS Studio nell'elenco Actions e trascina l'azione OBS necessaria.
- Collega il trigger all'azione, configura i nomi esatti di scene/sorgenti OBS, salva e attiva il flusso.
3. Trigger OBS
Avviano un flusso quando OBS segnala un evento corrispondente. Arrivano come type: "obs"; i dettagli specifici di OBS si trovano sotto meta.
| Trigger | Quando si attiva | Dati utili |
|---|---|---|
| Diretta OBS avviata (OBS Stream Started) | La diretta raggiunge lo stato avviato. | meta.outputState, meta.outputActive |
| Diretta OBS fermata (OBS Stream Stopped) | La diretta raggiunge lo stato fermato. | meta.outputState, meta.outputActive |
| Registrazione OBS avviata (OBS Recording Started) | La registrazione inizia. | meta.outputState |
| Registrazione OBS fermata (OBS Recording Stopped) | La registrazione termina. | meta.outputState |
| Scena OBS cambiata (OBS Scene Changed) | La scena di programma attiva cambia. | meta.sceneName |
| Contenuto multimediale OBS terminato (OBS Media Ended) WebSocket | Termina la riproduzione di un ingresso multimediale. Puoi filtrare in base al Media Source Name esatto. | meta.inputName, meta.inputUuid |
| Buffer replay OBS salvato (OBS Replay Buffer Saved) | OBS termina il salvataggio di un replay. | meta.savedReplayPath |
4. Azioni OBS
| Azione | Configurazione e comportamento | Connessione |
|---|---|---|
| Cambia scena (Change Scene) | Cambia la scena di programma attiva in base al nome esatto della scena. | WebSocket o ripiego sull'API Browser Source |
| Mostra/nascondi sorgente (Toggle Source) | Mostra, nasconde o alterna un elemento della scena. Scene e Group sono campi facoltativi per specificare la destinazione. | WebSocket |
| Imposta sorgente di testo (Set Text Source) | Aggiorna Testo (GDI+) o Testo (FreeType 2), con segnaposto di modello. | WebSocket |
| Controlla sorgente multimediale (Control Media Source) | Riproduci/riprendi, metti in pausa, riavvia, ferma, successivo o precedente. | WebSocket |
| Imposta volume sorgente (Set Source Volume) | Imposta un ingresso da -100 a +26 dB. | WebSocket |
| Aggiorna sorgente browser (Refresh Browser Source) | Ricarica una sorgente browser senza cache. | WebSocket |
| Attiva/disattiva filtro (Toggle Filter) | Attiva, disattiva o alterna un filtro della sorgente con nome. | WebSocket |
| Disattiva/attiva audio (Mute/Unmute Audio) | Silenzia, riattiva o alterna l'audio di un ingresso. | WebSocket |
| Avvia registrazione (Start Recording) | Avvia la registrazione OBS. | WebSocket o ripiego sull'API Browser Source |
| Ferma registrazione (Stop Recording) | Ferma la registrazione OBS. | WebSocket o ripiego sull'API Browser Source |
| Avvia diretta (Start Streaming) | Avvia l'uscita streaming OBS configurata. | WebSocket o ripiego sull'API Browser Source |
| Ferma diretta (Stop Streaming) | Ferma l'uscita streaming OBS. | WebSocket o ripiego sull'API Browser Source |
| Controlla buffer replay (Control Replay Buffer) | Avvia, ferma o alterna il buffer replay. | WebSocket |
| Salva buffer replay (Save Replay Buffer) | Salva il buffer replay attualmente in esecuzione. | WebSocket o ripiego sull'API Browser Source |
Set Text Source e variabili del flusso
Il campo testo supporta i normali segnaposto dei messaggi, ad esempio {username}, {message}, {source}, e {donation}, oltre ai valori aggiunti dai nodi precedenti del flusso, come {counterValue}, {counterTarget}, e {counterRemaining}.
{username}: now {counterValue}, need {counterTarget}
Controlli della sorgente multimediale
Riproduci / Pausa
Riproduci riprende un contenuto in pausa. Pausa mantiene la posizione corrente.
Riavvia / Ferma
Riavvia riparte dall'inizio. Ferma termina la riproduzione e ripristina l'ingresso.
Successivo / Precedente
Scorre gli ingressi che supportano playlist, come Sorgente video VLC. Una Sorgente multimediale con un solo file potrebbe ignorare queste azioni.
Volume, muto e filtri
Imposta volume sorgente (Set Source Volume) usa i dB, come la scala del mixer OBS: 0 dB corrisponde a guadagno invariato, i valori negativi abbassano il volume e -100 dB è di fatto silenzioso. Muto è uno stato separato. Toggle Filter cambia solo lo stato di attivazione di un filtro esistente; non ne modifica le impostazioni.
Buffer replay
Attiva prima il buffer replay in Impostazioni OBS → Output. Usa Controlla buffer replay (Control Replay Buffer) per avviarlo/fermarlo, poi Salva buffer replay (Save Replay Buffer) per scrivere su disco il segmento recente nel buffer.
5. Ricette utili
Messaggio ogni ora mentre OBS è in diretta
Nell'editor Event Flow, scegli Inizia da un modello → Intermedio → Messaggio ogni ora mentre OBS è in diretta (Start with a template → Intermediate → Hourly message while OBS is live). Parte disattivato e contiene tre rami in un solo flusso:
- OBS Stream Started → Set Gate State: ON
- Intervallo di tempo (3600 secondi) → Interruttore ON/OFF → Invia messaggio
- OBS Stream Stopped → Set Gate State: OFF
Entrambe le azioni Set Gate State puntano già allo stesso interruttore, che ha OFF come predefinito. Modifica Invia messaggio (Send Message) per scegliere piattaforma chat (l'esempio usa Twitch) e messaggio. Scegli una piattaforma o All Platforms; Reply to Source non può rispondere a un evento OBS o a un tick del timer.
Connetti Flow Actions a OBS, mantieni connessi Social Stream e la chat di destinazione, poi salva e attiva il flusso prima di avviare la diretta. L'interruttore attende un evento di avvio OBS; caricarlo durante una diretta già in corso non lo imposta su ON. Anche riavviare Social Stream riporta l'interruttore su OFF.
Temporizzazione: l'intervallo segue una propria cadenza, quindi il primo promemoria potrebbe arrivare prima che sia passata un'ora dall'inizio della diretta. I promemoria successivi si ripetono ogni ora mentre l'interruttore è ON. Cambia il valore Time Interval per una frequenza diversa; è misurato in secondi.
Testo del contatore in OBS
Posiziona Imposta sorgente di testo (Set Text Source) dopo il percorso del contatore/controllo e usa:
{username}: now {counterValue}, need {counterTarget}
Esegui qualcosa dopo un video
Contenuto multimediale OBS terminato (OBS Media Ended) (filtra su Intro Video) → Cambia scena (Change Scene) a Main.
Riavvio dei contenuti multimediali controllato dalla chat
Il messaggio è uguale a (Message Equals) !replayintro → condizione autorizzazione → Controlla sorgente multimediale: riavvia (Control Media Source: Restart).
Aggiorna una pagina di avvisi
Il messaggio è uguale a (Message Equals) !refreshalerts → condizione moderatore → Aggiorna sorgente browser (Refresh Browser Source).
Abbassa la musica per un avviso
Imposta volume sorgente (Set Source Volume) a -24 dB → azione di avviso → Ritardo → ripristina a 0 dB.
Flusso di lavoro del replay
Diretta OBS avviata (OBS Stream Started) → Controlla buffer replay: avvia (Control Replay Buffer: Start); un comando attendibile separato esegue Salva buffer replay (Save Replay Buffer).
6. Altri controlli OBS integrati
Social Stream Ninja offre anche controlli OBS Browser Source precedenti nel dock Streaming Chat. Non usano il bridge WebSocket Flow Actions.
| Opzione | Cosa fa | Requisito |
|---|---|---|
| Indicatore della scena OBS corrente | Mostra la scena attiva nel dock Streaming Chat. | Dock caricato dentro OBS con permesso di lettura. |
| Gli ospiti possono usare !cycle | Passa alla scena OBS successiva, con limite di una volta ogni 10 secondi. | Attiva l'opzione nel popup; dock caricato dentro OBS con accesso Advanced. |
| Gli utenti con privilegi possono usare !start / !stop | Avvia o ferma la diretta tramite utenti chat attendibili. | Attiva l'opzione nel popup; dock caricato dentro OBS con permesso di controllo Full/Advanced. |
| Pannello di controllo remoto OBS | Mostra le scene e può cambiarle oppure avviare/fermare diretta e registrazione quando il dock OBS di destinazione concede il livello di controllo necessario. | Dock Streaming Chat associato a un dock in esecuzione dentro OBS. |
| Tester OBS WebSocket | Verifica versione, connessione, scene e singole richieste prima di usare Event Flow. | Apri tester |
7. Risoluzione dei problemi
| Problema | Controlla |
|---|---|
| Non succede nulla | Il flusso è salvato e attivo; Flow Actions è aperto; entrambi usano lo stesso ID di sessione. |
| OBS non si connette | Il server WebSocket è attivo, l'URL è ws://127.0.0.1:4455, e la password corrisponde. La porta 4444 è il vecchio valore predefinito v4. |
| Scena/sorgente/filtro non trovato | Copia il nome OBS esatto. Per la visibilità, imposta Scene o Group quando l'elemento è annidato o fuori dalla scena corrente. |
| Il testo non cambia | Usa Testo (GDI+) o Testo (FreeType 2), verifica il nome dell'ingresso e disattiva Leggi da file. |
| Media Ended non si attiva mai | Usa OBS WebSocket v5 e un vero ingresso multimediale. Un contenuto in loop non raggiunge lo stato terminato. |
| Successivo/Precedente non fa nulla | Usa una sorgente con supporto playlist, come Sorgente video VLC. |
| Il salvataggio del replay non riesce | Attiva il buffer replay nelle impostazioni Output di OBS e avvialo prima di salvare. |
| Le azioni si fermano quando cambia la scena | Disattiva Disattiva la sorgente quando non è visibile nella sorgente browser Flow Actions, oppure mantieni aperta la pagina altrove. |
GetVersion → verifica scene/ingressi → prova la singola richiesta → prova l'intero Event Flow.