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.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.