Como Transformar um Celular Android Antigo em um Sistema de Vigilância Inteligente com IA
Quase toda casa tem um smartphone Android antigo pegando poeira em uma gaveta. A tela está intacta, a câmera é razoável, mas a bateria só dura meio dia ou o processador não consegue lidar com apps modernos. Geralmente esses dispositivos são passados para parentes ou esquecidos para sempre. Recentemente encontrei um repositório interessante chamado CCTV-Smartphone-AI-Monitoring (o autor chama o sistema de Sentinel), que oferece uma forma de usar esse gadget de forma útil.
O projeto captura vídeo do smartphone pela rede local, executa a gravação em um PC e conecta redes neurais multimodais para reconhecer o que está acontecendo no quadro.

O Que Tem Por Trás do Sentinel
A ideia de transformar um smartphone em câmera de vigilância não é nova, mas a maioria das soluções prontas esbarra em dois problemas: ou são limitadas a serviços pagos de nuvem chineses, ou oferecem apenas um stream RTSP sem análise decente. O Sentinel resolve ambos os problemas de uma vez.
O sistema é dividido em duas partes:
- CamFlow — um app leve para Android 8.0+ que captura o feed da câmera e envia frames JPEG via HTTP POST para o servidor.
- Um componente de servidor em Python (Flask + OpenCV) — recebe o stream, mantém um buffer de frames, organiza o streaming no navegador, escreve arquivos no disco e gerencia as chamadas de IA.
Todo o vídeo e logs permanecem estritamente na sua rede local. Apenas frames individuais são enviados externamente se você decidir conectar uma rede neural de nuvem para análise de eventos.

Como Funciona o Pipeline com Economia de Tokens
Enviar um stream de vídeo de 25 fps diretamente para uma rede neural multimodal moderna vai custar caro para qualquer desenvolvedor. O autor do Sentinel optou por uma abordagem comprovada de dois níveis:
Primeiro, a visão computacional clássica baseada em OpenCV assume o controle. O módulo motion_trigger calcula a diferença entre frames consecutivos. Enquanto nada está acontecendo na sala, o servidor permanece no estado SLEEP e não gasta recursos da API.
Assim que o movimento excede o limite definido, o sistema muda para o estado OBSERVE. É quando o modelo de visão entra em ação. Ele analisa o frame, verifica a presença de pessoas, avalia o nível de risco e retorna um JSON estrito:
{
"has_person": true,
"person_count": 1,
"activity": "standing",
"risk_level": "info",
"confidence": 0.95,
"summary": "Человек стоит около рабочего стола."
}
Se uma pessoa realmente permanece no frame por mais tempo que o limite Dwell Threshold, o evento é registrado no banco de dados ai_events.jsonl e exibido no dashboard. Quando o movimento para, o sistema aguarda uma pausa de End Grace e volta a dormir.

Principais Funcionalidades do Projeto
Streaming de vídeo sem plugins. A interface web entrega o feed ao vivo via MJPEG. A latência via Wi-Fi doméstico é mínima, e o vídeo abre em qualquer navegador sem instalar software.
Integração flexível com provedores de modelos. O projeto foi originalmente construído em torno do Volcengine Ark chinês, mas na versão 1.1 o autor adicionou um cliente universal. Agora você pode conectar OpenAI (GPT-4o-mini), Google Gemini, DashScope (Qwen VL), SiliconFlow ou um gateway local com API compatível com OpenAI.
Personalização de comportamento através de prompts. As configurações do dashboard incluem campos para contexto de longo prazo (Scene Profile) e foco operacional (Session Focus). Você pode escrever diretamente na interface web: "Este é um corredor de laboratório. Preste atenção se alguém estiver carregando caixas ou permanecendo na porta por mais de 10 segundos."
Descoberta automática de rede. O app CamFlow não requer inserir manualmente o endereço IP do PC — ele pode encontrar o servidor em execução via broadcast UDP.
Segmentação de arquivo. O vídeo é gravado localmente em blocos por temporizador (por exemplo, segmentos de 5 ou 10 minutos) com codecs avc1, mp4v ou XVID para escolher.

Como Implantar o Projeto
Você vai precisar de um PC com Python 3.9+ e um smartphone rodando Android.
Clone o repositório e instale as dependências:
git clone https://github.com/suzuran0y/CCTV-Smartphone-AI-Monitoring.git
cd CCTV-Smartphone-AI-Monitoring
python -m venv venv
# На Windows: venv\Scripts\activate
# На Linux/macOS: source venv/bin/activate
pip install -r requirements.txt
As dependências incluem o conjunto padrão: Flask, OpenCV, NumPy e o cliente do Ark SDK.
Inicie o servidor:
python server.py
O console vai exibir um endereço local como http://127.0.0.1:5000/ para o navegador e um IP de rede http://192.168.x.x:5000/ para o smartphone.
Instale o APK da pasta PhoneCamSender/CamFlow-v1.0.0-beta.apk no seu celular (ou compile o projeto via Android Studio — o código é aberto). Inicie, conceda acesso à câmera, conecte ao Wi-Fi e insira o IP do servidor.
A captura de frames está desativada por padrão no dashboard do PC por segurança. Pressione o botão Enable Ingest, e o stream ao vivo aparecerá no navegador.

Conectando Seu Próprio Provedor de IA
Se quiser habilitar a análise de IA, ative AI Monitoring no painel direito do dashboard. Selecione o Provider apropriado, especifique o Model ID e insira a chave da API.
Por exemplo, para trabalhar com um servidor local compatível ou OpenAI, basta preencher a configuração:
{
"ai_provider": "openai",
"ai_model": "gpt-4o-mini",
"ai_api_key": "sk-..."
}
Os parâmetros também podem ser passados via variáveis de ambiente (AI_PROVIDER, AI_MODEL, AI_API_KEY). O servidor valida as respostas do modelo e garante que a estrutura dos campos não quebre a interface web.
Onde Isso Pode Ser Útil
O Sentinel é adequado para experimentos locais em pequena escala:
- Monitorar uma oficina ou laboratório onde você não pode transmitir vídeo para serviços de nuvem de terceiros.
- Coletar um dataset anotado com descrições textuais de situações anômalas.
- Observar animais de estimação em um apartamento com notificações de alertas estruturadas.
- Aprender a vincular CV clássica (detecção de movimento) com LLMs/VLMs pesados sem custos excessivos.
Em Resumo
O projeto se mostrou um protótipo de engenharia limpo e prático. Não há frameworks pesados ou magia desnecessária aqui: uma arquitetura clara de FrameBuffer, testes pytest funcionais e um cliente Android funcional incluído de fábrica.
Se você tem procurado uma desculpa para usar um celular antigo e experimentar modelos multimodais em tempo real, confira o repositório suzuran0y/CCTV-Smartphone-AI-Monitoring.
Projetos relacionados