Configurar o OBS Studio
Ingest WHIP nativo, sem plugins. Do clique em "Iniciar Transmissão" ao vídeo no navegador em menos de meio segundo.
Abra uma sessão no painel
Em /dashboard, clique em Criar sessão. O Mequin Live gera um path único e uma stream key válida apenas para essa transmissão.
OBS: Configurações → Transmissão
Em Serviço, escolha WHIP. A opção existe a partir do OBS Studio 30.0 — em versões anteriores não há ingest WebRTC e a latência volta para a casa dos segundos.
Cole as credenciais
Server: a URL WHIP mostrada no painel, no formato https://live.mequin.tech/<path>/whip. Bearer Token: a stream key da sessão (começa com tfk_).
Ajuste a saída para tempo real
Saída → Modo avançado → Transmissão. Use os valores da tabela abaixo. O ponto crítico é o keyframe a cada 1 s: é ele que define quanto tempo um espectador espera para ver a primeira imagem ao entrar.
Iniciar transmissão
Clique em Iniciar Transmissão. O painel troca de aguardando obs para no ar em 1 a 2 segundos. Gere um convite e compartilhe o link.
Saída recomendada
| Parâmetro | Valor | Por que |
|---|---|---|
| Encoder | NVENC H.264 / x264 | AV1 e HEVC não são aceitos pelo WHIP do OBS |
| Rate control | CBR | Bitrate variável causa oscilação no jitter buffer |
| Bitrate | 6000–8000 kbps | 1080p60 de tela; suba só se a rede aguentar |
| Keyframe interval | 1 s | Mais importante que o bitrate para o tempo de entrada |
| Preset | P1 / veryfast (low latency) | Preset lento adiciona dezenas de ms no encode |
| Profile | high | baseline só se algum cliente antigo precisar |
| B-frames | 0 | B-frames obrigam o decoder a reordenar e somam latência |
| Tune (x264) | zerolatency | Desliga lookahead e buffers do encoder |
Se der errado
"Failed to connect to server" / HTTP 401
A stream key não bateu. Copie novamente do painel (ela muda a cada sessão) e confirme que a sessão não foi encerrada. Se a sua build do MediaMTX não repassar o header Authorization: Bearer, use a URL alternativa com credenciais na query: https://live.mequin.tech/<path>/whip?user=obs&pass=<stream-key>. O webhook de autenticação aceita as duas formas.
Conecta, mas o player fica preto
Quase sempre é ICE. A porta UDP 8189 precisa estar liberada e, fora de localhost, o MediaMTX precisa anunciar o IP público em webrtcAdditionalHosts. Clientes atrás de NAT simétrico exigem um servidor TURN.
Como saber que está bom
No player, o painel de estatísticas deve mostrar latência estimada abaixo de 500 ms, buffer abaixo de 150 ms e zero perda crescente. Um teste honesto: abra um cronômetro na tela transmitida e compare com o navegador ao lado.