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