edge-impulse-linux 1.6.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cli/linux/linux.js +6 -1
- package/build/cli/linux/linux.js.map +1 -1
- package/build/cli/linux/runner-downloader.js +14 -0
- package/build/cli/linux/runner-downloader.js.map +1 -1
- package/build/cli/linux/runner.js +32 -6
- package/build/cli/linux/runner.js.map +1 -1
- package/build/cli/linux/webserver/public/inference-server.js +29 -2
- package/build/cli/linux/webserver/public/inference-server.js.map +1 -1
- package/build/cli/linux/webserver/public/webserver.js +58 -6
- package/build/cli/linux/webserver/public/webserver.js.map +1 -1
- package/build/cli/linux/webserver/views/inference-server-view.d.ts +1 -1
- package/build/cli/linux/webserver/views/inference-server-view.js +1 -1
- package/build/cli/linux/webserver/views/inference-server-view.js.map +1 -1
- package/build/library/argv-split.d.ts +1 -0
- package/build/library/argv-split.js +184 -0
- package/build/library/argv-split.js.map +1 -0
- package/build/library/classifier/linux-impulse-runner.d.ts +35 -2
- package/build/library/classifier/linux-impulse-runner.js +76 -7
- package/build/library/classifier/linux-impulse-runner.js.map +1 -1
- package/build/library/index.d.ts +2 -1
- package/build/library/index.js +2 -1
- package/build/library/index.js.map +1 -1
- package/build/library/moving-average-filter.d.ts +10 -0
- package/build/library/sensors/gstreamer.d.ts +19 -2
- package/build/library/sensors/gstreamer.js +328 -76
- package/build/library/sensors/gstreamer.js.map +1 -1
- package/build/sdk/studio/sdk/api/organizationDataApi.d.ts +14 -0
- package/build/sdk/studio/sdk/api/organizationDataApi.js +85 -0
- package/build/sdk/studio/sdk/api/organizationDataApi.js.map +1 -1
- package/build/sdk/studio/sdk/api/rawDataApi.d.ts +0 -2
- package/build/sdk/studio/sdk/api/rawDataApi.js +0 -4
- package/build/sdk/studio/sdk/api/rawDataApi.js.map +1 -1
- package/build/sdk/studio/sdk/model/blockType.d.ts +13 -0
- package/build/sdk/studio/sdk/model/blockType.js +16 -0
- package/build/sdk/studio/sdk/model/blockType.js.map +1 -0
- package/build/sdk/studio/sdk/model/dSPBlock.d.ts +2 -0
- package/build/sdk/studio/sdk/model/dSPBlock.js +5 -0
- package/build/sdk/studio/sdk/model/dSPBlock.js.map +1 -1
- package/build/sdk/studio/sdk/model/dSPGroupItem.d.ts +1 -1
- package/build/sdk/studio/sdk/model/dSPGroupItem.js +1 -1
- package/build/sdk/studio/sdk/model/dSPGroupItem.js.map +1 -1
- package/build/sdk/studio/sdk/model/deployPretrainedModelRequest.d.ts +1 -1
- package/build/sdk/studio/sdk/model/deployPretrainedModelRequest.js +1 -1
- package/build/sdk/studio/sdk/model/deployPretrainedModelRequest.js.map +1 -1
- package/build/sdk/studio/sdk/model/getPretrainedModelResponseAllOfModel.d.ts +1 -0
- package/build/sdk/studio/sdk/model/getPretrainedModelResponseAllOfModel.js +5 -0
- package/build/sdk/studio/sdk/model/getPretrainedModelResponseAllOfModel.js.map +1 -1
- package/build/sdk/studio/sdk/model/inputBlock.d.ts +2 -0
- package/build/sdk/studio/sdk/model/inputBlock.js +5 -0
- package/build/sdk/studio/sdk/model/inputBlock.js.map +1 -1
- package/build/sdk/studio/sdk/model/kerasResponse.d.ts +4 -0
- package/build/sdk/studio/sdk/model/kerasResponse.js +5 -0
- package/build/sdk/studio/sdk/model/kerasResponse.js.map +1 -1
- package/build/sdk/studio/sdk/model/kerasResponseAllOf.d.ts +4 -0
- package/build/sdk/studio/sdk/model/kerasResponseAllOf.js +5 -0
- package/build/sdk/studio/sdk/model/kerasResponseAllOf.js.map +1 -1
- package/build/sdk/studio/sdk/model/learnBlock.d.ts +2 -0
- package/build/sdk/studio/sdk/model/learnBlock.js +5 -0
- package/build/sdk/studio/sdk/model/learnBlock.js.map +1 -1
- package/build/sdk/studio/sdk/model/listPortalFilesInFolderRequest.d.ts +4 -12
- package/build/sdk/studio/sdk/model/listPortalFilesInFolderRequest.js +5 -15
- package/build/sdk/studio/sdk/model/listPortalFilesInFolderRequest.js.map +1 -1
- package/build/sdk/studio/sdk/model/models.d.ts +4 -0
- package/build/sdk/studio/sdk/model/models.js +14 -1
- package/build/sdk/studio/sdk/model/models.js.map +1 -1
- package/build/sdk/studio/sdk/model/{listOrganizationBucketsResponseAllOfBuckets.d.ts → previewDefaultFilesInFolderRequest.d.ts} +7 -22
- package/build/sdk/studio/sdk/model/previewDefaultFilesInFolderRequest.js +38 -0
- package/build/sdk/studio/sdk/model/previewDefaultFilesInFolderRequest.js.map +1 -0
- package/build/sdk/studio/sdk/model/previewDefaultFilesInFolderResponse.d.ts +44 -0
- package/build/sdk/studio/sdk/model/previewDefaultFilesInFolderResponse.js +53 -0
- package/build/sdk/studio/sdk/model/previewDefaultFilesInFolderResponse.js.map +1 -0
- package/build/sdk/studio/sdk/model/previewDefaultFilesInFolderResponseAllOf.d.ts +36 -0
- package/build/sdk/studio/sdk/model/previewDefaultFilesInFolderResponseAllOf.js +43 -0
- package/build/sdk/studio/sdk/model/previewDefaultFilesInFolderResponseAllOf.js.map +1 -0
- package/build/sdk/studio/sdk/model/setKerasParameterRequest.d.ts +4 -0
- package/build/sdk/studio/sdk/model/setKerasParameterRequest.js +5 -0
- package/build/sdk/studio/sdk/model/setKerasParameterRequest.js.map +1 -1
- package/build/sdk/studio/sdk/model/transferLearningModel.d.ts +2 -3
- package/build/sdk/studio/sdk/model/transferLearningModel.js +2 -3
- package/build/sdk/studio/sdk/model/transferLearningModel.js.map +1 -1
- package/build/sdk/studio/sdk/model/updateProjectRequest.d.ts +4 -0
- package/build/sdk/studio/sdk/model/updateProjectRequest.js +5 -0
- package/build/sdk/studio/sdk/model/updateProjectRequest.js.map +1 -1
- package/build/shared/viewmodels/init.d.ts +1 -0
- package/build/test/gstreamer.test.js +1847 -16
- package/build/test/gstreamer.test.js.map +1 -1
- package/cli/linux/linux.ts +6 -1
- package/cli/linux/runner-downloader.ts +18 -0
- package/cli/linux/runner.ts +38 -7
- package/cli/linux/webserver/public/inference-server.js +33 -2
- package/cli/linux/webserver/public/webserver.js +67 -7
- package/cli/linux/webserver/views/inference-server-view.ts +2 -2
- package/examples/js/classify-camera.js +11 -3
- package/package.json +1 -1
- package/test/gstreamer.test.ts +1877 -19
- package/build/cli/linux/webserver/escape-html-template-tag/escape.d.ts +0 -12
- package/build/cli/linux/webserver/escape-html-template-tag/escape.js +0 -59
- package/build/cli/linux/webserver/escape-html-template-tag/escape.js.map +0 -1
- package/build/cli/linux/webserver/escape-html-template-tag/index.d.ts +0 -7
- package/build/cli/linux/webserver/escape-html-template-tag/index.js +0 -24
- package/build/cli/linux/webserver/escape-html-template-tag/index.js.map +0 -1
- package/build/debug.d.ts +0 -1
- package/build/debug.js +0 -26
- package/build/debug.js.map +0 -1
- package/build/sdk/studio/sdk/api/organizationRequiresAdminApi.d.ts +0 -55
- package/build/sdk/studio/sdk/api/organizationRequiresAdminApi.js +0 -158
- package/build/sdk/studio/sdk/api/organizationRequiresAdminApi.js.map +0 -1
- package/build/sdk/studio/sdk/api/organizationRequiresWhitelabelAdminApi.d.ts +0 -55
- package/build/sdk/studio/sdk/api/organizationRequiresWhitelabelAdminApi.js +0 -158
- package/build/sdk/studio/sdk/api/organizationRequiresWhitelabelAdminApi.js.map +0 -1
- package/build/sdk/studio/sdk/model/listOrganizationBucketsResponseAllOfBuckets.js +0 -62
- package/build/sdk/studio/sdk/model/listOrganizationBucketsResponseAllOfBuckets.js.map +0 -1
|
@@ -12,9 +12,11 @@ const os_1 = __importDefault(require("os"));
|
|
|
12
12
|
const spawn_helper_1 = require("./spawn-helper");
|
|
13
13
|
const util_1 = __importDefault(require("util"));
|
|
14
14
|
const crypto_1 = __importDefault(require("crypto"));
|
|
15
|
+
const argv_split_1 = require("../argv-split");
|
|
15
16
|
const PREFIX = '\x1b[34m[GST]\x1b[0m';
|
|
17
|
+
const CUSTOM_GST_LAUNCH_COMMAND = 'custom-gst-launch-command';
|
|
16
18
|
class GStreamer extends tsee_1.EventEmitter {
|
|
17
|
-
constructor(verbose,
|
|
19
|
+
constructor(verbose, options) {
|
|
18
20
|
super();
|
|
19
21
|
this._handledFiles = {};
|
|
20
22
|
this._lastHash = '';
|
|
@@ -23,7 +25,8 @@ class GStreamer extends tsee_1.EventEmitter {
|
|
|
23
25
|
this._isStarted = false;
|
|
24
26
|
this._isRestarting = false;
|
|
25
27
|
this._verbose = verbose;
|
|
26
|
-
this.
|
|
28
|
+
this._customLaunchCommand = options === null || options === void 0 ? void 0 : options.customLaunchCommand;
|
|
29
|
+
this._spawnHelper = (options === null || options === void 0 ? void 0 : options.spawnHelperOverride) || spawn_helper_1.spawnHelper;
|
|
27
30
|
}
|
|
28
31
|
async init() {
|
|
29
32
|
try {
|
|
@@ -58,6 +61,9 @@ class GStreamer extends tsee_1.EventEmitter {
|
|
|
58
61
|
}
|
|
59
62
|
}
|
|
60
63
|
async listDevices() {
|
|
64
|
+
if (this._customLaunchCommand) {
|
|
65
|
+
return [CUSTOM_GST_LAUNCH_COMMAND];
|
|
66
|
+
}
|
|
61
67
|
let devices = await this.getAllDevices();
|
|
62
68
|
if (this._verbose) {
|
|
63
69
|
console.log(PREFIX, 'Found devices:', JSON.stringify(devices, null, 2));
|
|
@@ -97,85 +103,15 @@ class GStreamer extends tsee_1.EventEmitter {
|
|
|
97
103
|
console.log(PREFIX, 'Detected RZ/G2L target, initializing camera OK');
|
|
98
104
|
}
|
|
99
105
|
}
|
|
100
|
-
|
|
101
|
-
let caps = device.caps.filter(c => {
|
|
102
|
-
return c.width >= dimensions.width && c.height >= dimensions.height;
|
|
103
|
-
}).sort((a, b) => {
|
|
104
|
-
let diffA = Math.abs(a.width - dimensions.width) + Math.abs(a.height - dimensions.height);
|
|
105
|
-
let diffB = Math.abs(b.width - dimensions.width) + Math.abs(b.height - dimensions.height);
|
|
106
|
-
return diffA - diffB;
|
|
107
|
-
});
|
|
108
|
-
// if the device supports video/x-raw, only list those types
|
|
109
|
-
const videoCaps = caps.filter(x => x.type === 'video/x-raw');
|
|
110
|
-
if (videoCaps.length > 0) {
|
|
111
|
-
caps = videoCaps;
|
|
112
|
-
}
|
|
113
|
-
// choose the top of the list
|
|
114
|
-
let cap = caps[0];
|
|
115
|
-
if (!cap) {
|
|
116
|
-
cap = {
|
|
117
|
-
type: 'video/x-raw',
|
|
118
|
-
width: dimensions.width,
|
|
119
|
-
height: dimensions.height,
|
|
120
|
-
framerate: 30,
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
let videoSource = ['v4l2src', 'device=' + device.id];
|
|
124
|
-
if (this._mode === 'rpi-bullseye') {
|
|
125
|
-
// Rpi camera
|
|
126
|
-
if (!device.id) {
|
|
127
|
-
videoSource = ['libcamerasrc'];
|
|
128
|
-
}
|
|
129
|
-
else {
|
|
130
|
-
videoSource = ['uvch264src', 'device=' + device.id];
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
let invokeProcess;
|
|
134
|
-
let args;
|
|
135
|
-
if (cap.type === 'video/x-raw') {
|
|
136
|
-
args = videoSource.concat([
|
|
137
|
-
`!`,
|
|
138
|
-
`video/x-raw,width=${cap.width},height=${cap.height}`,
|
|
139
|
-
`!`,
|
|
140
|
-
`videoconvert`,
|
|
141
|
-
`!`,
|
|
142
|
-
`jpegenc`,
|
|
143
|
-
`!`,
|
|
144
|
-
`multifilesink`,
|
|
145
|
-
`location=test%05d.jpg`
|
|
146
|
-
]);
|
|
147
|
-
invokeProcess = 'spawn';
|
|
148
|
-
}
|
|
149
|
-
else if (cap.type === 'image/jpeg') {
|
|
150
|
-
args = videoSource.concat([
|
|
151
|
-
`!`,
|
|
152
|
-
`image/jpeg,width=${cap.width},height=${cap.height}`,
|
|
153
|
-
`!`,
|
|
154
|
-
`multifilesink`,
|
|
155
|
-
`location=test%05d.jpg`
|
|
156
|
-
]);
|
|
157
|
-
invokeProcess = 'spawn';
|
|
158
|
-
}
|
|
159
|
-
else if (cap.type === 'nvarguscamerasrc') {
|
|
160
|
-
args = [
|
|
161
|
-
`nvarguscamerasrc ! "video/x-raw(memory:NVMM),width=${cap.width},height=${cap.height}" ! ` +
|
|
162
|
-
`nvvidconv flip-method=0 ! video/x-raw,width=${cap.width},height=${cap.height} ! nvvidconv ! ` +
|
|
163
|
-
`jpegenc ! multifilesink location=test%05d.jpg`
|
|
164
|
-
];
|
|
165
|
-
// no idea why... but if we throw this thru `spawn` this yields an invalid pipeline...
|
|
166
|
-
invokeProcess = 'exec';
|
|
167
|
-
}
|
|
168
|
-
else {
|
|
169
|
-
throw new Error('Invalid cap type ' + cap.type);
|
|
170
|
-
}
|
|
106
|
+
const { invokeProcess, command, args } = this.getGstreamerLaunchCommand(device, dimensions);
|
|
171
107
|
if (this._verbose) {
|
|
172
|
-
console.log(PREFIX,
|
|
108
|
+
console.log(PREFIX, `Starting ${command} with`, args);
|
|
173
109
|
}
|
|
174
110
|
if (invokeProcess === 'spawn') {
|
|
175
|
-
this._captureProcess = child_process_1.spawn(
|
|
111
|
+
this._captureProcess = child_process_1.spawn(command, args, { env: process.env, cwd: this._tempDir });
|
|
176
112
|
}
|
|
177
113
|
else if (invokeProcess === 'exec') {
|
|
178
|
-
this._captureProcess = child_process_1.exec('
|
|
114
|
+
this._captureProcess = child_process_1.exec(command + ' ' + args.join(' '), { env: process.env, cwd: this._tempDir });
|
|
179
115
|
}
|
|
180
116
|
else {
|
|
181
117
|
throw new Error('Invalid value for invokeProcess');
|
|
@@ -293,6 +229,117 @@ class GStreamer extends tsee_1.EventEmitter {
|
|
|
293
229
|
p.catch(() => this.stop());
|
|
294
230
|
return p;
|
|
295
231
|
}
|
|
232
|
+
getGstreamerLaunchCommand(device, dimensions) {
|
|
233
|
+
if (device.id === CUSTOM_GST_LAUNCH_COMMAND) {
|
|
234
|
+
if (!this._customLaunchCommand) {
|
|
235
|
+
throw new Error('_customLaunchCommand is null');
|
|
236
|
+
}
|
|
237
|
+
let customArgs = argv_split_1.split(this._customLaunchCommand);
|
|
238
|
+
customArgs = customArgs.concat([
|
|
239
|
+
`!`,
|
|
240
|
+
`multifilesink`,
|
|
241
|
+
`location=test%05d.jpg`
|
|
242
|
+
]);
|
|
243
|
+
return {
|
|
244
|
+
invokeProcess: 'spawn',
|
|
245
|
+
command: 'gst-launch-1.0',
|
|
246
|
+
args: customArgs,
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
// now we need to determine the resolution... we want something as close as possible to dimensions.widthx480
|
|
250
|
+
let caps = device.caps.filter(c => {
|
|
251
|
+
return c.width >= dimensions.width && c.height >= dimensions.height;
|
|
252
|
+
}).sort((a, b) => {
|
|
253
|
+
let diffA = Math.abs(a.width - dimensions.width) + Math.abs(a.height - dimensions.height);
|
|
254
|
+
let diffB = Math.abs(b.width - dimensions.width) + Math.abs(b.height - dimensions.height);
|
|
255
|
+
return diffA - diffB;
|
|
256
|
+
});
|
|
257
|
+
// if the device supports video/x-raw, only list those types
|
|
258
|
+
const videoCaps = caps.filter(x => x.type === 'video/x-raw');
|
|
259
|
+
if (videoCaps.length > 0) {
|
|
260
|
+
caps = videoCaps;
|
|
261
|
+
}
|
|
262
|
+
// choose the top of the list
|
|
263
|
+
let cap = caps[0];
|
|
264
|
+
if (!cap) {
|
|
265
|
+
cap = {
|
|
266
|
+
type: 'video/x-raw',
|
|
267
|
+
width: dimensions.width,
|
|
268
|
+
height: dimensions.height,
|
|
269
|
+
framerate: 30,
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
let videoSource = ['v4l2src', 'device=' + device.id];
|
|
273
|
+
if (this._mode === 'rpi-bullseye') {
|
|
274
|
+
// Rpi camera
|
|
275
|
+
if (!device.id) {
|
|
276
|
+
videoSource = ['libcamerasrc'];
|
|
277
|
+
}
|
|
278
|
+
else {
|
|
279
|
+
videoSource = ['uvch264src', 'device=' + device.id];
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
if (device.id === 'pylonsrc') {
|
|
283
|
+
videoSource = ['pylonsrc'];
|
|
284
|
+
}
|
|
285
|
+
let invokeProcess;
|
|
286
|
+
let args;
|
|
287
|
+
if (cap.type === 'video/x-raw') {
|
|
288
|
+
args = videoSource.concat([
|
|
289
|
+
`!`,
|
|
290
|
+
`video/x-raw,width=${cap.width},height=${cap.height}`,
|
|
291
|
+
`!`,
|
|
292
|
+
`videoconvert`,
|
|
293
|
+
`!`,
|
|
294
|
+
`jpegenc`,
|
|
295
|
+
`!`,
|
|
296
|
+
`multifilesink`,
|
|
297
|
+
`location=test%05d.jpg`
|
|
298
|
+
]);
|
|
299
|
+
invokeProcess = 'spawn';
|
|
300
|
+
}
|
|
301
|
+
else if (cap.type === 'image/jpeg') {
|
|
302
|
+
args = videoSource.concat([
|
|
303
|
+
`!`,
|
|
304
|
+
`image/jpeg,width=${cap.width},height=${cap.height}`,
|
|
305
|
+
`!`,
|
|
306
|
+
`multifilesink`,
|
|
307
|
+
`location=test%05d.jpg`
|
|
308
|
+
]);
|
|
309
|
+
invokeProcess = 'spawn';
|
|
310
|
+
}
|
|
311
|
+
else if (cap.type === 'pylonsrc') {
|
|
312
|
+
args = videoSource.concat([
|
|
313
|
+
`!`,
|
|
314
|
+
`video/x-raw,width=${cap.width},height=${cap.height}`,
|
|
315
|
+
`!`,
|
|
316
|
+
`videoconvert`,
|
|
317
|
+
`!`,
|
|
318
|
+
`jpegenc`,
|
|
319
|
+
`!`,
|
|
320
|
+
`multifilesink`,
|
|
321
|
+
`location=test%05d.jpg`
|
|
322
|
+
]);
|
|
323
|
+
invokeProcess = 'spawn';
|
|
324
|
+
}
|
|
325
|
+
else if (cap.type === 'nvarguscamerasrc') {
|
|
326
|
+
args = [
|
|
327
|
+
`nvarguscamerasrc ! "video/x-raw(memory:NVMM),width=${cap.width},height=${cap.height}" ! ` +
|
|
328
|
+
`nvvidconv flip-method=0 ! video/x-raw,width=${cap.width},height=${cap.height} ! nvvidconv ! ` +
|
|
329
|
+
`jpegenc ! multifilesink location=test%05d.jpg`
|
|
330
|
+
];
|
|
331
|
+
// no idea why... but if we throw this thru `spawn` this yields an invalid pipeline...
|
|
332
|
+
invokeProcess = 'exec';
|
|
333
|
+
}
|
|
334
|
+
else {
|
|
335
|
+
throw new Error('Invalid cap type ' + cap.type);
|
|
336
|
+
}
|
|
337
|
+
return {
|
|
338
|
+
invokeProcess,
|
|
339
|
+
command: 'gst-launch-1.0',
|
|
340
|
+
args,
|
|
341
|
+
};
|
|
342
|
+
}
|
|
296
343
|
async stop() {
|
|
297
344
|
if (this._keepAliveTimeout) {
|
|
298
345
|
clearTimeout(this._keepAliveTimeout);
|
|
@@ -335,6 +382,28 @@ class GStreamer extends tsee_1.EventEmitter {
|
|
|
335
382
|
return stopRes;
|
|
336
383
|
}
|
|
337
384
|
async getAllDevices() {
|
|
385
|
+
if (this._customLaunchCommand) {
|
|
386
|
+
let width = 640;
|
|
387
|
+
let height = 480;
|
|
388
|
+
let widthM = CUSTOM_GST_LAUNCH_COMMAND.match(/width=(\d+)/);
|
|
389
|
+
if (widthM && widthM.length >= 1) {
|
|
390
|
+
width = Number(widthM[1]);
|
|
391
|
+
}
|
|
392
|
+
let heightM = CUSTOM_GST_LAUNCH_COMMAND.match(/height=(\d+)/);
|
|
393
|
+
if (heightM && heightM.length >= 1) {
|
|
394
|
+
height = Number(heightM[1]);
|
|
395
|
+
}
|
|
396
|
+
return [{
|
|
397
|
+
id: CUSTOM_GST_LAUNCH_COMMAND,
|
|
398
|
+
name: CUSTOM_GST_LAUNCH_COMMAND,
|
|
399
|
+
caps: [{
|
|
400
|
+
type: 'video/x-raw',
|
|
401
|
+
framerate: 60,
|
|
402
|
+
width: width,
|
|
403
|
+
height: height,
|
|
404
|
+
}],
|
|
405
|
+
}];
|
|
406
|
+
}
|
|
338
407
|
let lines;
|
|
339
408
|
try {
|
|
340
409
|
lines = (await this._spawnHelper('gst-device-monitor-1.0', []))
|
|
@@ -464,6 +533,7 @@ class GStreamer extends tsee_1.EventEmitter {
|
|
|
464
533
|
});
|
|
465
534
|
// NVIDIA has their own plugins, query them too
|
|
466
535
|
devices = devices.concat(await this.listNvarguscamerasrcDevices());
|
|
536
|
+
devices = devices.concat(await this.listPylonsrcDevices());
|
|
467
537
|
let mapped = devices.map(d => {
|
|
468
538
|
let name = devices.filter(x => x.name === d.name).length >= 2 ?
|
|
469
539
|
d.name + ' (' + d.id + ')' :
|
|
@@ -573,6 +643,188 @@ class GStreamer extends tsee_1.EventEmitter {
|
|
|
573
643
|
return [];
|
|
574
644
|
}
|
|
575
645
|
}
|
|
646
|
+
async listPylonsrcDevices() {
|
|
647
|
+
let hasPlugin;
|
|
648
|
+
try {
|
|
649
|
+
hasPlugin = (await this._spawnHelper('gst-inspect-1.0', [])).indexOf('pylonsrc') > -1;
|
|
650
|
+
}
|
|
651
|
+
catch (ex) {
|
|
652
|
+
if (this._verbose) {
|
|
653
|
+
console.log(PREFIX, 'Error invoking gst-inspect-1.0:', ex);
|
|
654
|
+
}
|
|
655
|
+
hasPlugin = false;
|
|
656
|
+
}
|
|
657
|
+
if (!hasPlugin) {
|
|
658
|
+
return [];
|
|
659
|
+
}
|
|
660
|
+
let caps = [];
|
|
661
|
+
let gstInspectRet;
|
|
662
|
+
{
|
|
663
|
+
let command = 'gst-inspect-1.0';
|
|
664
|
+
let args = ['pylonsrc'];
|
|
665
|
+
let opts = { ignoreErrors: true };
|
|
666
|
+
// not overridden spawn helper?
|
|
667
|
+
if (this._spawnHelper === spawn_helper_1.spawnHelper) {
|
|
668
|
+
gstInspectRet = await new Promise((resolve, reject) => {
|
|
669
|
+
const p = child_process_1.spawn(command, args, { env: process.env });
|
|
670
|
+
let allData = [];
|
|
671
|
+
p.stdout.on('data', (data) => {
|
|
672
|
+
allData.push(data);
|
|
673
|
+
if (data.toString('utf-8').indexOf('No devices found') > -1) {
|
|
674
|
+
p.kill('SIGINT');
|
|
675
|
+
resolve(Buffer.concat(allData).toString('utf-8'));
|
|
676
|
+
}
|
|
677
|
+
});
|
|
678
|
+
p.stderr.on('data', (data) => {
|
|
679
|
+
allData.push(data);
|
|
680
|
+
if (data.toString('utf-8').indexOf('No devices found') > -1) {
|
|
681
|
+
p.kill('SIGINT');
|
|
682
|
+
resolve(Buffer.concat(allData).toString('utf-8'));
|
|
683
|
+
}
|
|
684
|
+
});
|
|
685
|
+
p.on('error', reject);
|
|
686
|
+
p.on('close', (code) => {
|
|
687
|
+
if (code === 0 || opts.ignoreErrors === true) {
|
|
688
|
+
resolve(Buffer.concat(allData).toString('utf-8'));
|
|
689
|
+
}
|
|
690
|
+
else {
|
|
691
|
+
reject('Error code was not 0: ' + Buffer.concat(allData).toString('utf-8'));
|
|
692
|
+
}
|
|
693
|
+
});
|
|
694
|
+
});
|
|
695
|
+
}
|
|
696
|
+
else {
|
|
697
|
+
gstInspectRet = await this._spawnHelper(command, args, opts);
|
|
698
|
+
}
|
|
699
|
+
}
|
|
700
|
+
let gstInspectLines = gstInspectRet.split('\n');
|
|
701
|
+
let inRoiWidth = false;
|
|
702
|
+
let inRoiHeight = false;
|
|
703
|
+
let currProp = [];
|
|
704
|
+
let expectedIndent = 0;
|
|
705
|
+
let defaultWidth = 1920;
|
|
706
|
+
let defaultHeight = 1080;
|
|
707
|
+
// find AutoFunctionROIWidth-ROI1 and AutoFunctionROIHeight-ROI1
|
|
708
|
+
for (const line of gstInspectLines) {
|
|
709
|
+
let currIndent = line.split(/\w+/)[0].length;
|
|
710
|
+
if (line.indexOf('AutoFunctionROIWidth-ROI1') > -1) {
|
|
711
|
+
inRoiWidth = true;
|
|
712
|
+
expectedIndent = currIndent;
|
|
713
|
+
currProp = [line];
|
|
714
|
+
continue;
|
|
715
|
+
}
|
|
716
|
+
else if (line.indexOf('AutoFunctionROIHeight-ROI1') > -1) {
|
|
717
|
+
inRoiHeight = true;
|
|
718
|
+
expectedIndent = currIndent;
|
|
719
|
+
currProp = [line];
|
|
720
|
+
continue;
|
|
721
|
+
}
|
|
722
|
+
if (inRoiWidth) {
|
|
723
|
+
if (currIndent === expectedIndent) {
|
|
724
|
+
let roiWidth = currProp.join('\n');
|
|
725
|
+
if (this._verbose) {
|
|
726
|
+
console.log(PREFIX, 'AutoFunctionROIWidth-ROI1:\n', roiWidth);
|
|
727
|
+
}
|
|
728
|
+
let m = roiWidth.match(/Default\: (\d+)/);
|
|
729
|
+
if (m) {
|
|
730
|
+
defaultWidth = Number(m[1]);
|
|
731
|
+
}
|
|
732
|
+
inRoiWidth = false;
|
|
733
|
+
}
|
|
734
|
+
else {
|
|
735
|
+
currProp.push(line);
|
|
736
|
+
}
|
|
737
|
+
}
|
|
738
|
+
if (inRoiHeight) {
|
|
739
|
+
if (currIndent === expectedIndent) {
|
|
740
|
+
let roiHeight = currProp.join('\n');
|
|
741
|
+
if (this._verbose) {
|
|
742
|
+
console.log(PREFIX, 'AutoFunctionROIHeight-ROI1:\n', roiHeight);
|
|
743
|
+
}
|
|
744
|
+
let m = roiHeight.match(/Default\: (\d+)/);
|
|
745
|
+
if (m) {
|
|
746
|
+
defaultHeight = Number(m[1]);
|
|
747
|
+
}
|
|
748
|
+
inRoiHeight = false;
|
|
749
|
+
}
|
|
750
|
+
else {
|
|
751
|
+
currProp.push(line);
|
|
752
|
+
}
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
// console.log('gstInspectRes', gstInspectRet);
|
|
756
|
+
let gstLaunchRet;
|
|
757
|
+
{
|
|
758
|
+
let command = 'gst-launch-1.0';
|
|
759
|
+
let args = ['pylonsrc'];
|
|
760
|
+
let opts = { ignoreErrors: true };
|
|
761
|
+
// not overridden spawn helper?
|
|
762
|
+
if (this._spawnHelper === spawn_helper_1.spawnHelper) {
|
|
763
|
+
gstLaunchRet = await new Promise((resolve, reject) => {
|
|
764
|
+
const p = child_process_1.spawn(command, args, { env: process.env });
|
|
765
|
+
let allData = [];
|
|
766
|
+
p.stdout.on('data', (data) => {
|
|
767
|
+
allData.push(data);
|
|
768
|
+
if (data.toString('utf-8').indexOf('No devices found') > -1) {
|
|
769
|
+
p.kill('SIGINT');
|
|
770
|
+
resolve(Buffer.concat(allData).toString('utf-8'));
|
|
771
|
+
}
|
|
772
|
+
});
|
|
773
|
+
p.stderr.on('data', (data) => {
|
|
774
|
+
allData.push(data);
|
|
775
|
+
if (data.toString('utf-8').indexOf('No devices found') > -1) {
|
|
776
|
+
p.kill('SIGINT');
|
|
777
|
+
resolve(Buffer.concat(allData).toString('utf-8'));
|
|
778
|
+
}
|
|
779
|
+
});
|
|
780
|
+
p.on('error', reject);
|
|
781
|
+
p.on('close', (code) => {
|
|
782
|
+
if (code === 0 || opts.ignoreErrors === true) {
|
|
783
|
+
resolve(Buffer.concat(allData).toString('utf-8'));
|
|
784
|
+
}
|
|
785
|
+
else {
|
|
786
|
+
reject('Error code was not 0: ' + Buffer.concat(allData).toString('utf-8'));
|
|
787
|
+
}
|
|
788
|
+
});
|
|
789
|
+
});
|
|
790
|
+
}
|
|
791
|
+
else {
|
|
792
|
+
gstLaunchRet = await this._spawnHelper(command, args, opts);
|
|
793
|
+
}
|
|
794
|
+
}
|
|
795
|
+
let lines = gstLaunchRet.split('\n').filter(x => !!x).map(x => x.trim());
|
|
796
|
+
if (this._verbose) {
|
|
797
|
+
console.log(PREFIX, 'gst-launch-1.0 pylonsrc options', lines.join('\n'));
|
|
798
|
+
}
|
|
799
|
+
for (let l of lines) {
|
|
800
|
+
let m = l.match(/New clock: GstSystemClock/);
|
|
801
|
+
if (!m) {
|
|
802
|
+
continue;
|
|
803
|
+
}
|
|
804
|
+
// fps,height and width won't be used
|
|
805
|
+
let cap = {
|
|
806
|
+
framerate: 60,
|
|
807
|
+
height: defaultHeight,
|
|
808
|
+
width: defaultWidth,
|
|
809
|
+
type: 'pylonsrc'
|
|
810
|
+
};
|
|
811
|
+
caps.push(cap);
|
|
812
|
+
}
|
|
813
|
+
if (caps.length > 0) {
|
|
814
|
+
let d = {
|
|
815
|
+
caps: caps,
|
|
816
|
+
deviceClass: '',
|
|
817
|
+
id: 'pylonsrc',
|
|
818
|
+
inCapMode: false,
|
|
819
|
+
name: 'Basler camera',
|
|
820
|
+
rawCaps: [],
|
|
821
|
+
};
|
|
822
|
+
return [d];
|
|
823
|
+
}
|
|
824
|
+
else {
|
|
825
|
+
return [];
|
|
826
|
+
}
|
|
827
|
+
}
|
|
576
828
|
getLastOptions() {
|
|
577
829
|
return this._lastOptions;
|
|
578
830
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gstreamer.js","sourceRoot":"","sources":["../../../library/sensors/gstreamer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gstreamer.js","sourceRoot":"","sources":["../../../library/sensors/gstreamer.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,8 @@ import { OrganizationAddDatasetRequest } from '../model/organizationAddDatasetRe
|
|
|
33
33
|
import { OrganizationProjectsDataBatchDisableResponse } from '../model/organizationProjectsDataBatchDisableResponse';
|
|
34
34
|
import { OrganizationProjectsDataBatchEnableResponse } from '../model/organizationProjectsDataBatchEnableResponse';
|
|
35
35
|
import { OrganizationProjectsDataBatchRequest } from '../model/organizationProjectsDataBatchRequest';
|
|
36
|
+
import { PreviewDefaultFilesInFolderRequest } from '../model/previewDefaultFilesInFolderRequest';
|
|
37
|
+
import { PreviewDefaultFilesInFolderResponse } from '../model/previewDefaultFilesInFolderResponse';
|
|
36
38
|
import { RenamePortalFileRequest } from '../model/renamePortalFileRequest';
|
|
37
39
|
import { SetOrganizationDataDatasetRequest } from '../model/setOrganizationDataDatasetRequest';
|
|
38
40
|
import { StartJobResponse } from '../model/startJobResponse';
|
|
@@ -590,6 +592,18 @@ export declare class OrganizationDataApi {
|
|
|
590
592
|
[name: string]: string;
|
|
591
593
|
};
|
|
592
594
|
}): Promise<StartJobResponse>;
|
|
595
|
+
/**
|
|
596
|
+
* Preview files and directories in a default dataset for the given prefix, with support for wildcards. This is an internal API used when starting a transformation job.
|
|
597
|
+
* @summary Preview files in a default dataset
|
|
598
|
+
* @param organizationId Organization ID
|
|
599
|
+
* @param dataset Dataset name
|
|
600
|
+
* @param previewDefaultFilesInFolderRequest
|
|
601
|
+
*/
|
|
602
|
+
previewDefaultFilesInFolder(organizationId: number, dataset: string, previewDefaultFilesInFolderRequest: PreviewDefaultFilesInFolderRequest, options?: {
|
|
603
|
+
headers: {
|
|
604
|
+
[name: string]: string;
|
|
605
|
+
};
|
|
606
|
+
}): Promise<PreviewDefaultFilesInFolderResponse>;
|
|
593
607
|
/**
|
|
594
608
|
* Preview a single file from a data item (same as downloadOrganizationDataFile but w/ content-disposition inline and could be truncated).
|
|
595
609
|
* @summary Preview file
|