Skip to main content

Nimble Configuration

Nimble is controlled by an initial configuration file or by using the REST API. The configuration files are in YAML format and needs to be named config.yaml in the root directory. The REST API accepts data in the JSON format. Upon starting the docker container, the config.yaml is mounted into the container and loaded by the Nimble application. The REST API is the only method for dynamically updating the configuration after Nimble has started. For an example of the REST deployment method, please refer to Deployer Example.

The configuration file follows this YAML schema:

- sources:
- type: "video" # string: "video", "file", "youtube", "inf", "zmq", "zmqinternal"
address: "rtsp://camera:554/path" # string: url or path, depending on 'type' property
rate: 25 # integer: desired input rate
timeout: -1 # integer: if source is disconnected try to reconnect for this many minutes, -1 is try indefinitely
proxy: true # boolean: whether to enable MP4 proxying of video stream
- "pipeline element"
- name: "pipeline element" # string: name of the pipeline element
hw: "cpu" # string: "cpu", "igpu", "gpu", or "fpga"
mode: "a" # string: "a" for high-throughput or "s" for low-latency
config: {} # object, or array of objects:
- type: "file" # string: "file", "inf", "zmq", "zmqinternal"
address: "video.mp4" # string: url or path, depending on 'type' property
filter: "*" # string, integer, or array of integers: source(s) to filter on (by zero-based index)
- address: "tcp://*:22951" # string: url (for zmq sink)
message: {} # any auxiliary configuration

Samples for the different supported use cases are provided in the samples directory. A detailed description of each sample can be found here: Sample Configuration Files

Each element in the config is explained in this section:

Instructions to add custom models is explained in this section: Add Custom Model

Instructions to add custom pipeline stages is explained in this section: Add Custom Pipeline Stage