Skip to content

cuLasss/Cameras-IF

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

Cameras IF / Sentinela IF

Sistema de videomonitoramento institucional que transforma celulares em câmeras gerenciáveis, com transmissão ao vivo via WebRTC, pareamento por QR Code, painel administrativo e acesso remoto seguro por Tailscale.

Este repositório é uma vitrine pública do projeto: apresenta a ideia, a arquitetura, os recursos implementados e os caminhos de expansão. A implementação original nasceu para o IF Sudeste MG - Campus Barbacena, reaproveitando celulares homologados/doados para criar uma solução de monitoramento funcional, acessível e adaptável.

Visão Geral

O Cameras IF foi pensado para ambientes que precisam ampliar a cobertura de câmeras sem depender de infraestrutura cara, IP fixo, abertura de portas no roteador ou configurações manuais complexas de certificado.

Na prática, um celular pareado funciona como ponto de captura de vídeo. Ele publica a imagem para o servidor via WebRTC, enquanto operadores e administradores acessam um painel web para acompanhar as câmeras em tempo real, organizar o grid de monitoramento, gerenciar usuários e manter a configuração do sistema.

O foco do projeto é unir baixo custo, segurança e simplicidade operacional.

Problema Que Resolve

Muitos ambientes precisam de monitoramento visual, mas encontram barreiras comuns:

  • câmeras IP dedicadas podem ser caras para expansão rápida;
  • redes institucionais nem sempre permitem redirecionamento de portas;
  • IP fixo e certificado TLS costumam gerar complexidade operacional;
  • instalações pequenas precisam de uma solução simples de administrar;
  • equipamentos já disponíveis, como celulares, acabam subutilizados.

O projeto responde a esse cenário com uma arquitetura containerizada, acesso privado por tailnet e um fluxo de pareamento que permite transformar dispositivos móveis em câmeras de forma controlada.

Como Funciona

  1. O administrador acessa o painel e cadastra uma câmera.
  2. O sistema gera um QR Code de pareamento temporário.
  3. O celular escaneia o QR Code, recebe um token de dispositivo e passa a publicar vídeo.
  4. O servidor autentica a câmera e encaminha o stream via MediaMTX.
  5. Operadores autorizados visualizam as câmeras em tempo real no painel web.
  6. Status, heartbeat, bloqueio, ativação e organização do grid ficam sob controle administrativo.
flowchart LR
    Phone["Celular pareado<br/>câmera WebRTC"] -->|WHIP + token| Tailnet["Rede privada<br/>Tailscale"]
    Operator["Operador / Admin"] -->|HTTPS privado| Tailnet
    Tailnet --> Nginx["Nginx<br/>proxy reverso"]
    Nginx --> Frontend["Frontend<br/>React + Vite"]
    Nginx --> Backend["Backend<br/>FastAPI"]
    Backend --> DB["PostgreSQL"]
    Backend --> Cache["Redis"]
    Backend --> Media["MediaMTX<br/>WHIP/WHEP"]
    Media -->|WHEP| Operator
Loading

Recursos

  • Transmissão ao vivo com WebRTC usando fluxo WHIP/WHEP.
  • Celulares reaproveitados como câmeras de vigilância.
  • Pareamento por QR Code com token temporário.
  • Token permanente de dispositivo armazenado de forma segura.
  • Painel de administração para câmeras, usuários e configurações.
  • Perfil de administrador e perfil de operador.
  • Grid de monitoramento ao vivo com organização das câmeras.
  • Status operacional das câmeras: online, offline, aguardando pareamento, bloqueada ou desativada.
  • Heartbeat do dispositivo para detectar perda de sinal.
  • Setup Wizard para primeira configuração do servidor.
  • Integração com Tailscale para acesso remoto privado e TLS automático.
  • Backup/restauração de configurações para migração de servidor.
  • Deploy containerizado com Docker Compose.

Onde Pode Ser Aplicado

Embora tenha sido criado para um contexto institucional, a ideia é adaptável para qualquer ambiente que precise de monitoramento visual flexível:

  • escolas, institutos e universidades;
  • portarias, corredores e áreas administrativas;
  • laboratórios, almoxarifados e oficinas;
  • condomínios, estacionamentos e pequenos comércios;
  • obras, eventos e espaços temporários;
  • ambientes com câmeras existentes que possam receber novas camadas de integração.

O modelo também permite expansões para câmeras IP/RTSP tradicionais, sensores, automações e análise inteligente de vídeo.

Segurança

A arquitetura foi desenhada para reduzir superfície de exposição:

  • acesso remoto via Tailscale, sem portas públicas abertas diretamente no servidor;
  • HTTPS com certificado gerenciado automaticamente pela camada de rede privada;
  • autenticação de usuários com tokens e controle de perfil;
  • tokens de dispositivos protegidos por hash;
  • pareamento com validade limitada;
  • setup inicial bloqueado após a configuração;
  • backend isolado em containers e sem acesso amplo ao Docker Socket;
  • separação entre publicação da câmera e visualização do operador.

Stack Técnica

Camada Tecnologias
Frontend React, Vite, React Router, Lucide
Backend FastAPI, SQLAlchemy async, Pydantic
Banco de dados PostgreSQL
Cache e sessões Redis
Streaming MediaMTX, WebRTC, WHIP, WHEP
Rede privada Tailscale / WireGuard
Proxy reverso Nginx
Infraestrutura Docker Compose

Expansões Futuras

O projeto foi pensado para crescer de forma modular. Algumas evoluções naturais:

  • suporte a câmeras IP/RTSP além de celulares;
  • gravação sob demanda, por agenda ou por evento;
  • detecção de movimento;
  • alertas por e-mail, WhatsApp, push ou painel;
  • visão por mapa/planta do ambiente;
  • multiunidade para gerenciar mais de um campus ou prédio;
  • integração com IA para classificação de eventos;
  • logs e trilhas de auditoria mais completas;
  • modo PWA dedicado para o dispositivo-câmera;
  • armazenamento externo em NAS, S3 ou outro backend de mídia.

Status Do Projeto

O MVP contempla o fluxo principal de instalação, pareamento, transmissão e monitoramento:

  • setup inicial do servidor;
  • cadastro e gestão de câmeras;
  • pareamento por QR Code;
  • transmissão via celular;
  • visualização ao vivo por operador;
  • painel administrativo;
  • backup e migração de configurações.

As próximas fases devem priorizar robustez operacional, gravação, alertas e integrações com outros tipos de câmera.

Sobre Este Repositório

Este repositório público foi criado para apresentar o Cameras IF como projeto de portfólio e demonstrar a proposta técnica da solução. Ele resume a arquitetura e o funcionamento do sistema sem expor detalhes sensíveis de operação ou configuração de ambientes reais.

Autor

Desenvolvido por cuLasss, com foco em aplicações web, infraestrutura containerizada, redes privadas e soluções práticas para ambientes institucionais.

About

Sistema de videomonitoramento institucional com celulares como câmeras, WebRTC em tempo real, pareamento por QR Code e acesso seguro por Tailscale.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors