Usando todos os recursos do CamRelay no Frigate NVR
Transforme um celular Android sobrando em uma câmera para o Frigate NVR: o CamRelay transmite RTSP com áudio, e o go2rtc integrado ao Frigate recebe o sinal para gravação, visualização ao vivo com som e áudio bidirecional. Passo a passo, com um config.yml completo.
On this page
Usando todos os recursos do CamRelay no Frigate NVR
O CamRelay leva um celular Android para o Frigate por meio de uma única URL RTSP. O go2rtc, que já vem integrado ao Frigate, recebe essa transmissão e a compartilha com o gravador, a visualização ao vivo e o canal de áudio bidirecional.
O CamRelay é um app da Banana Studio que transforma o celular em uma câmera IP na sua rede local. Ele transmite vídeo H.264 ou H.265 com áudio Opus, G.711 ou AAC. Tem interface web, é compatível com ONVIF e recebe áudio de volta de quem está assistindo pelo backchannel RTSP.
Fluxo de dados: celular com o CamRelay → go2rtc (dentro do Frigate) → gravação, visualização ao vivo com som, áudio bidirecional.
A configuração abaixo segue o Frigate 0.16. Algumas chaves podem mudar em versões posteriores, então confira a documentação oficial do Frigate.
Recursos do CamRelay no Frigate
Os quatro primeiros recursos chegam ao Frigate pelo go2rtc. Os demais são configurados no app e mantêm a transmissão funcionando 24 horas por dia, 7 dias por semana.
| Recurso do CamRelay | Uso no Frigate | Onde configurar |
|---|---|---|
| Transmissão RTSP H.264/H.265, resolução e FPS da câmera do celular | Gravação, detecção, visualização ao vivo | go2rtc, passo 2.1 |
| Áudio G.711 (PCMU/PCMA), Opus ou AAC | Som na visualização ao vivo e nas gravações | Codec no app, passo 2.2 |
| Áudio bidirecional (backchannel RTSP) | Botão de microfone na visualização ao vivo | WebRTC + HTTPS, passo 2.3 |
| Overlays de data e hora, nome da câmera, IP, bateria e temperatura, coordenadas GPS e velocidade | Gravados na imagem que o Frigate registra | No app, passo 1 |
| Início automático ao ligar, tela escurecida, pausa por superaquecimento ou bateria fraca | Evita que a transmissão caia | No app, passo 1 |
| Gravação MP4 no celular, gerenciamento de arquivos pelo navegador | Gravações de backup fora do Frigate | No app, passo 1 |
| Interface web | Conferir imagem e som, mudar configurações sem parar a transmissão | Passo 1 |
Antes de começar
Você vai precisar de:
- Um servidor Frigate instalado e funcionando (veja o guia de instalação do Frigate), na mesma rede local que o celular.
- Um celular Android com o CamRelay instalado, ligado na tomada o tempo todo e com IP fixo configurado no roteador.
- No Android 17: permita ao CamRelay o acesso à rede local (o Android mostra essa permissão como Dispositivos por perto). Sem ela, o Frigate não consegue se conectar ao celular. Veja o artigo sobre o CamRelay 1.0.5.
O contêiner do Frigate precisa expor estas portas para usar todos os recursos do CamRelay:
| Porta | Usada para |
|---|---|
| 8971 | Interface web HTTPS do Frigate, necessária para o áudio bidirecional |
| 8554 | Retransmissão RTSP do go2rtc |
| 8555 TCP e UDP | WebRTC: visualização ao vivo com som e áudio bidirecional |
Passo 1: Configure o CamRelay
O CamRelay segue o idioma do celular; os nomes das configurações abaixo são os em português do Brasil. Atenção: abrir as Configurações interrompe a transmissão. Com o CamRelay já transmitindo, você pode mudar as configurações pela interface web sem parar a transmissão.
1.1 Porta RTSP
A seção Portas do Servidor mostra a Porta de Transmissão RTSP (padrão 1935) e a Porta da Interface Web (padrão 8888). Os valores padrão funcionam bem.

1.2 Vídeo
- Em Seleção de Câmera, escolha a câmera que será usada (a câmera traseira costuma ter imagem melhor).
- Abra as configurações dessa câmera e escolha Resolução, Taxa de Quadros (FPS) e Bitrate de Vídeo. As resoluções e taxas de quadros disponíveis dependem da câmera do celular.
- Em Configurações Globais de Vídeo → Codec de Vídeo, escolha H.264 para que os navegadores consigam reproduzir a visualização ao vivo.
- Deixe o Intervalo de Key-frames (GOP) em 1s (o padrão) para que a visualização ao vivo abra rápido.


Para vigilância, 1080p a 15 FPS é suficiente e não pesa no servidor do Frigate. O H.265 economiza banda, mas o Frigate precisa transcodificá-lo para o navegador (veja o passo 2.2).
1.3 Áudio
Em Configurações de Áudio, ative Habilitar Áudio. O codec de áudio da transmissão é escolhido em Áudio Bidirecional → Codec de Áudio Bidirecional. Essa única configuração vale tanto para o som enviado quanto para o áudio bidirecional:
- G.711 ULAW: recomendado para o Frigate, reproduz diretamente tanto em MSE quanto em WebRTC (veja o passo 2.2).
- OPUS: o padrão a partir do Android 10, som mais limpo, mas só reproduz via WebRTC.
- G.711 ALAW: só se o dispositivo que recebe o áudio exigir A-law.
- AAC: apenas reprodução; o áudio bidirecional precisa de transcodificação.
Deixe o Modo de Áudio Bidirecional em Comunicação de Voz: ele tem cancelamento de eco, então o áudio bidirecional não gera microfonia.

1.4 Overlays, gravação e funcionamento 24/7
- Overlay de Vídeo: mostre a data e hora, um nome de câmera (Nome da Câmera; deixe em branco para usar o nome do aparelho), o endereço IP, bateria e temperatura, coordenadas GPS ou um velocímetro. Os overlays são desenhados no próprio vídeo, então também aparecem nas gravações do Frigate. Todos vêm desativados por padrão.
- Configurações de Gravação: ative Habilitar Gravação para ter uma cópia de backup no celular. Os arquivos MP4 vão para
Movies/CamRelay, divididos conforme a Duração do Segmento de Gravação (em minutos). Quando o Armazenamento Máximo (MB) é atingido, os arquivos mais antigos são apagados. - Segurança & Automação: ative Início automático ao ligar o Dispositivo para que o CamRelay volte a transmitir depois que o celular reiniciar. No Android 10 e posteriores, o app também precisa da permissão para sobrepor outros apps. Proteção de Temperatura e Proteção de Bateria pausam a transmissão quando o celular esquenta demais ou a bateria fica fraca, e a retomam quando tudo volta ao normal.
- Otimização de Bateria: confira se a otimização de bateria está desativada para o CamRelay, para que o Android não o encerre em segundo plano.



1.5 Inicie a transmissão e copie a URL
Volte à tela principal e toque no botão de play. A barra no topo mostra a resolução, o FPS, o bitrate e os codecs em uso. No canto inferior aparecem três endereços, cada um com um botão de copiar:
rtsp://<phone-ip>:1935/: a URL RTSP para o Frigate.http://<phone-ip>:8888: a interface web do CamRelay.http://<phone-ip>:8889/onvif/device_service: o serviço ONVIF.

Para uma câmera que fica sempre no mesmo lugar, toque no ícone de lua (Escurecer Tela) para apagar a tela. Isso economiza energia e evita marcas permanentes em telas OLED. Toque duas vezes para acender de novo.
Os exemplos abaixo usam rtsp://192.168.1.50:1935/; troque pela URL que o CamRelay mostrar. A versão atual do CamRelay ainda não pede login no RTSP, então use-o apenas em uma rede de confiança.
Em breve: a próxima atualização do CamRelay permite definir um usuário e uma senha para proteger a transmissão RTSP. Aí basta incluí-los na URL do go2rtc, por exemplo
rtsp://user:[email protected]:1935/.
Você pode testar a transmissão a partir do servidor do Frigate com o ffprobe:
ffprobe -rtsp_transport tcp rtsp://192.168.1.50:1935/
A saída deve listar uma faixa de vídeo h264 e uma faixa de áudio (pcm_mulaw com G.711 ULAW, opus com OPUS).
Passo 2: Configure o go2rtc no Frigate
O go2rtc dentro do Frigate é o único que se conecta ao celular. Ele puxa a transmissão RTSP do CamRelay uma única vez e a compartilha com a gravação, a detecção, a visualização ao vivo (MSE, WebRTC) e o áudio bidirecional. O próprio Frigate lê de rtsp://127.0.0.1:8554/camrelay, então o celular nunca precisa atender várias conexões ao mesmo tempo. Assim ele esquenta menos e economiza bateria.
2.1 Adicione a transmissão
Adicione um bloco go2rtc ao ~/frigate/config/config.yml:
go2rtc:
streams:
camrelay: # mesmo nome da câmera no Frigate
- rtsp://192.168.1.50:1935/ # a URL que o CamRelay mostra
webrtc:
candidates:
- 192.168.1.100:8555 # IP do servidor Frigate
- stun:8555
- Uma linha RTSP basta. Com áudio G.711 ou Opus, o go2rtc repassa vídeo e som direto para o navegador, sem transcodificação
ffmpeg:. A mesma linha RTSP também carrega o canal de áudio bidirecional. webrtc.candidatesé obrigatório ao usar Docker puro; sem ele, o WebRTC e o microfone não funcionam na rede local. As portas 8555 TCP/UDP foram abertas em "Antes de começar".- Quando a transmissão tem o mesmo nome da câmera, o Frigate a usa automaticamente na visualização ao vivo. Caso contrário, defina
live.streamspara a câmera.
2.2 Codecs e áudio
Configure o CamRelay com vídeo H.264. O G.711 é a opção de áudio mais simples. Segundo a documentação do Frigate, o MSE (a visualização ao vivo padrão) reproduz AAC ou PCMA/PCMU, e o WebRTC (usado no áudio bidirecional) reproduz Opus ou PCMA/PCMU. Só o G.711 funciona diretamente nos dois.
| Áudio do CamRelay | MSE | WebRTC | Linha extra no go2rtc |
|---|---|---|---|
| G.711 ULAW / ALAW (PCMU/PCMA) | Sim | Sim | Nenhuma |
| OPUS | Não | Sim | ffmpeg:camrelay#audio=aac para ouvir no MSE |
| AAC | Sim | Não | ffmpeg:camrelay#audio=opus para o WebRTC |
O Opus soa mais limpo que o G.711 (qualidade de telefone, 8 kHz) se você assiste principalmente via WebRTC. Se precisar usar H.265, adicione uma linha de transcodificação de vídeo e mantenha a linha RTSP:
go2rtc:
streams:
camrelay:
- rtsp://192.168.1.50:1935/
- "ffmpeg:camrelay#video=h264#hardware" # cópia H.264 para os navegadores
2.3 Áudio bidirecional
Enquanto transmite, o CamRelay está sempre pronto para receber áudio pelo backchannel RTSP; não há nenhuma opção para ativar. O go2rtc abre esse canal a partir da linha RTSP do passo 2.1, sem configuração extra.
Para falar, abra o Frigate via HTTPS na porta 8971, vá até a visualização ao vivo da câmera e toque no microfone; o Frigate muda para WebRTC sozinho. Sua voz sai pelo alto-falante do celular, no volume definido em Volume de Reprodução no CamRelay.
Se outro app também precisar falar diretamente com o celular, adicione #backchannel=0 ao final da URL RTSP para que o go2rtc não fique segurando o canal.
2.4 Adicione a câmera ao Frigate
Adicione um bloco cameras abaixo do bloco go2rtc. A câmera lê a transmissão de volta do go2rtc em vez de se conectar ao celular:
cameras:
camrelay:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/camrelay # a transmissão do go2rtc do passo 2.1
input_args: preset-rtsp-restream
roles:
- record
- detect # exigido pelo Frigate, nada mais a configurar
record:
enabled: true
O CamRelay envia uma única transmissão (não existe substream), então a câmera a usa tanto para gravação quanto para detecção.
Reinicie e confira:
docker compose restart frigate
docker logs -f frigate
Para verificar só o go2rtc, adicione temporariamente a porta 1984:1984 ao docker-compose e abra http://<server-ip>:1984. A transmissão camrelay deve ter uma fonte RTSP com vídeo H264 e áudio PCMU/PCMA ou OPUS. Quando o CamRelay aparecer na página inicial do Frigate, está pronto.
Passo 3: config.yml completo
O arquivo abaixo contém só o que o CamRelay precisa: a transmissão no go2rtc, o WebRTC, o login (para o HTTPS, exigido pelo áudio bidirecional) e a gravação com som.
go2rtc:
streams:
camrelay:
- rtsp://192.168.1.50:1935/ # a URL que o CamRelay mostra, H.264 + G.711 ULAW
webrtc:
candidates:
- 192.168.1.100:8555 # IP do servidor Frigate
- stun:8555
auth:
enabled: true
cameras:
camrelay:
ffmpeg:
inputs:
- path: rtsp://127.0.0.1:8554/camrelay
input_args: preset-rtsp-restream
roles: [record, detect] # detect: exigido pelo Frigate
record:
enabled: true
live:
streams:
CamRelay: camrelay
version: 0.16-0
Solução de problemas
A maioria dos problemas ao adicionar o CamRelay ao Frigate está na URL da transmissão, nos codecs ou na rede.
| Sintoma | Causa comum | Solução |
|---|---|---|
| A câmera mostra "No frames received" | URL ou porta errada, CamRelay não está transmitindo, ou o Android o encerrou em segundo plano | Copie de novo a URL na tela principal do CamRelay; teste com o ffprobe; abra http://<ip>:1984 (se exposto) para ver se o go2rtc está recebendo a transmissão |
| Não conecta, mesmo no mesmo Wi-Fi | Celular com Android 17 sem acesso à rede local; "isolamento de clientes" no roteador; rede de convidados; VPN | Permita Dispositivos por perto para o CamRelay; desative o isolamento de clientes/AP; coloque o servidor e o celular na mesma rede principal |
| Imagem travando ou cortada | Pacotes UDP perdidos | Adicione #transport=tcp à URL no go2rtc |
| A visualização ao vivo não reproduz no navegador | Transmissão H.265 ou webrtc.candidates ausente |
Escolha H.264 no CamRelay, ou transcodifique com ffmpeg:...#video=h264; defina webrtc.candidates |
| A conexão cai de vez em quando | Wi-Fi instável, otimização de bateria do Android, celular superaquecendo | Use IP fixo, mantenha o celular carregando, desative a otimização de bateria para o CamRelay, ative Início automático ao ligar o Dispositivo, use o botão de escurecer a tela; acompanhe a temperatura no topo da tela do CamRelay; confira os logs do Frigate em Settings → System → Logs |
| Sem som na visualização ao vivo | Habilitar Áudio desativado, ou assistindo em MSE enquanto o CamRelay envia OPUS | Ative o áudio no CamRelay; escolha G.711 ULAW para ouvir som tanto no MSE quanto no WebRTC |
| O microfone não funciona | Frigate aberto via HTTP em vez de HTTPS, ou porta 8555 ausente | Abra o Frigate em https://<ip>:8971; exponha a porta 8555 TCP/UDP e defina webrtc.candidates |
Ao pedir ajuda nas GitHub Discussions do Frigate, inclua seu arquivo de configuração, o log de inicialização e a saída do ffprobe para a transmissão do CamRelay. Para dúvidas sobre o CamRelay, toque em Enviar feedback na tela Sobre do app.
Baixe o CamRelay no Google Play
Encontre mais novidades, guias e apps da Banana Studio em xnano.net.
Fontes: documentação de Live View do Frigate para o go2rtc; o guia do usuário do CamRelay e a página no Google Play para o CamRelay.
Related app
CamRelay - Câmera IP ao vivo via RTSP
Transforme seu celular Android em uma poderosa câmera de rede RTSP.
Related posts
Como transformar um celular Android antigo em câmera de segurança
Dê uma segunda vida a um celular Android antigo como câmera de segurança: posicione bem, mantenha na tomada, deixe o CamRelay iniciar sozinho depois de reiniciar e assista ou grave a câmera em qualquer navegador na sua Wi-Fi.
Como transformar um celular Android em uma câmera ao vivo
Transforme qualquer celular Android em uma câmera ao vivo em poucos minutos com o CamRelay: permita o acesso, toque no botão play e assista à transmissão em qualquer navegador na sua Wi-Fi. Sem conta, sem nuvem, nada para instalar no aparelho de visualização.