1. Conecte Flow Actions ao OBS
OBS WebSocket v5 está integrado ao OBS 28 e posteriores. O Social Stream Ninja o usa para controle completo do OBS e eventos de mídia.
- No OBS, abra Ferramentas → Configurações do servidor WebSocket.
- Ative o servidor WebSocket. Mantenha a porta padrão
4455; defina uma senha se desejar. - No Social Stream Ninja, abra a Flow Actions seção e defina a URL do OBS WebSocket e a senha opcional.
- Copie a URL de Flow Actions e mantenha-a aberta. Uma fonte de navegador do OBS é recomendada para ações de sobreposição/áudio.
- Use: Testador de OBS WebSocket para confirmar a conexão antes de montar um fluxo.
https://socialstream.ninja/actions.html?session=YOUR_SESSION&obsws=ws://127.0.0.1:4455Adicione
&obspw=YOUR_PASSWORD somente quando o OBS exigir autenticação. Adicione &obsdebug=1 para mostrar um pequeno indicador de status da conexão durante o diagnóstico.
Dois modos de conexão com OBS
| Modo | O que suporta | Requisito |
|---|---|---|
| OBS WebSocket v5 | Todos os gatilhos e ações deste guia. | OBS 28+, servidor WebSocket ativado, página Flow Actions aberta. |
| API de fonte de navegador do OBS | Alternativa para trocar cenas, iniciar/parar transmissão, iniciar/parar gravação e salvar o buffer de replay. | Flow Actions carregado dentro do OBS com nível de acesso avançado. Recursos de fonte, filtro, texto, volume, mídia, atualização e fim de mídia ainda exigem WebSocket. |
2. Adicione nós do OBS a um fluxo
- Abra: Editor do Event Flow e crie ou edite um fluxo.
- Arraste um gatilho para a área de edição.
- Expanda OBS Studio na lista de ações e arraste a ação do OBS necessária.
- Conecte o gatilho à ação, configure os nomes exatos de cenas/fontes do OBS, salve e ative o fluxo.
3. Gatilhos do OBS
Eles iniciam um fluxo quando o OBS informa um evento correspondente. Chegam como type: "obs"; os detalhes específicos do OBS estão em meta.
| Acionador | Quando aciona | Dados úteis |
|---|---|---|
| Transmissão do OBS iniciada | A transmissão chega ao estado iniciado. | meta.outputState, meta.outputActive |
| Transmissão do OBS parada | A transmissão chega ao estado parado. | meta.outputState, meta.outputActive |
| Gravação do OBS iniciada | A gravação começa. | meta.outputState |
| Gravação do OBS parada | A gravação para. | meta.outputState |
| Cena do OBS alterada | A cena ativa de programa muda. | meta.sceneName |
| Mídia do OBS encerrada WebSocket | Uma entrada de mídia termina de reproduzir. Opcionalmente, filtre pelo nome exato da fonte de mídia. | meta.inputName, meta.inputUuid |
| Buffer de replay do OBS salvo | O OBS termina de salvar um replay. | meta.savedReplayPath |
4. Ações do OBS
| Ação | Configuração e comportamento | Conexão |
|---|---|---|
| Trocar cena | Troca a cena ativa de programa pelo nome exato da cena. | WebSocket ou alternativa pela API de fonte de navegador |
| Alternar fonte | Mostrar, ocultar ou alternar um item de cena. Cena e Grupo são campos opcionais de destino. | WebSocket |
| Definir fonte de texto | Atualiza Texto (GDI+) ou Texto (FreeType 2), com placeholders de modelo. | WebSocket |
| Controlar fonte de mídia | Reproduzir/retomar, pausar, reiniciar, parar, próximo ou anterior. | WebSocket |
| Definir volume da fonte | Define uma entrada de -100 como +26 dB. | WebSocket |
| Atualizar fonte de navegador | Recarrega uma fonte de navegador sem cache. | WebSocket |
| Alternar filtro | Ativar, desativar ou alternar um filtro de fonte pelo nome. | WebSocket |
| Silenciar/ativar áudio | Silenciar, ativar o som ou alternar uma entrada. | WebSocket |
| Iniciar gravação | Inicia a gravação do OBS. | WebSocket ou alternativa pela API de fonte de navegador |
| Parar gravação | Para a gravação do OBS. | WebSocket ou alternativa pela API de fonte de navegador |
| Iniciar transmissão | Inicia a saída de transmissão configurada no OBS. | WebSocket ou alternativa pela API de fonte de navegador |
| Parar transmissão | Para a saída de transmissão do OBS. | WebSocket ou alternativa pela API de fonte de navegador |
| Controlar buffer de replay | Iniciar, parar ou alternar o buffer de replay. | WebSocket |
| Salvar buffer de replay | Salva o buffer de replay atualmente em execução. | WebSocket ou alternativa pela API de fonte de navegador |
Definir fonte de texto e variáveis do fluxo
O campo de texto aceita placeholders normais de mensagem, como {username}, {message}, {source}, e {donation}, além de valores adicionados por nós anteriores do fluxo, como {counterValue}, {counterTarget}, e {counterRemaining}.
{username}: now {counterValue}, need {counterTarget}
Controles de fonte de mídia
Reproduzir / Pausar
Reproduzir retoma mídia pausada. Pausar mantém a posição atual.
Reiniciar / Parar
Reiniciar começa do início. Parar encerra a reprodução e redefine a entrada.
Próximo / Anterior
Navega por entradas com suporte a playlists, como Fonte de vídeo VLC. Uma fonte de mídia de arquivo único pode ignorar essas ações.
Volume, mudo e filtros
Definir volume da fonte usa dB, correspondendo à escala do mixer do OBS: 0 dB é ganho sem alteração, valores negativos são mais baixos e -100 dB é efetivamente silêncio. Mudo é um estado separado. Alternar filtro muda apenas o estado ativado de um filtro existente; não edita as configurações dele.
Buffer de replay
Primeiro, ative o buffer de replay em Configurações do OBS → Saída. Use Controlar buffer de replay para iniciar/parar e depois Salvar buffer de replay para gravar no disco o segmento recente armazenado no buffer.
5. Exemplos úteis
Mensagem a cada hora enquanto o OBS está ao vivo
No editor do Event Flow, escolha Começar com um modelo → Intermediário → Mensagem a cada hora enquanto o OBS está ao vivo. Começa desativado e contém três ramificações em um único fluxo:
- Transmissão do OBS iniciada → Definir estado da porta: ON
- Intervalo de tempo (3600 segundos) → Interruptor ON/OFF → Enviar mensagem
- Transmissão do OBS parada → Definir estado da porta: OFF
As duas ações Definir estado da porta já apontam para o mesmo interruptor, que começa em OFF. Edite Enviar mensagem para escolher a plataforma de chat (o exemplo usa Twitch) e a mensagem. Escolha uma plataforma ou Todas as plataformas; Responder à fonte não pode responder a um evento do OBS nem a um pulso do temporizador.
Conectar Flow Actions ao OBS, mantenha o Social Stream e o chat de destino conectados, salve e ative o fluxo antes de iniciar sua transmissão. O interruptor aguarda um evento de início do OBS; carregá-lo durante uma transmissão já em andamento não o liga. Reiniciar o Social Stream também redefine o interruptor para OFF.
Temporização: o intervalo segue seu próprio agendamento, então o primeiro lembrete pode chegar antes de uma hora após o início da transmissão. Os seguintes se repetem a cada hora enquanto o interruptor estiver em ON. Altere o valor de Intervalo de tempo para outra frequência; ele é medido em segundos.
Texto de contador no OBS
Coloque Definir fonte de texto após o caminho do contador/verificação e use:
{username}: now {counterValue}, need {counterTarget}
Executar algo após um vídeo
Mídia do OBS encerrada (filtre por Intro Video) → Trocar cena como Main.
Reinício de mídia controlado pelo chat
Mensagem igual a !replayintro → condição de permissão → Controlar fonte de mídia: reiniciar.
Atualizar uma página de alerta
Mensagem igual a !refreshalerts → condição de moderador → Atualizar fonte de navegador.
Abaixar a música durante um alerta
Definir volume da fonte como -24 dB → ação de alerta → Atraso → restaurar para 0 dB.
Fluxo de replay
Transmissão do OBS iniciada → Controlar buffer de replay: iniciar; um comando confiável separado executa Salvar buffer de replay.
6. Outros controles integrados do OBS
O Social Stream Ninja também tem controles antigos de fonte de navegador do OBS no dock de chat da transmissão. Eles não usam a ponte WebSocket de Flow Actions.
| Opção | O que faz | Requisito |
|---|---|---|
| Indicador da cena atual do OBS | Mostra a cena ativa no dock de chat da transmissão. | Dock carregado dentro do OBS com permissão de leitura. |
| Convidados podem usar !cycle | Avança para a próxima cena do OBS, limitado a uma vez a cada 10 segundos. | Ative a opção do popup; dock carregado dentro do OBS com acesso avançado. |
| Usuários privilegiados podem usar !start / !stop | Inicia ou para a transmissão a partir de usuários confiáveis do chat. | Ative a opção do popup; dock carregado dentro do OBS com permissão de controle completo/avançado. |
| Painel remoto de controle do OBS | Exibe cenas e pode trocar cenas ou alternar transmissão/gravação quando o dock de destino no OBS concede o nível de controle necessário. | Dock de chat da transmissão pareado com um dock executado dentro do OBS. |
| Testador de OBS WebSocket | Verifica versão, conexão, cenas e solicitações individuais antes de usar o Event Flow. | Abrir testador |
7. Solução de problemas
| Problema | Verifique |
|---|---|
| Nada acontece | O fluxo está salvo e ativado; Flow Actions está aberto; ambos usam o mesmo ID de sessão. |
| O OBS não conecta | O servidor WebSocket está ativado, a URL é ws://127.0.0.1:4455, e a senha corresponda. A porta 4444 é o padrão obsoleto da v4. |
| Cena/fonte/filtro não encontrado | Copie o nome exato do OBS. Para visibilidade, defina Cena ou Grupo quando o item estiver aninhado ou fora da cena atual. |
| O texto não muda | Use Texto (GDI+) ou Texto (FreeType 2), confirme o nome da entrada e desative Ler de arquivo. |
| Fim de mídia nunca é acionado | Use OBS WebSocket v5 e uma entrada de mídia real. Mídia em loop não chega ao estado encerrado. |
| Próximo/Anterior não faz nada | Use uma fonte com suporte a playlist, como Fonte de vídeo VLC. |
| Falha ao salvar replay | Ative o buffer de replay nas configurações de saída do OBS e inicie-o antes de salvar. |
| Ações param quando uma cena muda | Desative Desligar fonte quando não estiver visível na fonte de navegador de Flow Actions ou mantenha a página aberta em outro lugar. |
GetVersion → confirmar cenas/entradas → testar a solicitação individual → testar o Event Flow completo.