Banana Studio
Guides

Guia do usuário do CamRelay

Categories Documentação
On this page

Guia do usuário do CamRelay

O CamRelay transforma seu dispositivo Android em uma câmera RTSP independente. Ele captura vídeo e áudio da câmera e do microfone integrados, faz a codificação no próprio dispositivo e transmite o resultado pela sua rede local — assim, qualquer cliente RTSP, NVR ou player de mídia pode exibir a transmissão ao vivo.

Este guia aborda tudo, desde a primeira abertura até a configuração avançada.

Dica: o CamRelay também oferece uma interface web integrada. Abra http://<device-ip>:8888 em qualquer navegador na mesma rede para controlar a transmissão e alterar as configurações sem tocar no celular.

Primeiros passos

Introdução

O CamRelay é um servidor RTSP autônomo para Android. Não há conta na nuvem nem serviço externo envolvido: o vídeo nunca sai da sua rede, a menos que você decida encaminhá-lo.

O que você pode fazer com o CamRelay:

  • Transmissão RTSP ao vivo — uma URL rtsp:// padrão que funciona com VLC, Frigate, go2rtc, Home Assistant, Blue Iris e a maioria dos softwares de NVR.
  • Conversa bidirecional — ouça o microfone do dispositivo e envie áudio de volta ao dispositivo pelo canal de retorno RTSP.
  • Gravação local — grave a transmissão no armazenamento do dispositivo e gerencie os arquivos pela interface web.
  • Sobreposição no vídeo — insira no vídeo data e hora, nome da câmera, endereço IP, resolução, bateria, desempenho, GPS e velocidade.
  • Interface web — controle a transmissão, altere configurações e navegue pelas gravações a partir de um navegador.
  • ONVIF — o dispositivo se anuncia como uma câmera ONVIF Profile S para que softwares de NVR possam detectá-lo automaticamente.

Configuração inicial

  1. Instale o CamRelay e abra-o. A tela de boas-vindas será exibida.

    CamRelay - Tela de boas-vindas

  2. Toque em Começar. O CamRelay solicitará as permissões necessárias.

    Tela de permissões

  3. Conceda cada permissão:

    Permissão Por que é necessária
    Câmera Captura o vídeo que é transmitido.
    Microfone Captura o áudio e permite a conversa bidirecional.
    Notificações Exibe a notificação do serviço em primeiro plano durante a transmissão.
    Armazenamento Salva as gravações no dispositivo.
  4. No Android 10 e versões posteriores, o CamRelay também solicita a permissão Sobrepor a outros apps. Ela só é necessária para Iniciar automaticamente ao ligar o dispositivo; você pode tocar em Pular por enquanto e concedê-la depois.

  5. Conecte o dispositivo à mesma rede Wi-Fi do cliente que exibirá a transmissão e toque em Iniciar transmissão na tela principal.

  6. Anote as URLs exibidas na tela principal:

    • RTSP — rtsp://<device-ip>:1935/
    • Interface web — http://<device-ip>:8888
    • ONVIF — http://<device-ip>:8889/onvif/device_service

    Toque em qualquer URL para copiá-la para a área de transferência.

Observação: o endereço IP do dispositivo é o endereço na sua rede local. Se o dispositivo se reconectar ao Wi-Fi e receber um novo endereço, as URLs mudam. Atribua um IP estático (ou uma reserva DHCP) no seu roteador para ter um endereço fixo.

Transmissão

Transmissão RTSP

O CamRelay executa um servidor RTSP diretamente no dispositivo. A URL da transmissão é:

rtsp://<device-ip>:1935/

A porta pode ser configurada em Configurações → Portas do servidor → Porta de transmissão RTSP (padrão 1935).

A transmissão fica disponível assim que o app está em execução — não é preciso tocar em Iniciar transmissão para que um cliente RTSP se conecte. Tocar em Iniciar transmissão inicia o codificador e o serviço em primeiro plano, que é o que mantém a transmissão ativa quando o app está em segundo plano.

Transmissão principal

Como conectar a partir de um cliente RTSP

  1. Verifique se o cliente está na mesma rede que o dispositivo.
  2. Abra a URL RTSP acima no cliente.
  3. Se o cliente pedir um protocolo de transporte, TCP é a opção mais confiável em Wi-Fi.

O que afeta a conectividade

  • Isolamento de rede — redes Wi-Fi para convidados e alguns roteadores bloqueiam o tráfego entre dispositivos. Use o mesmo SSID e desative o isolamento de clientes.
  • VPN — uma VPN ativa no dispositivo ou no cliente pode desviar o tráfego da rede local.
  • Firewall — a porta RTSP precisa estar acessível a partir do cliente.
  • Várias interfaces de rede — se o dispositivo tiver Wi-Fi e dados móveis, o CamRelay usa o endereço local acessível. Confira a URL exibida na tela principal em vez de presumir o endereço.

Observação: a tela de boas-vindas menciona RTMP, mas a versão atual transmite apenas via RTSP. A saída RTMP ainda não está disponível.

Iniciar e parar a transmissão

  • Iniciar transmissão — inicia o codificador, o servidor RTSP e o serviço em primeiro plano. O indicador de status muda para Conectando… e depois para Transmitindo.
  • Parar transmissão — para o codificador e o serviço em primeiro plano. Os clientes RTSP são desconectados.
  • Trocar câmera — alterna para a próxima câmera disponível.
  • Botão do microfone — silencia ou reativa a faixa de áudio sem interromper a transmissão.
  • Escurecer tela — escurece a tela durante a transmissão para economizar energia. Toque duas vezes na tela para reativá-la.
  • Modo imersivo — oculta as barras do sistema. Toque na tela para exibir os controles novamente.

Durante a transmissão, a tela principal mostra as URLs RTSP, web e ONVIF, a temperatura atual e um selo REC quando a gravação está ativa.

Dica: abrir a tela de Configurações interrompe a transmissão atual. Para alterar configurações sem interromper a transmissão, use a Interface web.

Transmissão em segundo plano

O CamRelay executa a transmissão dentro de um serviço em primeiro plano, então ela continua quando você muda para outro app ou desliga a tela. Uma notificação persistente mostra o estado atual e oferece a ação Parar.

Configurações de segurança e automação

Opções de automação (Configurações → Segurança e automação):

Opção Efeito
Iniciar automaticamente ao abrir o app Inicia a transmissão assim que o CamRelay é aberto.
Entrar automaticamente no modo imersivo Oculta as barras do sistema automaticamente quando a transmissão começa.
Iniciar automaticamente ao ligar o dispositivo Inicia a transmissão após a reinicialização do dispositivo. Requer a permissão Sobrepor a outros apps no Android 10+.

Como manter a transmissão ativa

  • Desative a otimização de bateria para o CamRelay nas configurações do Android; caso contrário, o sistema pode encerrar o serviço.
  • Mantenha o dispositivo conectado à tomada em sessões longas.
  • A Segurança de temperatura interrompe a transmissão quando o dispositivo esquenta demais e a retoma depois que ele esfria. A Segurança de bateria faz o mesmo quando o nível da bateria está baixo. Ambas têm limites configuráveis de parada/retomada e um aviso de histerese.

Câmera

Seleção de câmera

O CamRelay lista todas as câmeras que o dispositivo disponibiliza, incluindo câmeras lógicas e as lentes físicas por trás delas.

Seleção de câmera

  • Seleção de câmera — escolha a câmera a ser transmitida. Cada item mostra o nome da lente, o ID da câmera e o campo de visão.
  • Configurações específicas da câmera — resolução, taxa de quadros, taxa de bits, OIS e modo espelhado são salvos por câmera, então trocar de câmera restaura a configuração própria daquela câmera.
  • Configurações globais de vídeo — codec, intervalo de quadros-chave, orientação, EIS e HDR se aplicam a todas as câmeras.

Observação: alguns dispositivos disponibilizam uma câmera lógica que combina várias lentes físicas. Selecionar a câmera lógica permite que o sistema troque de lente automaticamente; selecionar uma lente física fixa a transmissão nessa lente.

Resolução, taxa de quadros e taxa de bits

Essas três configurações determinam a qualidade e a largura de banda da transmissão.

Configuração Descrição
Resolução O tamanho da saída. Só são oferecidas as resoluções informadas pela câmera selecionada.
Taxa de quadros (FPS) Quadros por segundo. Valores mais altos deixam o movimento mais fluido; 15–30 FPS costuma ser suficiente para vigilância.
Taxa de bits do vídeo A taxa de bits desejada. Valores mais altos oferecem melhor qualidade e usam mais largura de banda.

Como escolher os valores

  • Comece pela resolução nativa da câmera e reduza-a se o dispositivo esquentar ou a rede tiver dificuldades.
  • Como referência: 1080p a 30 FPS funciona bem com cerca de 2–4 Mbps; 720p a 30 FPS, com cerca de 1–2 Mbps.
  • Se precisar economizar largura de banda, reduza a taxa de quadros antes da resolução — para uma câmera fixa, os detalhes costumam valer mais do que a fluidez.

Codec de vídeo

Configurações de codec de vídeo

Codec Observações
H.265 / HEVC Melhor compressão, compatível com dispositivos mais recentes. Com aceleração de hardware.
H.264 Amplamente compatível e a opção mais segura. Com aceleração de hardware.
AV1 Melhor compressão, mas compatibilidade limitada. Codificação por software.

O CamRelay mostra quais codecs o dispositivo suporta e quantos deles têm aceleração de hardware:

ℹ️ 3 codec(s) encontrado(s) (2 com aceleração de hardware). A codificação por hardware reduz o aquecimento e o consumo de bateria.

Recomendações

  • Use H.264 se estiver em dúvida — todos os clientes são compatíveis.
  • Use H.265 quando seu cliente for compatível e você quiser economizar largura de banda.
  • Evite AV1, a menos que precise especificamente dele: a codificação por software exige muito da CPU e vai esquentar o dispositivo.

Intervalo de quadros-chave

O intervalo de quadros-chave (GOP) controla a frequência com que um quadro de referência completo é enviado.

Valor Efeito
1 s Menor latência, maior largura de banda.
2 s Equilibrado.
5 s Menor largura de banda, maior latência.
10 s Menor largura de banda possível, maior latência.

Valores menores reduzem a latência e melhoram a recuperação após perda de pacotes; valores maiores economizam largura de banda. Para visualização ao vivo, recomenda-se 1 s ou 2 s.

Orientação da câmera

Gire a imagem transmitida de acordo com a forma como o dispositivo está instalado:

  • Paisagem 0°
  • Retrato 90°
  • Paisagem horária 180°
  • Retrato invertido 270°

Use esta opção quando o dispositivo estiver instalado de lado ou de cabeça para baixo e não for possível girá-lo fisicamente.

Estabilização eletrônica de imagem (EIS)

A EIS reduz a trepidação recortando e deslocando a imagem. É útil para um dispositivo na mão ou instalado em um veículo, mas reduz um pouco o campo de visão e adiciona uma pequena latência. Mantenha-a desativada em uma câmera fixa.

HDR

O HDR aumenta a faixa dinâmica para que áreas claras e escuras continuem visíveis. Ajuda em cenas de alto contraste, como uma janela voltada para fora, mas pode reduzir a taxa de quadros máxima e não é compatível com todas as câmeras.

Áudio

Transmissão de áudio

Configurações de áudio

Configuração Descrição
Ativar áudio Inclui uma faixa de áudio na transmissão.
Taxa de bits do áudio A taxa de bits AAC. 128 kbps é um bom padrão; 64 kbps é suficiente para voz.
Ativar supressor de ruído de hardware Usa o supressor de ruído do dispositivo para reduzir o ruído de fundo.

O áudio é codificado em AAC e sincronizado com a faixa de vídeo.

Conversa bidirecional

A conversa bidirecional permite enviar áudio do cliente de volta para o alto-falante do dispositivo pelo canal de retorno RTSP.

Modo de áudio

Modo Descrição
Comunicação por voz Recomendado. Usa cancelamento de eco acústico e oferece suporte completo à conversa bidirecional.
Reprodução de mídia Reprodução de mídia padrão. A conversa bidirecional funciona melhor no modo de comunicação por voz; no modo de reprodução de mídia, pode haver perda de áudio e eco.

Volume de reprodução controla o volume do áudio recebido do cliente.

Observação: a conversa bidirecional requer um cliente compatível com o canal de retorno de áudio RTSP — por exemplo, Frigate, go2rtc ou um visualizador baseado em WebRTC.

Codec de áudio da conversa bidirecional

Codec Observações
OPUS Melhor qualidade e latência (WebRTC nativo).
G.711 ULAW O mais estável para conversa bidirecional. Recomendado.
G.711 ALAW Use apenas se o cliente exigir A-law (Europa).
AAC Somente reprodução — requer transcodificação para conversa bidirecional.

Se a conversa bidirecional não funcionar, experimente primeiro o G.711 ULAW.

Gravação

Gravação de vídeo

Configurações de gravação

Configuração Descrição
Ativar gravação Grava a transmissão no armazenamento do dispositivo.
Duração do segmento de gravação Duração de cada arquivo, em minutos.
Armazenamento máximo (MB) Espaço máximo usado pelas gravações. Os arquivos mais antigos são removidos quando o limite é atingido.

O cartão Informações de gravação mostra onde os arquivos são salvos, quanto espaço está sendo usado, o tamanho estimado de um segmento e a taxa de bits total:

Local: Movies/CamRelay (Armazenamento interno compartilhado) · Armazenamento usado: 0,00 GB / 9,8 GB · Tamanho estimado do arquivo: 16,5 MB/segmento · Taxa de bits total: 1152 kbps (Vídeo 1024 k, Áudio 128 k)

As gravações aparecem no Gerenciador de arquivos da interface web, onde você pode reproduzi-las, baixá-las ou excluí-las.

Formatos de gravação (MP4 / MKV)

Formato Observações
MP4 Amplamente compatível, mas uma queda repentina de energia pode corromper a gravação. Melhor para compatibilidade.
MKV Mais resistente a quedas repentinas de energia, mas com compatibilidade menor. Melhor para confiabilidade da gravação.

Escolha MKV para gravações sem supervisão ou de longa duração e MP4 quando precisar reproduzir os arquivos em vários dispositivos sem conversão.

Sobreposição

As sobreposições são inseridas no vídeo, então aparecem na transmissão RTSP e nas gravações.

Configurações de sobreposição

Data e hora

Exibe a data e a hora atuais no canto do vídeo. Útil como comprovação de quando uma gravação foi feita.

Nome de exibição da câmera

Um rótulo de texto livre exibido na marca d'água. Deixe em branco para usar o nome do dispositivo.

Este nome aparecerá na marca d'água.

Endereço IP e resolução

Mostra o endereço IP do dispositivo e a resolução de transmissão atual. Prático quando você precisa saber a qual endereço se conectar sem abrir o app.

Informações de bateria e desempenho

  • Informações da bateria — o nível atual da bateria.
  • KPI de desempenho — taxa de quadros e taxa de bits, para você confirmar rapidamente que a transmissão está funcionando bem.

GPS e velocidade

Configuração Descrição
Sobreposição de coordenadas GPS Exibe a latitude e a longitude atuais.
Sobreposição de velocímetro Exibe a velocidade atual.
Intervalo de atualização do GPS (ms) Com que frequência a localização é atualizada.
Provedor de localização Qual fonte de localização usar.
Unidade de velocidade A unidade usada pelo velocímetro.

As sobreposições de GPS são úteis para uso como câmera veicular e em dispositivos instalados em veículos. A precisão da localização depende da recepção de GPS do dispositivo; a tela de configurações mostra a precisão atual.

Aparência → Tamanho do texto da sobreposição controla o tamanho de todo o texto sobreposto.

Interface web

Visão geral

O CamRelay oferece uma interface web na porta 8888:

http://<device-ip>:8888

Abra-a em qualquer navegador na mesma rede. A interface web tem quatro abas:

Aba Finalidade
🏠 Principal Pré-visualização ao vivo, controle da transmissão, controles rápidos e status do sistema.
⚙️ Configurações A lista completa de configurações, com opções de recarregar e salvar.
📁 Gerenciador de arquivos Navegue, reproduza, baixe e exclua gravações.
📖 Guia Abre este guia.

A interface web é a forma recomendada de alterar configurações durante a transmissão, porque salvar as configurações reinicia a transmissão automaticamente, sem que você precise pará-la manualmente.

Principal

Interface web — aba Principal, desconectada

Controle da transmissão mostra o status atual e oferece Iniciar transmissão e Parar transmissão.

Controles rápidos ficam disponíveis durante a transmissão:

  • Lanterna — liga ou desliga a lanterna do dispositivo.
  • Controle de exposição — ajusta a compensação de exposição.
  • Zoom digital — amplia a imagem digitalmente.

Os controles rápidos ficam disponíveis quando a transmissão está ativa e são compatíveis com a câmera.

Status do sistema mostra a visibilidade do app, o status da atividade, o nível da bateria, a temperatura, o estado de carregamento e a saúde da bateria. A ação 📱 Reiniciar reinicia o app.

Interface web — aba Principal durante a transmissão

Interface web — controles rápidos e status do sistema

Pré-visualização ao vivo tenta automaticamente o melhor método disponível:

  1. WebRTC (WHEP) — menor latência.
  2. MJPEG — alternativa.
  3. Captura periódica de instantâneos — último recurso, cerca de 1 FPS.
  4. Player externo — abre a URL RTSP em um player nativo.

Você pode forçar um método com Mudar para MJPEG ou Mudar para instantâneo, ou usar Abrir no player externo para enviar a transmissão a um player RTSP no seu computador.

Configurações

Interface web — aba Configurações

Interface web — aba Configurações, continuação

Interface web — aba Configurações, continuação

A aba Configurações reproduz a tela de configurações do app. Dois botões controlam as alterações:

  • 🔄 Recarregar configurações — descarta as alterações não salvas e recarrega os valores atuais do dispositivo.
  • 💾 Salvar configurações — aplica as alterações. A transmissão é reiniciada automaticamente com as novas configurações.

Configurações salvas com sucesso! A transmissão será reiniciada com as novas configurações.

Restaurar padrões restaura a configuração de fábrica.

Gerenciador de arquivos

O Gerenciador de arquivos lista as gravações com nome do arquivo, tamanho, duração e data de modificação.

Ação Descrição
Reproduzir Reproduz a gravação no navegador.
Baixar Baixa o arquivo para o seu computador.
Excluir Exclui o arquivo.
Atualizar Recarrega a lista.
Excluir selecionados Exclui todos os arquivos selecionados.

Nenhuma gravação encontrada. As gravações de vídeo aparecerão aqui quando forem salvas.

Um arquivo que está sendo gravado no momento não pode ser excluído; o CamRelay informa quantos arquivos foram excluídos e ignora os que ainda estão em uso.

Integrações

O CamRelay disponibiliza um stream RTSP padrão, então funciona com qualquer cliente compatível com RTSP. Os exemplos abaixo usam a URL padrão:

rtsp://<device-ip>:1935/

VLC

  1. Abra o VLC.
  2. Escolha Mídia → Abrir fluxo de rede.
  3. Digite rtsp://<device-ip>:1935/ e clique em Reproduzir.

Se a reprodução travar, abra Ferramentas → Preferências → Entrada / Codecs e defina Cache de rede como 1000 ms ou mais.

Frigate

O Frigate pode usar o CamRelay como fonte de câmera. Adicione o stream à configuração do Frigate:

cameras:
  camrelay:
    ffmpeg:
      inputs:
        - path: rtsp://<device-ip>:1935/
          roles:
            - detect
            - record

Para conversa bidirecional, configure o canal de retorno de áudio na seção go2rtc do Frigate e selecione G.711 ULAW como codec de conversa bidirecional no CamRelay.

Observação: o CamRelay não é um app específico para o Frigate. Ele fornece uma fonte RTSP padrão que pode ser usada pelo Frigate ou por qualquer outro NVR.

go2rtc

Adicione o CamRelay como stream em go2rtc.yaml:

streams:
  camrelay: rtsp://<device-ip>:1935/

O go2rtc pode então republicar o stream como WebRTC, MSE ou HLS, e pode retransmitir o canal de retorno de áudio para conversa bidirecional.

Solução de problemas

Problemas de conexão RTSP

  • Confirme se o cliente e o dispositivo estão na mesma rede e se o isolamento de clientes está desativado.
  • Verifique a URL na tela principal: o endereço IP muda quando o dispositivo se reconecta ao Wi-Fi.
  • Experimente o transporte TCP em vez de UDP.
  • Desative qualquer VPN no dispositivo ou no cliente.
  • Verifique se a porta RTSP em Configurações → Portas do servidor corresponde à porta da URL.

Sem vídeo

  • Verifique se há uma câmera selecionada; caso contrário, a tela principal mostra Nenhuma câmera selecionada.
  • Confira se a resolução e a taxa de quadros selecionadas são compatíveis com a câmera.
  • Se o dispositivo estiver superaquecendo, diminua a resolução ou mude para um codec com aceleração por hardware.
  • Experimente o H.264 se o cliente não conseguir decodificar H.265 ou AV1.

Sem áudio

  • Ative Configurações → Áudio → Ativar áudio.
  • Verifique a permissão do microfone.
  • Confirme se o cliente é compatível com áudio AAC.
  • Para conversa bidirecional, mude o codec para G.711 ULAW e o modo de áudio para Comunicação por voz.

Problemas de transmissão em segundo plano

  • Desative a otimização de bateria para o CamRelay.
  • Conceda a permissão Sobrepor a outros apps se você usa a inicialização automática.
  • Verifique a notificação do serviço em primeiro plano: se ela não aparecer, o serviço foi interrompido pelo sistema.
  • Revise os limites de Segurança de temperatura e Segurança da bateria; a transmissão para quando um limite é atingido.

Problemas com a câmera

  • Se a visualização estiver preta, feche outros apps que possam estar usando a câmera.
  • Mude para outra câmera e volte para redefinir a sessão da câmera.
  • Alguns dispositivos não permitem que dois apps usem a câmera ao mesmo tempo.

Problemas de permissão

  • Abra Configurações → Apps → CamRelay → Permissões do Android e conceda acesso à câmera, ao microfone e ao armazenamento.
  • Se uma permissão tiver sido negada permanentemente, o Android deixa de mostrar a caixa de solicitação; conceda-a manualmente nas configurações do sistema.
  • A permissão Sobrepor a outros apps só é necessária para a inicialização automática.

Related app

CamRelay - Câmera IP ao vivo via RTSP

Transforme seu celular Android em uma poderosa câmera de rede RTSP.

Related posts