-
Notifications
You must be signed in to change notification settings - Fork 5.1k
/
AzureVideoAnalyzerSdkDefinitions.json
304 lines (304 loc) · 9.63 KB
/
AzureVideoAnalyzerSdkDefinitions.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
{
"swagger": "2.0",
"info": {
"version": "1.1.0",
"title": "Azure Video Analyzer for Edge",
"description": "Azure Video Analyzer helpers for IoT Edge direct method calls.",
"contact": {
"email": "videoanalyzerhelp@microsoft.com"
}
},
"security": [
{
"sharedAccessSignature": []
}
],
"paths": {},
"securityDefinitions": {
"sharedAccessSignature": {
"type": "apiKey",
"name": "Authorization",
"in": "header"
}
},
"definitions": {
"MethodRequest": {
"type": "object",
"required": [
"methodName"
],
"properties": {
"methodName": {
"type": "string",
"description": "Direct method method name.",
"readOnly": true
},
"@apiVersion": {
"type": "string",
"description": "Video Analyzer API version.",
"enum": [
"1.1"
],
"x-ms-enum": {
"name": "apiVersionEnum",
"modelAsString": false
},
"x-ms-client-default": "1.1"
}
},
"discriminator": "methodName",
"description": "Base class for direct method calls."
},
"PipelineTopologySetRequest": {
"type": "object",
"x-ms-discriminator-value": "pipelineTopologySet",
"allOf": [
{
"$ref": "#/definitions/MethodRequest"
}
],
"required": [
"pipelineTopology"
],
"properties": {
"pipelineTopology": {
"$ref": "./AzureVideoAnalyzer.json#/definitions/PipelineTopology"
}
},
"description": "Creates a new pipeline topology or updates an existing one."
},
"PipelineTopologySetRequestBody": {
"type": "object",
"allOf": [
{
"$ref": "#/definitions/MethodRequest"
},
{
"$ref": "./AzureVideoAnalyzer.json#/definitions/PipelineTopology"
}
],
"description": "Pipeline topology describes the processing steps to be applied when processing media for a particular outcome. The topology should be defined according to the scenario to be achieved and can be reused across many pipeline instances which share the same processing characteristics. For instance, a pipeline topology which acquires data from a RTSP camera, process it with an specific AI model and stored the data on the cloud can be reused across many different cameras, as long as the same processing should be applied across all the cameras. Individual instance properties can be defined through the use of user-defined parameters, which allow for a topology to be parameterized, thus allowing individual pipelines to refer to different values, such as individual cameras RTSP endpoints and credentials. Overall a topology is composed of the following:\r\n\r\n - Parameters: list of user defined parameters that can be references across the topology nodes.\r\n - Sources: list of one or more data sources nodes such as an RTSP source which allows for media to be ingested from cameras.\r\n - Processors: list of nodes which perform data analysis or transformations.\r\n -Sinks: list of one or more data sinks which allow for data to be stored or exported to other destinations."
},
"LivePipelineSetRequest": {
"type": "object",
"x-ms-discriminator-value": "livePipelineSet",
"allOf": [
{
"$ref": "#/definitions/MethodRequest"
}
],
"required": [
"livePipeline"
],
"properties": {
"livePipeline": {
"$ref": "./AzureVideoAnalyzer.json#/definitions/LivePipeline"
}
},
"description": "Creates a new live pipeline or updates an existing one."
},
"LivePipelineSetRequestBody": {
"type": "object",
"allOf": [
{
"$ref": "#/definitions/MethodRequest"
},
{
"$ref": "./AzureVideoAnalyzer.json#/definitions/LivePipeline"
}
],
"description": "Live Pipeline represents an unique instance of a pipeline topology which is used for real-time content ingestion and analysis."
},
"MethodRequestEmptyBodyBase": {
"type": "object",
"allOf": [
{
"$ref": "#/definitions/MethodRequest"
}
],
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Resource name."
}
}
},
"PipelineTopologyListRequest": {
"type": "object",
"x-ms-discriminator-value": "pipelineTopologyList",
"allOf": [
{
"$ref": "#/definitions/MethodRequest"
}
],
"description": "List all existing pipeline topologies."
},
"PipelineTopologyGetRequest": {
"type": "object",
"x-ms-discriminator-value": "pipelineTopologyGet",
"allOf": [
{
"$ref": "#/definitions/MethodRequestEmptyBodyBase"
}
],
"description": "Retrieves an existing pipeline topology."
},
"PipelineTopologyDeleteRequest": {
"type": "object",
"x-ms-discriminator-value": "pipelineTopologyDelete",
"allOf": [
{
"$ref": "#/definitions/MethodRequestEmptyBodyBase"
}
],
"description": "Deletes an existing pipeline topology."
},
"LivePipelineListRequest": {
"type": "object",
"x-ms-discriminator-value": "livePipelineList",
"allOf": [
{
"$ref": "#/definitions/MethodRequest"
}
],
"description": "List all existing live pipelines."
},
"LivePipelineGetRequest": {
"type": "object",
"x-ms-discriminator-value": "livePipelineGet",
"allOf": [
{
"$ref": "#/definitions/MethodRequestEmptyBodyBase"
}
],
"description": "Retrieves an existing live pipeline."
},
"LivePipelineActivateRequest": {
"type": "object",
"x-ms-discriminator-value": "livePipelineActivate",
"allOf": [
{
"$ref": "#/definitions/MethodRequestEmptyBodyBase"
}
],
"description": "Activates an existing live pipeline."
},
"LivePipelineDeactivateRequest": {
"type": "object",
"x-ms-discriminator-value": "livePipelineDeactivate",
"allOf": [
{
"$ref": "#/definitions/MethodRequestEmptyBodyBase"
}
],
"description": "Deactivates an existing live pipeline."
},
"LivePipelineDeleteRequest": {
"type": "object",
"x-ms-discriminator-value": "livePipelineDelete",
"allOf": [
{
"$ref": "#/definitions/MethodRequestEmptyBodyBase"
}
],
"description": "Deletes an existing live pipeline."
},
"RemoteDeviceAdapterSetRequest": {
"type": "object",
"x-ms-discriminator-value": "remoteDeviceAdapterSet",
"allOf": [
{
"$ref": "#/definitions/MethodRequest"
}
],
"required": [
"remoteDeviceAdapter"
],
"properties": {
"remoteDeviceAdapter": {
"$ref": "./AzureVideoAnalyzer.json#/definitions/RemoteDeviceAdapter"
}
},
"description": "Creates a new remote device adapter or updates an existing one."
},
"RemoteDeviceAdapterSetRequestBody": {
"type": "object",
"allOf": [
{
"$ref": "#/definitions/MethodRequest"
},
{
"$ref": "./AzureVideoAnalyzer.json#/definitions/RemoteDeviceAdapter"
}
],
"description": "The Video Analyzer edge module can act as a transparent gateway for video, enabling IoT devices to send video to the cloud from behind a firewall. A remote device adapter should be created for each such IoT device. Communication between the cloud and IoT device would then flow via the Video Analyzer edge module."
},
"RemoteDeviceAdapterListRequest": {
"type": "object",
"x-ms-discriminator-value": "remoteDeviceAdapterList",
"allOf": [
{
"$ref": "#/definitions/MethodRequest"
}
],
"description": "List all existing remote device adapters."
},
"RemoteDeviceAdapterGetRequest": {
"type": "object",
"x-ms-discriminator-value": "remoteDeviceAdapterGet",
"allOf": [
{
"$ref": "#/definitions/MethodRequestEmptyBodyBase"
}
],
"description": "Retrieves an existing remote device adapter."
},
"RemoteDeviceAdapterDeleteRequest": {
"type": "object",
"x-ms-discriminator-value": "remoteDeviceAdapterDelete",
"allOf": [
{
"$ref": "#/definitions/MethodRequestEmptyBodyBase"
}
],
"description": "Deletes an existing remote device adapter."
},
"OnvifDeviceDiscoverRequest": {
"type": "object",
"x-ms-discriminator-value": "onvifDeviceDiscover",
"allOf": [
{
"$ref": "#/definitions/MethodRequest"
}
],
"properties": {
"discoveryDuration": {
"type": "string",
"description": "The amount of time that the ONVIF device discovery will wait for supported device responses."
}
},
"description": "Lists all the discoverable ONVIF devices on the same subnet as the Edge Module."
},
"OnvifDeviceGetRequest": {
"type": "object",
"x-ms-discriminator-value": "onvifDeviceGet",
"allOf": [
{
"$ref": "#/definitions/MethodRequest"
}
],
"required": [
"endpoint"
],
"properties": {
"endpoint": {
"$ref": "./AzureVideoAnalyzer.json#/definitions/EndpointBase"
}
},
"description": "Retrieves properties and media profiles of an ONVIF device."
}
}
}