Transforma qualquer tablet com navegador, inclusive iPads antigos que já não instalam apps novos, num painel de botões para controlar o OBS Studio: trocar de cena, iniciar a live, gravar e silenciar o microfone.
Apps como Stream Deck Mobile e Touch Portal pedem versões recentes do iOS. O OBS Deck é só uma página web servida pelo seu PC, então roda no Safari de iPads presos em iOS 9, 10 ou 12. Não precisa instalar nada no iPad.
- Transmitir, Gravar e Pausar gravação, com o tempo decorrido no botão.
- Um botão para cada cena, na mesma ordem do OBS, com a cena no ar destacada.
- Mudo para o microfone, o áudio da área de trabalho e as capturas de áudio.
- Iniciar ou encerrar a live e parar a gravação pedem um segundo toque, para evitar acidentes.
- Os botões se atualizam sozinhos quando você muda algo direto no OBS.
- Se o OBS fechar, o deck avisa e reconecta sozinho quando ele voltar.
- Sem dependências: só Python 3, sem
pip install.
- OBS Studio 28 ou mais novo (já vem com o WebSocket embutido).
- Python 3.7 ou mais novo no PC que roda o OBS.
- iPad (ou qualquer tablet/celular) no mesmo Wi-Fi que o PC.
-
Ative o WebSocket no OBS: vá em Ferramentas → Configurações do servidor WebSocket, marque Ativar servidor WebSocket e clique em Mostrar informações de conexão para copiar a senha.
-
Baixe o projeto:
git clone https://github.com/levsan13/StreamDeck-Obs.git
-
Coloque a senha: copie
config.exemplo.jsonparaconfig.jsone troque o valor de"senha". Oconfig.jsonestá no.gitignore, então sua senha não vai parar no GitHub. -
Inicie o servidor: no Windows, dê dois cliques em
iniciar.bat. Em qualquer sistema, rode:python obs_deck.py
O terminal mostra o endereço para abrir no iPad, por exemplo
http://192.168.0.10:8000. -
Abra no iPad: digite esse endereço no Safari.
Na primeira vez, o Windows pergunta se o Python pode usar a rede: permita em redes privadas.
- No Safari, toque em Compartilhar → Adicionar à Tela de Início. O deck passa a abrir em tela cheia, como um app.
- Em Ajustes → Tela e Brilho → Bloqueio Automático, escolha Nunca para a tela não apagar no meio da live.
- Deitado, o deck mostra 4 botões por linha; em pé, 3.
Tudo pode ir no config.json ou ser passado pela linha de comando. A linha de comando tem prioridade.
config.json |
Linha de comando | Padrão | Para que serve |
|---|---|---|---|
senha |
--senha |
vazio | Senha do WebSocket do OBS |
obs_host |
--obs-host |
localhost |
PC onde o OBS roda, se não for o mesmo do script |
obs_porta |
--obs-porta |
4455 |
Porta do WebSocket do OBS |
porta |
--porta |
8000 |
Porta da página que o iPad abre |
audio |
--audio NOME (pode repetir) |
detecta sozinho | Fontes de áudio que aparecem no deck |
Por padrão, a seção de áudio mostra os dispositivos de áudio do OBS (mic e área de trabalho) e as fontes de captura de áudio. Se quiser escolher, liste os nomes exatamente como aparecem no mixer do OBS:
"audio": ["Mic/Aux", "Áudio da área de trabalho", "Música"]| Mensagem no deck | O que fazer |
|---|---|
| Sem conexão com o PC | O obs_deck.py está rodando? O iPad está no mesmo Wi-Fi? O firewall do Windows liberou o Python em redes privadas? |
| OBS não encontrado | Abra o OBS e confira se o servidor WebSocket está ativado (passo 1). |
| Senha do WebSocket incorreta | Copie de novo a senha em Mostrar informações de conexão e cole no config.json. |
| O OBS pede senha | O config.json não existe ou está com a senha vazia. |
iPad (Safari) ──HTTP──▶ obs_deck.py (no PC) ──WebSocket──▶ OBS Studio
deck.htmlé a página dos botões. Foi escrita só com JavaScript ES5,XMLHttpRequeste CSS simples, para funcionar nos Safaris antigos. Ela consulta o estado do OBS a cada segundo.obs_deck.pyserve a página e conversa com o OBS pelo protocolo obs-websocket v5. Usa um cliente WebSocket próprio, só com a biblioteca padrão do Python, e manda os pedidos em lote para responder rápido.
Qualquer aparelho no seu Wi-Fi que abrir o endereço do deck consegue controlar o OBS. Em rede de casa isso não costuma ser problema. Não deixe o servidor rodando em redes públicas.
| Arquivo | Conteúdo |
|---|---|
obs_deck.py |
Servidor: ponte entre o iPad e o OBS |
deck.html |
Página dos botões |
iniciar.bat |
Atalho para iniciar no Windows |
config.exemplo.json |
Modelo do config.json |
docs/ |
Imagens do README |
