Ground station STANAG 4609 stream monitor
StSupervisor is a Ground Station STANAG 4609 stream monitoring service
Main features:
- Monitors a pre-configured list of multicast video streams (yaml configuration file)
- Multiple UAV platforms (with multiple sensors each)
- Timeout, Bitrate and Klv rate reporting
- Low latency video preview
- MISB 0601, 0102, 0903 live decoding
- Stream parameters detection
- User-defined event triggers based on speed, altitude, location etc
- MQTT messages for easy integration (InfluxDB, Grafana, etc)
- Cross platform Windows/Linux. Easy setup - stand-alone app / Docker
- Desktop and mobile UI
Configuration
StSupervisor uses 2 configuration files located in the data directory:
- supervisor.yml - application configuration file. More info on Supervisor Configuration
- platforms.yml - platforms, sensors etc configuration file. More info on Platform Configuration
Sensor presentation
StSupervisor presents stream info per sensor (video/data channel). One platform can carry multiple sensors.
Stream Info
StSupervisor performs stream parameter detection (on a first stream appearance). Press StreamInfo button in order to access this information.
MISB KLV Info
If STANAG MISB 0601.X metadata is present in the stream, StSupervisor will display it in real-time (the sampling frequency can be configured). Press Klv telemetry button to access this information.
The following standards are supported: -MISB601.X -MISB102.X -MISB903.4
Mqtt reporting
Stream Monitor sends events to Mqtt broker in the following format: applicationName/platformId/sensorId/event, where event has one of the following values:
event | Description |
---|---|
state | Current state |
detection | Stream detection results (JSON) |
bitrate | Current stream bitrate |
custom events | User defined events |
config | General configuration information - httpServer, wsVideoPreview |
demoExpired | Demo Expired |
For example,
StreamMonitor/Heron/EO/state
State events
Stream Monitor reports the following stream state events:
- Unknown. This state will be reported when Stream Monitor goes offline (or not started yet) and therefore there is no info on the stream available.
- Offline. Stream is not present.
- Online. Stream is running.
- Lost. Stream lost (not detected present for the period of time specified by --timeout). After that, the stream is considered as Offline.
You can view Event Timeline by pressing the State icon.
Bitrate and KlvPacket rate reporting
Stream Monitor periodically sends stream bitrate and STANAG Klv packet rate notifications that are presented as a real time chart. You can configure an update rate, if needed.
Alternatively, you can select another composed chart, like Bitrate and Stream Error Rate reporting.
Triggers
Triggers are used to report events / issue commands when certain conditions are met. Stream Monitor will send Mqtt message with "trigger" topic and conditions payload when there is a match. Upon reporting, the trigger is removed from an internal queue.
The logic: - Event is fired when the conditions inside the trigger are true (logical AND) - Event is fired only once ( if armed state is true). After that, the armed state is set to false. You can reload triggers (Sensor Admin page)
More on Triggers
Sensor Admin
Sensor admin allows you to perform administrative tasks on the specific sensor.
Stream Calendar
Stream calendar shows the activity history. \note The data is not stored locally with the application. You must configure the InfluxDB server address in supervisor.yml file in order to be able to collect this information.