StreamPulse Origins – The Prototypes That Started It All
·
38 commits
to main
since this release
StreamPulse Origins – The Journey from Raw Scripts to a Microservice
Before StreamPulse became a fully functional microservice with a Flask GUI and SQLite backend, it began as a collection of experimental scripts designed to test real-world RTSP and MJPEG camera health monitoring.
These early prototypes, now available in the legacy_prototypes/ folder, capture the project's evolution step by step — from low-level OpenCV-based testing to multi-threaded heartbeats and data logging.
What These Versions Explored
- RTSP frame capture & timestamp validation
- MJPEG continuous stream handling
- CPU, memory, and network load monitoring
- Latency & jitter calculation
- Multi-camera parallel testing
📂 Included Prototypes
| File | Focus |
|---|---|
| 1-working-rtsp-log-(cv).py | Early OpenCV-based RTSP frame capture & CSV logging |
| 2-me-stream-receive.py | MJPEG stream receiver with system performance tracking |
| 3-rtsp_sender_logger.py | Simulated RTSP camera sender using FFmpeg |
| 3-rtsp_receiver_logger.py | Receiver-side latency and frame drop analysis |
| 4-rtsp_heartbest.py | Multi-threaded RTSP heartbeat system – the direct ancestor of StreamPulse |
Outcome
These experiments helped identify:
- Optimal interval timing for heartbeat checks
- Tradeoffs between OpenCV and FFmpeg performance
- The need for async scheduling over threading
- Why SQLite was chosen for persistent, lightweight logging
Legacy → v1 Transition
All learnings from these prototypes were integrated into StreamPulse v1,
which unified the health monitoring logic, time synchronization, and logging into one stable service.
Timeline: 2024 → Early 2025
License: MIT (same as StreamPulse)