Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

readme.md

StreamPulse v1.1 – Initial GUI-Based Microservice

This version represents the first stable release of StreamPulse, introducing a modular two-part architecture for monitoring the operational health of heterogeneous IP camera networks using RTSP and MJPEG streams.


Overview

StreamPulse v1 combined a lightweight backend service for camera health monitoring with a Flask-based Web GUI for visualization and configuration.

It was designed to handle small-to-medium camera deployments (up to ~100 streams) on single-board computers such as the Raspberry Pi.


Core Features

  • RTSP & MJPEG Support – Heartbeat check for each stream type
  • Frame Capture Test – Verifies camera activity by fetching a frame per cycle
  • SQLite Logging – Records status, timestamp, and latency for each stream
  • Flask Web GUI – Real-time dashboard to view stream uptime and last check
  • Config File Sync – YAML-based configuration for easy editing and portability
  • Threaded Monitoring – Parallelized stream health checks for efficiency
  • Docker-Ready Build – Official devprincekumar/streampulse:1.1 image for instant deployment

GUI Overview

The web interface introduced the core visualization layer of StreamPulse:

  • Color-coded status (🟢 Healthy, 🔴 Offline)
  • Last checked timestamp and latency
  • Stream names and corresponding protocols (RTSP/MJPEG)
  • Configurable heartbeat interval via settings
  • Simple admin login (admin / admin123)

image image image


Test Streams

For users without their own cameras, v1 supported testing with public sources from: 🔗 Insecam – Public IP Cameras Directory

Example YAML:

streams:
  - name: TestCam
    url: http://91.191.213.49:8081/mjpg/video.mjpg