Sobre o projeto

VLStream Cloud é uma plataforma aberta de Vídeo IoT e gerenciamento inteligente de streams. Ela combina um console de gerenciamento Vue 3 com um backend Spring Boot de múltiplos módulos e visa aplicações de vídeo empresarial, como supervisão de segurança, campi inteligentes, conservação de água e canteiros de obras. Capacidades principais descritas no README: - Gerenciamento de dispositivos de vídeo: registro, agrupamento, etiquetagem, monitoramento de saúde, testes de conexão, controle PTZ e descoberta de streams. - Reprodução multiprotocolo: suporte a dispositivos com protocolo VLStream, câmeras RTSP e dispositivos GB28181, com reprodução no navegador via WebRTC Streamer (RTSP para WebRTC), além de HLS e xgplayer no frontend. - Análise inteligente: solicitações de análise, monitoramento de tarefas em tempo real, gerenciamento de resultados e governança de eventos. - Ciclo de vida de algoritmos: repositório de algoritmos, tarefas de treinamento, anotação de dados, gerenciamento de modelos, conversão OM para Hi3519DV500 e implantação em dispositivos. - Automação de fluxos de trabalho: definição de processos, implantação, tarefas e aprovações baseadas em Flowable. - Permissões empresariais: autenticação Sa-Token, RBAC, permissões de dados, usuários e papéis. - Serviços de plataforma: tarefas agendadas, armazenamento de objetos, integração SMS, monitoramento e XXL-Job. - Operações visuais: painéis, visualizações GIS (Leaflet), componentes CRUD reutilizáveis e layouts de vídeo. Notas de arquitetura: a plataforma separa hardware (IPC/BOX/NVR), servidores de plataforma (VLS para eventos de IA e entrega de modelos, WVP como centro de dispositivos de vídeo, ZLMediaKit como servidor de mídia, além de MQTT/EMQX, MySQL, Redis, MinIO) e clientes (VLStream-ui e WVP UI). Um agendador de treinamento GPU de nó único executa tarefas de treinamento em contêineres Docker em um servidor GPU físico, enfileirando tarefas quando a GPU está ocupada e retendo logs e artefatos de modelos. Modelos treinados são entregues a dispositivos via MQTT usando URLs de download assinadas por HMAC de curta duração. Pilha tecnológica: Java 8, Spring Boot 2.7.11, MyBatis-Plus, Sa-Token, Flowable, Redis/Redisson, Springdoc/Knife4j, Maven; frontend Vue 3.3, Vite, Element Plus, Avue, Pinia, hls.js, xgplayer, Leaflet, Axios. Dependências de execução incluem WVP Server, ZLMediaKit, EMQX, MySQL, Redis e MinIO. Um SDK separado para o lado da câmera, para a placa Hi3519DV500, lida com streaming RTSP/WebRTC, inferência ACL e recepção de modelos, e não é compilado pelos comandos raiz do Maven ou do frontend. A implantação requer JDK 8, Maven 3.6+, MySQL 5.7+, Redis, MinIO ou armazenamento compatível com S3, um broker MQTT, um servidor GPU Linux para treinamento e Node.js para o frontend. Scripts de inicialização de banco de dados são fornecidos para MySQL, Oracle, PostgreSQL e SQL Server, com Flyway gerenciando atualizações de esquema. O projeto é licenciado sob MIT e o README aconselha conectar apenas dispositivos autorizados e cumprir regras de privacidade e proteção de dados.