Ground station STANAG 4609 stream monitor

StSupervisor is a Ground Station STANAG 4609 stream monitoring service

Supervisor Web UI

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.

Sensor presentation

Stream Info

StSupervisor performs stream parameter detection (on a first stream appearance). Press StreamInfo button in order to access this information.

Stream parameters detection

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.

MISB 601 Klv metadata

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.

Stream Event Timeline

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. Stream and Packet rate chart

Alternatively, you can select another composed chart, like Bitrate and Stream Error Rate reporting. Bitrate and Stream Error rate chart

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)

Trigger event timeline

More on Triggers

Sensor Admin

Sensor admin allows you to perform administrative tasks on the specific sensor. Sensor Admin

Stream Calendar

Stream calendar shows the activity history. Stream Calendar \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.