About this project

VLStream Cloud is an open-source Video IoT and intelligent stream management platform. It pairs a Vue 3 management console with a Spring Boot multi-module backend and targets enterprise video applications such as safety supervision, smart campuses, water conservancy and construction sites. Core capabilities described in the README: - Video device management: registration, grouping, tagging, health monitoring, connection tests, PTZ control and stream discovery. - Multi-protocol playback: support for VLStream protocol devices, RTSP cameras and GB28181 devices, with browser playback via WebRTC Streamer (RTSP to WebRTC), plus HLS and xgplayer in the frontend. - Intelligent analysis: analysis requests, real-time task monitoring, result management and event governance. - Algorithm lifecycle: algorithm warehouse, training tasks, data annotation, model management, Hi3519DV500 OM conversion and device deployment. - Workflow automation: Flowable-based process definition, deployment, tasks and approvals. - Enterprise permissions: Sa-Token authentication, RBAC, data permissions, users and roles. - Platform services: scheduled jobs, object storage, SMS integration, monitoring and XXL-Job. - Visual operations: dashboards, GIS views (Leaflet), reusable CRUD components and video layouts. Architecture notes: the platform separates hardware (IPC/BOX/NVR), platform servers (VLS for AI events and model delivery, WVP as the video-device center, ZLMediaKit as media server, plus MQTT/EMQX, MySQL, Redis, MinIO) and clients (VLStream-ui and WVP UI). A single-node GPU training scheduler runs training jobs in Docker containers on one physical GPU server, queuing jobs when the GPU is busy and retaining logs and model artifacts. Trained models are delivered to devices over MQTT using short-lived HMAC-signed download URLs. Technology stack: 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. Runtime dependencies include WVP Server, ZLMediaKit, EMQX, MySQL, Redis and MinIO. A separate camera-side SDK for the Hi3519DV500 board handles RTSP/WebRTC streaming, ACL inference and model reception, and is not built by the root Maven or frontend commands. Deployment requires JDK 8, Maven 3.6+, MySQL 5.7+, Redis, MinIO or S3-compatible storage, an MQTT broker, a Linux GPU server for training, and Node.js for the frontend. Database initialization scripts are provided for MySQL, Oracle, PostgreSQL and SQL Server, with Flyway managing schema upgrades. The project is MIT licensed and the README advises connecting only authorized devices and complying with privacy and data-protection rules.