How lossless1024/streamonitor works
StreaMonitor monitors configured live-stream accounts, checks their status through site-specific adapters, records available streams, and exposes lifecycle controls and recording/status views through local console, ZeroMQ, and web interfaces. The README documents site coverage, selectable resolutions, and recording management. Some central runtime files (notably Bot and downloader implementations) were not sampled, so their internal call wiring is represented only where supported by the tree or excerpts.
Main entry points: manager.py Command manager · bot.py Streamer bots · Downloader.py Downloader entry · downloaders Stream downloaders
Components 19
Monitoring and recording
- Downloader entry
Downloader.py - Streamer bots
streamonitor/bot.py - Site adapters
streamonitor/sites - Stream downloaders
streamonitor/downloaders - Bulk status polling
streamonitor/managers/bulk_status_manager.py
Control interfaces
- Command manager
streamonitor/manager.py - Console control
streamonitor/managers/climanager.py - ZeroMQ control
streamonitor/managers/zmqmanager.py - Remote controller
Controller.py
Web and recordings
- Web interface
streamonitor/managers/httpmanager/httpmanager.py - Web view helpers
streamonitor/managers/httpmanager/utils - Video metadata
streamonitor/models/video_data.py
Configuration and status
- Recorded videos
- Streamer configuration
streamonitor/config.py - Configuration file
- Disk-space monitor
streamonitor/managers/outofspace_detector.py
Other components
- Operator
- Streaming sites
- FFmpeg
Connections 27
- Operator → Downloader entry: starts
- Downloader entry → Streamer configuration: loads streamers
- Downloader entry → Streamer bots: creates bots
- Streamer bots → Site adapters: selects adapter
- Site adapters → Streaming sites: checks status
- Site adapters → Stream downloaders: requests stream
- Stream downloaders → Streaming sites: fetches media
- Stream downloaders → FFmpeg: processes media
- Stream downloaders → Recorded videos: writes recordings
- Downloader entry → Command manager: starts managers
- Operator → Console control: enters commands
- Console control → Command manager: dispatches commands
- Operator → Remote controller: sends commands
- Remote controller → ZeroMQ control: sends requests
- ZeroMQ control → Command manager: dispatches commands
- Command manager → Streamer bots: controls streamers
- Command manager → Streamer configuration: saves streamers
- Streamer configuration → Configuration file: reads and writes
- Bulk status polling → Site adapters: polls bulk status
- Operator → Web interface: uses web UI
- Web interface → Command manager: dispatches commands
- Web interface → Web view helpers: builds view context
- Web view helpers → Streamer bots: reads recordings
- Streamer bots → Recorded videos: indexes video files
- Web view helpers → Video metadata: builds metadata
- Web interface → Disk-space monitor: reads disk usage
- Command manager → Disk-space monitor: reads free space