Skip to content

Data

Allows the user to manage their video sources. These can either be video files or RTSP, gstreamer or Dolby IO streams. Each source is identified uniquely by an uuid. Even though streams and videos are uploaded through different POST endpoints, they are both considered sources and can be treated intercheangeably once they are uploaded.

The API is designed primarily to work with realtime streams. The video file input is provided solely for convenience when testing or debugging endpoints which rely on an active input.

Video files (POST /video)

There is a limit of 500 Mb per video and 10 Gb per user. Videos must be mp4, mov or avi files.

Video streams (POST /stream)

There is no limit of streams to load. Stream must be of the type 'rtmp', 'rtsp' or 'dolby'. Each stream must follow the format:

  • rtmp: rtmp://<url>. For example, rtmp://192.168.0.51:1935/streaming/live.
  • rtsp: rtsp://<url>. For example, rtsp://user:pass@192.168.0.50/axis-media/media.amp.
  • dolby: some the info displayed in the API tab at dolby.io stream coinfiguration is required, namely: subscribe url, account id and stream name. If the input stream is secured, an access token must also be provided. All info can be combined into a single url in the format https://director.millicast.com/api/director/subscribe/<account_id/<stream_name>>?token=<token>. The information may also be provided as separate elements in the call body. Check the example value on swagger for details.

Once uploaded, both files and streams are treated as sources. Sources can be listed with the request GET /sources and removed with the request DELETE /source/{source_id}.

Additionally, for enhanced detection performance, the UAS telemetry data can be received via MQTT. In order to do so, the broker information must be configured in the body of this endpoint as well, using the telemetry_cfg element. This requires a type field, which will be mqtt in this case (websocket can be used if this method is preferred), the parameters to define the ip and port of the MQTT broker, as well as the topic to which the telemetry will be sent. Use this as an example:

"telemetry_cfg": {
    "type": "mqtt",
    "parameters": {
        "ip": "127.0.0.1",
        "port": 1883,
        "topic": "drone/telemetry/data",
    },
    "format": "dji",
}

The format defines the structure of the sent message. Use dji if you are using DJI's FlightHub Sync, or use sense if your message follows the structure shown here.

A stream with no telemetry_cfg in its body will have the telemetry ingest disabled.

Supported video formats

Some of our stream input methods have a fixed supported video format:

  • rtsp: H.264