Device
A device is a atomic resource that is used for jobs. Atomic in this case means, that any single recording port of a recorder is represented as a device. It holds information about how to access the device, which type of device is represented (Recorder, Router), and a device state (online, offline, deleted).
A Router is represented as a single device, because in opposite to recorders commands for routers are normally referring to an entire router. The current (and past) setup of in- and out-ports (which in-port is connected to which out-port) is described in routing-objects.
Properties
Property | Possible Values | Example | Description |
---|---|---|---|
id | string | 0B | External ID of the Device. |
type | string (“Recorder“, “Router”, “Source”, “Unknown”) | Recorder | Type of the device. |
deviceCapabilities | Array of DeviceCapabilities | See DeviceCapability | List of all the DeviceCapabilities the device has. |
tags | string | Tags | Currently not used. |
name | string | QA-Recorder-Port25 | CustomName if it is set, otherwise InternalName. Read only. |
deviceState | string (“Online”, “Offline”, “Deleted”) | Online | The current state of the device, marks if a device is usable. |
internalName | string | 1xp567 | Name that is set by the device during auto setup |
uri | string |
| Uri the device is reachable at |
connectionInfo | string | Additional information VidiControl needs to work with the device. Sensible data must be encrypted. | |
deviceName | string | Test-Recorder | Name of the actual device. This is for example the same for all ports of a recorder. |
customName | string | Crash Port 1 | Name that can be defined by the user. If set, this is used in the UI. |
Example JSON Snippet
{
"id": "M6o",
"type": "Recorder",
"deviceCapabilities": [
{
"id": "06e",
"capability": {
"id": "0B",
"content": "{\"action\":\"Record\",\"input\":{\"targetPath\":{\"type\":\"string\",\"optional\":\"true\"},\"profileName\":{\"type\":\"string\",\"optional\":\"true\"}},\"output\":{\"pathToFile\":{\"type\":\"string\"}},\"properties\":{\"preroll\":{\"type\":\"integer\",\"kind\":\"fix\"}}, \"events\": [ \"RecorderMock.fileCreated\", \"RecorderMock.recordingFailed\", \"RecorderMock.recordingStarted\", \"RecorderMock.recordingFinished\" ]}",
"capabilityType": "Record",
"needsStopCommand": true
},
"config": "{\"preroll\":5}"
},
{
"id": "Gxe",
"capability": {
"id": "GD",
"content": "{\"action\":\"LoopRecord\",\"input\":{\"targetPath\":{\"type\":\"string\",\"optional\":\"true\"},\"profile\":{\"type\":\"string\",\"optional\":\"true\"},\"output\":{\"pathToFile\":{\"type\":\"string\"}},\"properties\":{\"preroll\":{\"type\":\"integer\",\"kind\":\"fix\"},\"maxLoopTime\":{\"type\":\"integer\",\"kind\":\"dynamic\"}}}}",
"capabilityType": "LoopRecord",
"needsStopCommand": false
},
"config": "{\"preroll\":5}"
},
{
"id": "pJn",
"capability": {
"id": "pY",
"content": "{\"action\":\"Storage\",\"input\":{\"profile\":{\"type\":\"string\",\"optional\":\"true\"}},\"output\":{\"capacity\":{\"type\":\"TimeSpan\"}}}",
"capabilityType": "Storage",
"needsStopCommand": false
},
"config": "{\"preroll\":5}"
}
],
"tags": "Tags",
"name": "My Testport 1",
"internalName": "Recorder-Port105",
"customName": "My Testport 1",
"deviceName": "Recorder1",
"uri": "https://vidicontrol",
"deviceState": 0
}