rtconfig.json File¶
CVEDIA-RT global parameters can be configured through the rtconfig.json
(formely global.config
on 2023.5.x
and older) file present in the root folder (or files
folder on Windows).
This file is a valid JSON formatted file and can be edited before booting the application.
Available properties to edit:
auto_device_list¶
The auto_device_list
property allows setting which inference hardware device to use for loading inference AI models.
This is used only when the URI of the model to load uses the auto
scheme. CVEDIA-RT will choose the first compatible hardware starting from the top of the list.
For more information, check the Model Forge documentation.
"auto_device_list": [
"blaize.1",
"hailo.1",
"cavalry",
"snpe.aip",
"snpe.dsp",
"openvino.VPU",
"tensorrt.1",
"tensorrt.2",
"openvino.GPU",
"openvino.CPU",
"mnn.auto",
"armnn.GpuAcc",
"armnn.CpuAcc",
"armnn.CpuRef"
]
modelforge_url¶
URL of the Model Forge server.
"model_forge": "http://mf.cvedia.com"
If your device has an accurate clock you can use https
instead.
system_cameras¶
Array that stores the current system cameras configuration. This property doesn't need to be edited directly in the JSON as CVEDIA-RT UI also allows configuring cameras.
For more information, check the Camera Discovery documentation.
web_server¶
Configuration for CVEDIA-RT Rest API Server. It allows configuring IP address, server port, and enabling/disabling the server.
"web_server": {
"enabled": true,
"ip_address": "0.0.0.0",
"port": 3546
}
Proxy setup¶
CVEDIA-RT requires one-time internet access for downloading AI models. In case your system cannot reach the internet directly, you can tell it to use a proxy with the following options:
"proxy_host": "127.0.0.1",
"proxy_port": 8888
You can also configure CVEDIA-RT to use authentication:
"proxy_basic_user": "myuser",
"proxy_basic_pass": "mypass"
Using digest:
"proxy_digest_user": "myuser",
"proxy_digest_pass": "mypass"
Using a token:
"proxy_bearer_token": "mytoken"
remote¶
For edge devices without a monitor, or for cloud servers, it's possible to connect remotely to the UI. To optimize the perfomances and reduce bandwith you can set the following options:
"remote": {
"texture_update_delay": 500,
"grayscale_textures": true,
"downscale_factor": 4,
"max_side": 512
}
For more information, please check the Remote UI documentation.
gstreamer¶
You can define custom ranks for different plugins, this defines the order in which gstreamer will try to use certain plugins.
The default configuration sets high priority to nvidia encoding / decoding:
"plugin_rank": {
"nvv4l2decoder": "-257",
"nvjpegdec": "-257",
"nvjpegenc": "-257",
"qsv": "300",
"qsvh265dec": "300",
"qsvh264dec": "300",
"qsvh265enc": "300",
"qsvh264enc": "300",
"nvh264dec": "257",
"nvh265dec": "257",
"nvh264enc": "257",
"nvh265enc": "257",
"nvvp9dec": "257",
"nvvp9enc": "257",
"nvmpeg4videodec": "257",
"nvmpeg2videodec": "257",
"nvmpegvideodec": "257",
"mpph264enc": "257",
"mpph265enc": "257",
"mppvp8enc": "257",
"mppjpegenc": "257",
"mppvideodec": "257",
"mppjpegdec": "257"
}
The possible rank values can be:
- "primary" (255)
- "secondary" (128)
- "marginal" (64)
- "none" (disables the plugin)
- "a number" (defined as a string, from 0 to 32768)
The plugins refered in this config don't need to be available, so defining a plugin that doesn't exists doesn't break the system.
You can list all available / loaded gstreamer plugins by defining list_features
to true
:
"list_features": true
When gstreamer module is initialized it will print a long list of all available plugins.