@camera.ui/browser 0.0.74 → 0.0.76
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/dist/bundle.js +1 -1
- package/dist/types/packages/client/browser/src/types.d.ts +1 -1
- package/dist/types/server/src/api/controllers/cameras.controller.d.ts +5 -5
- package/dist/types/server/src/api/controllers/frameWorkers.controller.d.ts +16 -0
- package/dist/types/server/src/api/database/types.d.ts +23 -5
- package/dist/types/server/src/api/routes/frameWorkers.routes.d.ts +2 -0
- package/dist/types/server/src/api/schemas/cameras.schema.d.ts +231 -158
- package/dist/types/server/src/api/schemas/go2rtc.schema.d.ts +105 -6
- package/dist/types/server/src/api/schemas/users.schema.d.ts +2 -2
- package/dist/types/server/src/api/services/auth.service.d.ts +0 -1
- package/dist/types/server/src/api/services/cameras.service.d.ts +4 -3
- package/dist/types/server/src/api/services/plugins.service.d.ts +0 -1
- package/dist/types/server/src/api/services/users.service.d.ts +0 -1
- package/dist/types/server/src/api/types/index.d.ts +14 -6
- package/dist/types/server/src/api/websocket/nsp/frameWorker.d.ts +13 -0
- package/dist/types/server/src/api/websocket/nsp/metrics.d.ts +6 -1
- package/dist/types/server/src/api/websocket/nsp/status.d.ts +6 -0
- package/dist/types/server/src/api/websocket/types.d.ts +6 -2
- package/dist/types/server/src/api.d.ts +1 -1
- package/dist/types/server/src/camera/{controller/index.d.ts → controller.d.ts} +10 -7
- package/dist/types/server/src/camera/{cameraDevice.d.ts → device.d.ts} +11 -3
- package/dist/types/server/src/camera/index.d.ts +21 -15
- package/dist/types/server/src/camera/polygon.d.ts +3 -0
- package/dist/types/server/src/camera/streaming/peer-connection.d.ts +2 -2
- package/dist/types/server/src/camera/streaming/streaming-session.d.ts +2 -2
- package/dist/types/server/src/camera/streaming/webrtc-connection.d.ts +2 -2
- package/dist/types/server/src/camera/{controller/types.d.ts → types.d.ts} +22 -13
- package/dist/types/server/src/camera/videoFrame.d.ts +25 -0
- package/dist/types/server/src/decoder/index.d.ts +1 -12
- package/dist/types/server/src/decoder/types.d.ts +40 -11
- package/dist/types/server/src/decoder/worker.d.ts +16 -16
- package/dist/types/server/src/nats/constants.d.ts +0 -1
- package/dist/types/server/src/nats/index.d.ts +2 -2
- package/dist/types/server/src/nats/proxy/cameraDevice.d.ts +2 -7
- package/dist/types/server/src/nats/proxy/deviceManager.d.ts +1 -1
- package/dist/types/server/src/nats/server.d.ts +4 -2
- package/dist/types/server/src/nats/types.d.ts +6 -10
- package/dist/types/server/src/nats/websocket.d.ts +1 -1
- package/dist/types/server/src/plugins/base.d.ts +1 -1
- package/dist/types/server/src/plugins/types.d.ts +2 -0
- package/dist/types/server/src/polyglot/node/plugins/api.d.ts +1 -1
- package/dist/types/server/src/polyglot/node/plugins/proxy/cameraDevice.d.ts +34 -19
- package/dist/types/server/src/polyglot/node/plugins/proxy/deviceManager.d.ts +11 -9
- package/dist/types/server/src/polyglot/node/plugins/proxy/pluginsManager.d.ts +8 -7
- package/dist/types/server/src/polyglot/node/plugins/proxy/queue.d.ts +3 -1
- package/dist/types/server/src/polyglot/node/plugins/proxy/systemManager.d.ts +8 -7
- package/dist/types/server/src/services/config/types.d.ts +8 -0
- package/dist/types/shared/types/index.d.ts +3 -1
- package/package.json +5 -5
|
@@ -17,11 +17,11 @@ export declare const logSchema: zod.ZodObject<{
|
|
|
17
17
|
streams: zod.ZodUnion<[zod.ZodLiteral<"info">, zod.ZodLiteral<"debug">, zod.ZodLiteral<"trace">, zod.ZodLiteral<"warn">, zod.ZodLiteral<"error">, zod.ZodLiteral<"fatal">]>;
|
|
18
18
|
webrtc: zod.ZodUnion<[zod.ZodLiteral<"info">, zod.ZodLiteral<"debug">, zod.ZodLiteral<"trace">, zod.ZodLiteral<"warn">, zod.ZodLiteral<"error">, zod.ZodLiteral<"fatal">]>;
|
|
19
19
|
}, "strict", zod.ZodTypeAny, {
|
|
20
|
+
mp4: "error" | "info" | "debug" | "warn" | "trace" | "fatal";
|
|
20
21
|
rtsp: "error" | "info" | "debug" | "warn" | "trace" | "fatal";
|
|
21
22
|
webrtc: "error" | "info" | "debug" | "warn" | "trace" | "fatal";
|
|
22
23
|
mjpeg: "error" | "info" | "debug" | "warn" | "trace" | "fatal";
|
|
23
24
|
hls: "error" | "info" | "debug" | "warn" | "trace" | "fatal";
|
|
24
|
-
mp4: "error" | "info" | "debug" | "warn" | "trace" | "fatal";
|
|
25
25
|
level: "error" | "info" | "debug" | "warn" | "trace" | "fatal";
|
|
26
26
|
format: string;
|
|
27
27
|
api: "error" | "info" | "debug" | "warn" | "trace" | "fatal";
|
|
@@ -33,11 +33,11 @@ export declare const logSchema: zod.ZodObject<{
|
|
|
33
33
|
hass: "error" | "info" | "debug" | "warn" | "trace" | "fatal";
|
|
34
34
|
streams: "error" | "info" | "debug" | "warn" | "trace" | "fatal";
|
|
35
35
|
}, {
|
|
36
|
+
mp4: "error" | "info" | "debug" | "warn" | "trace" | "fatal";
|
|
36
37
|
rtsp: "error" | "info" | "debug" | "warn" | "trace" | "fatal";
|
|
37
38
|
webrtc: "error" | "info" | "debug" | "warn" | "trace" | "fatal";
|
|
38
39
|
mjpeg: "error" | "info" | "debug" | "warn" | "trace" | "fatal";
|
|
39
40
|
hls: "error" | "info" | "debug" | "warn" | "trace" | "fatal";
|
|
40
|
-
mp4: "error" | "info" | "debug" | "warn" | "trace" | "fatal";
|
|
41
41
|
api: "error" | "info" | "debug" | "warn" | "trace" | "fatal";
|
|
42
42
|
exec: "error" | "info" | "debug" | "warn" | "trace" | "fatal";
|
|
43
43
|
ngrok: "error" | "info" | "debug" | "warn" | "trace" | "fatal";
|
|
@@ -132,6 +132,25 @@ export declare const ngrokSchema: zod.ZodObject<{
|
|
|
132
132
|
}, {
|
|
133
133
|
command: string;
|
|
134
134
|
}>;
|
|
135
|
+
export declare const filterSchema: zod.ZodObject<{
|
|
136
|
+
candidates: zod.ZodDefault<zod.ZodArray<zod.ZodString, "many">>;
|
|
137
|
+
networks: zod.ZodDefault<zod.ZodArray<zod.ZodString, "many">>;
|
|
138
|
+
interfaces: zod.ZodDefault<zod.ZodArray<zod.ZodString, "many">>;
|
|
139
|
+
ips: zod.ZodDefault<zod.ZodArray<zod.ZodString, "many">>;
|
|
140
|
+
udp_ports: zod.ZodDefault<zod.ZodArray<zod.ZodString, "many">>;
|
|
141
|
+
}, "strict", zod.ZodTypeAny, {
|
|
142
|
+
candidates: string[];
|
|
143
|
+
networks: string[];
|
|
144
|
+
interfaces: string[];
|
|
145
|
+
ips: string[];
|
|
146
|
+
udp_ports: string[];
|
|
147
|
+
}, {
|
|
148
|
+
candidates?: string[] | undefined;
|
|
149
|
+
networks?: string[] | undefined;
|
|
150
|
+
interfaces?: string[] | undefined;
|
|
151
|
+
ips?: string[] | undefined;
|
|
152
|
+
udp_ports?: string[] | undefined;
|
|
153
|
+
}>;
|
|
135
154
|
export declare const iceServerSchema: zod.ZodObject<{
|
|
136
155
|
urls: zod.ZodDefault<zod.ZodArray<zod.ZodString, "many">>;
|
|
137
156
|
username: zod.ZodOptional<zod.ZodString>;
|
|
@@ -161,6 +180,25 @@ export declare const webrtcSchema: zod.ZodObject<{
|
|
|
161
180
|
username?: string | undefined;
|
|
162
181
|
credential?: string | undefined;
|
|
163
182
|
}>, "many">;
|
|
183
|
+
filters: zod.ZodOptional<zod.ZodObject<{
|
|
184
|
+
candidates: zod.ZodDefault<zod.ZodArray<zod.ZodString, "many">>;
|
|
185
|
+
networks: zod.ZodDefault<zod.ZodArray<zod.ZodString, "many">>;
|
|
186
|
+
interfaces: zod.ZodDefault<zod.ZodArray<zod.ZodString, "many">>;
|
|
187
|
+
ips: zod.ZodDefault<zod.ZodArray<zod.ZodString, "many">>;
|
|
188
|
+
udp_ports: zod.ZodDefault<zod.ZodArray<zod.ZodString, "many">>;
|
|
189
|
+
}, "strict", zod.ZodTypeAny, {
|
|
190
|
+
candidates: string[];
|
|
191
|
+
networks: string[];
|
|
192
|
+
interfaces: string[];
|
|
193
|
+
ips: string[];
|
|
194
|
+
udp_ports: string[];
|
|
195
|
+
}, {
|
|
196
|
+
candidates?: string[] | undefined;
|
|
197
|
+
networks?: string[] | undefined;
|
|
198
|
+
interfaces?: string[] | undefined;
|
|
199
|
+
ips?: string[] | undefined;
|
|
200
|
+
udp_ports?: string[] | undefined;
|
|
201
|
+
}>>;
|
|
164
202
|
}, "strict", zod.ZodTypeAny, {
|
|
165
203
|
listen: string;
|
|
166
204
|
candidates: string[];
|
|
@@ -169,6 +207,13 @@ export declare const webrtcSchema: zod.ZodObject<{
|
|
|
169
207
|
username?: string | undefined;
|
|
170
208
|
credential?: string | undefined;
|
|
171
209
|
}[];
|
|
210
|
+
filters?: {
|
|
211
|
+
candidates: string[];
|
|
212
|
+
networks: string[];
|
|
213
|
+
interfaces: string[];
|
|
214
|
+
ips: string[];
|
|
215
|
+
udp_ports: string[];
|
|
216
|
+
} | undefined;
|
|
172
217
|
}, {
|
|
173
218
|
ice_servers: {
|
|
174
219
|
urls?: string[] | undefined;
|
|
@@ -177,6 +222,13 @@ export declare const webrtcSchema: zod.ZodObject<{
|
|
|
177
222
|
}[];
|
|
178
223
|
listen?: string | undefined;
|
|
179
224
|
candidates?: string[] | undefined;
|
|
225
|
+
filters?: {
|
|
226
|
+
candidates?: string[] | undefined;
|
|
227
|
+
networks?: string[] | undefined;
|
|
228
|
+
interfaces?: string[] | undefined;
|
|
229
|
+
ips?: string[] | undefined;
|
|
230
|
+
udp_ports?: string[] | undefined;
|
|
231
|
+
} | undefined;
|
|
180
232
|
}>;
|
|
181
233
|
export declare const homeKitSettingsSchema: zod.ZodObject<{
|
|
182
234
|
pin: zod.ZodNumber;
|
|
@@ -270,11 +322,11 @@ export declare const patchGo2RtcSchema: zod.ZodObject<{
|
|
|
270
322
|
streams: zod.ZodOptional<zod.ZodUnion<[zod.ZodLiteral<"info">, zod.ZodLiteral<"debug">, zod.ZodLiteral<"trace">, zod.ZodLiteral<"warn">, zod.ZodLiteral<"error">, zod.ZodLiteral<"fatal">]>>;
|
|
271
323
|
webrtc: zod.ZodOptional<zod.ZodUnion<[zod.ZodLiteral<"info">, zod.ZodLiteral<"debug">, zod.ZodLiteral<"trace">, zod.ZodLiteral<"warn">, zod.ZodLiteral<"error">, zod.ZodLiteral<"fatal">]>>;
|
|
272
324
|
}, "strict", zod.ZodTypeAny, {
|
|
325
|
+
mp4?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
273
326
|
rtsp?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
274
327
|
webrtc?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
275
328
|
mjpeg?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
276
329
|
hls?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
277
|
-
mp4?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
278
330
|
level?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
279
331
|
format?: string | undefined;
|
|
280
332
|
api?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
@@ -286,11 +338,11 @@ export declare const patchGo2RtcSchema: zod.ZodObject<{
|
|
|
286
338
|
hass?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
287
339
|
streams?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
288
340
|
}, {
|
|
341
|
+
mp4?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
289
342
|
rtsp?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
290
343
|
webrtc?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
291
344
|
mjpeg?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
292
345
|
hls?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
293
|
-
mp4?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
294
346
|
level?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
295
347
|
format?: string | undefined;
|
|
296
348
|
api?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
@@ -364,6 +416,25 @@ export declare const patchGo2RtcSchema: zod.ZodObject<{
|
|
|
364
416
|
username?: string | undefined;
|
|
365
417
|
credential?: string | undefined;
|
|
366
418
|
}>, "many">;
|
|
419
|
+
filters: zod.ZodOptional<zod.ZodObject<{
|
|
420
|
+
candidates: zod.ZodDefault<zod.ZodArray<zod.ZodString, "many">>;
|
|
421
|
+
networks: zod.ZodDefault<zod.ZodArray<zod.ZodString, "many">>;
|
|
422
|
+
interfaces: zod.ZodDefault<zod.ZodArray<zod.ZodString, "many">>;
|
|
423
|
+
ips: zod.ZodDefault<zod.ZodArray<zod.ZodString, "many">>;
|
|
424
|
+
udp_ports: zod.ZodDefault<zod.ZodArray<zod.ZodString, "many">>;
|
|
425
|
+
}, "strict", zod.ZodTypeAny, {
|
|
426
|
+
candidates: string[];
|
|
427
|
+
networks: string[];
|
|
428
|
+
interfaces: string[];
|
|
429
|
+
ips: string[];
|
|
430
|
+
udp_ports: string[];
|
|
431
|
+
}, {
|
|
432
|
+
candidates?: string[] | undefined;
|
|
433
|
+
networks?: string[] | undefined;
|
|
434
|
+
interfaces?: string[] | undefined;
|
|
435
|
+
ips?: string[] | undefined;
|
|
436
|
+
udp_ports?: string[] | undefined;
|
|
437
|
+
}>>;
|
|
367
438
|
}, "strict", zod.ZodTypeAny, {
|
|
368
439
|
listen: string;
|
|
369
440
|
candidates: string[];
|
|
@@ -372,6 +443,13 @@ export declare const patchGo2RtcSchema: zod.ZodObject<{
|
|
|
372
443
|
username?: string | undefined;
|
|
373
444
|
credential?: string | undefined;
|
|
374
445
|
}[];
|
|
446
|
+
filters?: {
|
|
447
|
+
candidates: string[];
|
|
448
|
+
networks: string[];
|
|
449
|
+
interfaces: string[];
|
|
450
|
+
ips: string[];
|
|
451
|
+
udp_ports: string[];
|
|
452
|
+
} | undefined;
|
|
375
453
|
}, {
|
|
376
454
|
ice_servers: {
|
|
377
455
|
urls?: string[] | undefined;
|
|
@@ -380,6 +458,13 @@ export declare const patchGo2RtcSchema: zod.ZodObject<{
|
|
|
380
458
|
}[];
|
|
381
459
|
listen?: string | undefined;
|
|
382
460
|
candidates?: string[] | undefined;
|
|
461
|
+
filters?: {
|
|
462
|
+
candidates?: string[] | undefined;
|
|
463
|
+
networks?: string[] | undefined;
|
|
464
|
+
interfaces?: string[] | undefined;
|
|
465
|
+
ips?: string[] | undefined;
|
|
466
|
+
udp_ports?: string[] | undefined;
|
|
467
|
+
} | undefined;
|
|
383
468
|
}>>;
|
|
384
469
|
ffmpeg: zod.ZodDefault<zod.ZodIntersection<zod.ZodRecord<zod.ZodString, zod.ZodString>, zod.ZodObject<{
|
|
385
470
|
bin: zod.ZodDefault<zod.ZodString>;
|
|
@@ -471,6 +556,13 @@ export declare const patchGo2RtcSchema: zod.ZodObject<{
|
|
|
471
556
|
username?: string | undefined;
|
|
472
557
|
credential?: string | undefined;
|
|
473
558
|
}[];
|
|
559
|
+
filters?: {
|
|
560
|
+
candidates: string[];
|
|
561
|
+
networks: string[];
|
|
562
|
+
interfaces: string[];
|
|
563
|
+
ips: string[];
|
|
564
|
+
udp_ports: string[];
|
|
565
|
+
} | undefined;
|
|
474
566
|
};
|
|
475
567
|
api: {
|
|
476
568
|
password: string;
|
|
@@ -490,11 +582,11 @@ export declare const patchGo2RtcSchema: zod.ZodObject<{
|
|
|
490
582
|
output: string;
|
|
491
583
|
};
|
|
492
584
|
log: {
|
|
585
|
+
mp4?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
493
586
|
rtsp?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
494
587
|
webrtc?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
495
588
|
mjpeg?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
496
589
|
hls?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
497
|
-
mp4?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
498
590
|
level?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
499
591
|
format?: string | undefined;
|
|
500
592
|
api?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
@@ -543,6 +635,13 @@ export declare const patchGo2RtcSchema: zod.ZodObject<{
|
|
|
543
635
|
}[];
|
|
544
636
|
listen?: string | undefined;
|
|
545
637
|
candidates?: string[] | undefined;
|
|
638
|
+
filters?: {
|
|
639
|
+
candidates?: string[] | undefined;
|
|
640
|
+
networks?: string[] | undefined;
|
|
641
|
+
interfaces?: string[] | undefined;
|
|
642
|
+
ips?: string[] | undefined;
|
|
643
|
+
udp_ports?: string[] | undefined;
|
|
644
|
+
} | undefined;
|
|
546
645
|
} | undefined;
|
|
547
646
|
api?: {
|
|
548
647
|
password?: string | undefined;
|
|
@@ -581,11 +680,11 @@ export declare const patchGo2RtcSchema: zod.ZodObject<{
|
|
|
581
680
|
output?: string | undefined;
|
|
582
681
|
}) | undefined;
|
|
583
682
|
log?: {
|
|
683
|
+
mp4?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
584
684
|
rtsp?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
585
685
|
webrtc?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
586
686
|
mjpeg?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
587
687
|
hls?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
588
|
-
mp4?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
589
688
|
level?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
590
689
|
format?: string | undefined;
|
|
591
690
|
api?: "error" | "info" | "debug" | "warn" | "trace" | "fatal" | undefined;
|
|
@@ -243,8 +243,8 @@ export declare const createUserSchema: zod.ZodEffects<zod.ZodObject<{
|
|
|
243
243
|
};
|
|
244
244
|
}>>;
|
|
245
245
|
}, "strict", zod.ZodTypeAny, {
|
|
246
|
-
password: string;
|
|
247
246
|
_id: string;
|
|
247
|
+
password: string;
|
|
248
248
|
preferences: {
|
|
249
249
|
camview: {
|
|
250
250
|
grids: {
|
|
@@ -287,8 +287,8 @@ export declare const createUserSchema: zod.ZodEffects<zod.ZodObject<{
|
|
|
287
287
|
oneLogin?: boolean | undefined;
|
|
288
288
|
firstLogin?: boolean | undefined;
|
|
289
289
|
}>, {
|
|
290
|
-
password: string;
|
|
291
290
|
_id: string;
|
|
291
|
+
password: string;
|
|
292
292
|
preferences: {
|
|
293
293
|
camview: {
|
|
294
294
|
grids: {
|
|
@@ -13,9 +13,9 @@ export declare class CamerasService {
|
|
|
13
13
|
constructor();
|
|
14
14
|
createCamera(cameraData: DBCamera): Promise<DBCamera>;
|
|
15
15
|
createTransformedCamera(cameraData: DBCamera): Promise<Camera>;
|
|
16
|
-
createZone(cameraname: string, zoneData: CameraZone
|
|
17
|
-
patchZoneByName(cameraname: string, zonename: string, zoneData: CameraZone
|
|
18
|
-
removeZoneByName(cameraname: string, zonename: string
|
|
16
|
+
createZone(cameraname: string, zoneData: CameraZone): Promise<DBCamera | undefined>;
|
|
17
|
+
patchZoneByName(cameraname: string, zonename: string, zoneData: CameraZone): Promise<DBCamera | undefined>;
|
|
18
|
+
removeZoneByName(cameraname: string, zonename: string): Promise<void>;
|
|
19
19
|
createCameraSource(cameraname: string, sourceName: string, address: string): Promise<void>;
|
|
20
20
|
resetCameraSource(cameraname: string, sourceName: string): Promise<void>;
|
|
21
21
|
list(): DBCamera[];
|
|
@@ -50,5 +50,6 @@ export declare class CamerasService {
|
|
|
50
50
|
private generateFFmpegUrls;
|
|
51
51
|
private generateWWWUrls;
|
|
52
52
|
private extensionIsEnabled;
|
|
53
|
+
private convertToDetectionZones;
|
|
53
54
|
}
|
|
54
55
|
export {};
|
|
@@ -2,7 +2,6 @@ import type { Plugin } from '../../plugins/plugin.js';
|
|
|
2
2
|
import type { PluginWorker } from '../../plugins/worker.js';
|
|
3
3
|
import type { DBPlugin } from '../database/types.js';
|
|
4
4
|
export declare class PluginsService {
|
|
5
|
-
private configService;
|
|
6
5
|
private dbs;
|
|
7
6
|
private pluginManager;
|
|
8
7
|
constructor();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
/// <reference types="node" resolution-mode="require"/>
|
|
3
3
|
import type { Readable } from 'node:stream';
|
|
4
|
-
import type { CameraExtension, PluginContract, PluginRootSchema } from '../../plugins/types.js';
|
|
4
|
+
import type { CameraExtension, PLUGIN_STATUS, PluginContract, PluginRootSchema } from '../../plugins/types.js';
|
|
5
5
|
import type { LoggingLevel } from '../../services/config/types.js';
|
|
6
6
|
import type { CameraExtensions, CameraZone, DBCamera, DBCamviewLayout, DBRoles, DBUser } from '../database/types.js';
|
|
7
7
|
import type { ApplicationResponse } from '../go2rtc/types.js';
|
|
@@ -139,6 +139,10 @@ export interface PluginsResponse {
|
|
|
139
139
|
pagination: Pagination;
|
|
140
140
|
result: CameraUiPlugin[];
|
|
141
141
|
}
|
|
142
|
+
export interface FrameWorkerResponse {
|
|
143
|
+
pagination: Pagination;
|
|
144
|
+
result: FrameWorker[];
|
|
145
|
+
}
|
|
142
146
|
export interface PluginContractCamera {
|
|
143
147
|
name: string;
|
|
144
148
|
extensions: CameraExtensions;
|
|
@@ -249,11 +253,6 @@ export type CamerasExtensionsRequest = {
|
|
|
249
253
|
type: CameraExtension;
|
|
250
254
|
};
|
|
251
255
|
};
|
|
252
|
-
export type CameraZonesTypeRequest = {
|
|
253
|
-
Querystring: {
|
|
254
|
-
type: 'motion' | 'object';
|
|
255
|
-
};
|
|
256
|
-
};
|
|
257
256
|
export type CameraZoneInsertPatchRequest = {
|
|
258
257
|
Body: CameraZone;
|
|
259
258
|
};
|
|
@@ -296,6 +295,11 @@ export type PluginsParamsNameRequest = {
|
|
|
296
295
|
pluginname: string;
|
|
297
296
|
};
|
|
298
297
|
};
|
|
298
|
+
export type FrameWorkerParamsNameRequest = {
|
|
299
|
+
Params: {
|
|
300
|
+
frameworkername: string;
|
|
301
|
+
};
|
|
302
|
+
};
|
|
299
303
|
export type PluginsParamsRemoveRequest = {
|
|
300
304
|
Querystring: {
|
|
301
305
|
removeStorage?: boolean;
|
|
@@ -539,3 +543,7 @@ export interface CameraUiPlugin {
|
|
|
539
543
|
node?: string;
|
|
540
544
|
};
|
|
541
545
|
}
|
|
546
|
+
export interface FrameWorker {
|
|
547
|
+
name: string;
|
|
548
|
+
status: PLUGIN_STATUS;
|
|
549
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Namespace, Server } from 'socket.io';
|
|
2
|
+
import type { PLUGIN_STATUS } from '../../../plugins/types.js';
|
|
3
|
+
import type { SocketNsp } from '../types.js';
|
|
4
|
+
export declare class FrameWorkerNamespace {
|
|
5
|
+
nsp: Namespace;
|
|
6
|
+
nspName: SocketNsp;
|
|
7
|
+
private frameManager;
|
|
8
|
+
constructor(io: Server);
|
|
9
|
+
frameWorkerStatus(frameWorkerName: string, callback?: Function): Promise<void | {
|
|
10
|
+
frameWorkerName: string;
|
|
11
|
+
status: PLUGIN_STATUS;
|
|
12
|
+
}>;
|
|
13
|
+
}
|
|
@@ -1,23 +1,28 @@
|
|
|
1
1
|
import type { Namespace, Server } from 'socket.io';
|
|
2
|
-
import type { CpuInfo, CpuTempInfo, MemoryInfo, NetworkInfo, PluginProcessesInfo, ProcessesInfo, SocketNsp } from '../types.js';
|
|
2
|
+
import type { CpuInfo, CpuTempInfo, FrameWorkerProcessesInfo, MemoryInfo, NetworkInfo, PluginProcessesInfo, ProcessesInfo, SocketNsp } from '../types.js';
|
|
3
3
|
export declare class MetricsNamespace {
|
|
4
4
|
nsp: Namespace;
|
|
5
5
|
nspName: SocketNsp;
|
|
6
6
|
private logger;
|
|
7
7
|
private configService;
|
|
8
8
|
private pluginManager;
|
|
9
|
+
private frameManager;
|
|
9
10
|
private go2rtc;
|
|
11
|
+
private natsServer;
|
|
10
12
|
private cpuHistory;
|
|
11
13
|
private cpuTempHistory;
|
|
12
14
|
private memHistory;
|
|
13
15
|
private networkHistory;
|
|
14
16
|
private processServerHistory;
|
|
15
17
|
private processGo2RtcHistory;
|
|
18
|
+
private processNatHistory;
|
|
16
19
|
private processPluginsHistory;
|
|
20
|
+
private processFrameWorkerHistory;
|
|
17
21
|
private memoryInfo?;
|
|
18
22
|
constructor(io: Server);
|
|
19
23
|
getProcessesInfo(payload: any, callback?: Function): Promise<ProcessesInfo>;
|
|
20
24
|
getPluginsProcessesInfo(payload: any, callback?: Function): Promise<PluginProcessesInfo>;
|
|
25
|
+
getFrameWorkerProcessesInfo(payload: any, callback?: Function): Promise<FrameWorkerProcessesInfo>;
|
|
21
26
|
getServerCpuInfo(payload?: any, callback?: Function): Promise<CpuInfo>;
|
|
22
27
|
getServerMemoryInfo(payload?: any, callback?: Function): Promise<MemoryInfo>;
|
|
23
28
|
getCpuTempInfo(payload?: any, callback?: Function): Promise<CpuTempInfo>;
|
|
@@ -7,7 +7,9 @@ export declare class StatusNamespace {
|
|
|
7
7
|
nspName: SocketNsp;
|
|
8
8
|
private configService;
|
|
9
9
|
private pluginManager;
|
|
10
|
+
private frameManager;
|
|
10
11
|
private go2rtc;
|
|
12
|
+
private natsServer;
|
|
11
13
|
constructor(io: Server);
|
|
12
14
|
watchStats(socket: Socket, payload: any, callback?: Function): {
|
|
13
15
|
name: string;
|
|
@@ -17,4 +19,8 @@ export declare class StatusNamespace {
|
|
|
17
19
|
name: string;
|
|
18
20
|
status: PLUGIN_STATUS;
|
|
19
21
|
}[];
|
|
22
|
+
watchFrameWorkerStats(socket: Socket, payload: any, callback?: Function): {
|
|
23
|
+
name: string;
|
|
24
|
+
status: PLUGIN_STATUS;
|
|
25
|
+
}[];
|
|
20
26
|
}
|
|
@@ -2,7 +2,7 @@ import type { Namespace } from 'socket.io';
|
|
|
2
2
|
import type { WebSocket } from 'ws';
|
|
3
3
|
import type { PLUGIN_STATUS } from '../../plugins/types.js';
|
|
4
4
|
import type { VideoStreamingMode } from '../database/types.js';
|
|
5
|
-
export type SocketNsp = '/camera.ui' | '/metrics' | '/logs' | '/status' | '/notifications' | '/streams' | '/plugins' | '/proxy' | '/frame';
|
|
5
|
+
export type SocketNsp = '/camera.ui' | '/metrics' | '/logs' | '/status' | '/notifications' | '/streams' | '/plugins' | '/proxy' | '/frame' | '/frameWorker';
|
|
6
6
|
export interface SocketNspMap {
|
|
7
7
|
nsp: Namespace;
|
|
8
8
|
[key: string]: any;
|
|
@@ -52,11 +52,15 @@ export interface ProcessInfo {
|
|
|
52
52
|
export interface ProcessesInfo {
|
|
53
53
|
server: ProcessInfo;
|
|
54
54
|
go2rtc: ProcessInfo;
|
|
55
|
+
nats: ProcessInfo;
|
|
55
56
|
}
|
|
56
57
|
export interface PluginProcessesInfo {
|
|
57
58
|
plugins: ProcessInfo[];
|
|
58
59
|
}
|
|
59
|
-
export interface
|
|
60
|
+
export interface FrameWorkerProcessesInfo {
|
|
61
|
+
worker: ProcessInfo[];
|
|
62
|
+
}
|
|
63
|
+
export interface AllProcessesInfo extends ProcessesInfo, PluginProcessesInfo, FrameWorkerProcessesInfo {
|
|
60
64
|
}
|
|
61
65
|
export interface CpuInfo {
|
|
62
66
|
currentLoad: number;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
import 'reflect-metadata';
|
|
3
3
|
import { EventEmitter } from 'node:events';
|
|
4
|
-
import { CameraController } from './camera/controller
|
|
4
|
+
import { CameraController } from './camera/controller.js';
|
|
5
5
|
import type { Camera, CameraExtensions } from './api/database/types.js';
|
|
6
6
|
import type { FrameWorker } from './decoder/worker.js';
|
|
7
7
|
import type { BasePlugin } from './plugins/base.js';
|
|
@@ -1,20 +1,23 @@
|
|
|
1
|
-
import { CameraDevice } from '
|
|
2
|
-
import type { Camera } from '
|
|
3
|
-
import type { VideoFrame } from '
|
|
4
|
-
import type { ProxyServer } from '
|
|
5
|
-
import type { IceServer } from '
|
|
6
|
-
import type { BaseLogger } from './types.js';
|
|
1
|
+
import { CameraDevice } from './device.js';
|
|
2
|
+
import type { Camera } from '../api/database/types.js';
|
|
3
|
+
import type { MotionFrame, VideoFrame } from '../decoder/types.js';
|
|
4
|
+
import type { ProxyServer } from '../nats/index.js';
|
|
5
|
+
import type { IceServer } from '../services/config/types.js';
|
|
6
|
+
import type { BaseLogger, CameraSource } from './types.js';
|
|
7
7
|
export declare class CameraController extends CameraDevice {
|
|
8
8
|
private proxy;
|
|
9
9
|
private motionTimeout?;
|
|
10
10
|
private doorbellTimeout?;
|
|
11
11
|
private doorbellTimeoutDuration;
|
|
12
12
|
private prebufferStateSubscriptions;
|
|
13
|
+
get sources(): CameraSource[];
|
|
13
14
|
constructor(camera: Camera, logger: BaseLogger, proxy: ProxyServer);
|
|
14
15
|
connect(): Promise<void>;
|
|
15
16
|
disconnect(): Promise<void>;
|
|
16
17
|
reboot(): Promise<void>;
|
|
17
|
-
|
|
18
|
+
getFrames(): AsyncIterableIterator<VideoFrame>;
|
|
19
|
+
getMotionFrames(): AsyncIterableIterator<MotionFrame>;
|
|
20
|
+
getPrebufferedFrames(): AsyncIterableIterator<VideoFrame>;
|
|
18
21
|
getFfmpegPath(): Promise<string>;
|
|
19
22
|
getIceServers(): Promise<IceServer[]>;
|
|
20
23
|
updateCamera(updatedCamera: Camera): void;
|
|
@@ -1,19 +1,27 @@
|
|
|
1
|
+
import type { Observable } from 'rxjs';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
1
3
|
import { BaseCameraDevice } from './index.js';
|
|
2
4
|
import { StreamingSession } from './streaming/streaming-session.js';
|
|
3
|
-
import type { VideoFrame } from '../decoder/types.js';
|
|
4
|
-
import type { CameraDelegate, CameraPrebufferDelegate, FfmpegOptions } from './controller/types.js';
|
|
5
|
+
import type { MotionFrame, VideoFrame } from '../decoder/types.js';
|
|
5
6
|
import type { StreamingConnectionOptions } from './streaming/peer-connection.js';
|
|
7
|
+
import type { CameraDelegate, CameraPrebufferDelegate, FfmpegOptions, FrameState } from './types.js';
|
|
6
8
|
export declare abstract class CameraDevice extends BaseCameraDevice {
|
|
9
|
+
protected readonly frameState: BehaviorSubject<FrameState>;
|
|
10
|
+
protected readonly onFrame: Observable<FrameState>;
|
|
7
11
|
private _delegate?;
|
|
8
12
|
private _prebufferDelegate?;
|
|
9
13
|
get delegate(): CameraDelegate | undefined;
|
|
10
14
|
set delegate(delegate: CameraDelegate);
|
|
11
15
|
get prebufferDelegate(): CameraPrebufferDelegate | undefined;
|
|
12
16
|
set prebufferDelegate(delegate: CameraPrebufferDelegate);
|
|
13
|
-
abstract
|
|
17
|
+
abstract getFrames(): AsyncIterableIterator<VideoFrame>;
|
|
18
|
+
abstract getMotionFrames(): AsyncIterableIterator<MotionFrame>;
|
|
19
|
+
abstract getPrebufferedFrames(): AsyncIterableIterator<VideoFrame>;
|
|
14
20
|
abstract getFfmpegPath(): Promise<string>;
|
|
15
21
|
snapshot(forceNew?: boolean): Promise<ArrayBuffer>;
|
|
16
22
|
createSession(sourceName: string, options?: StreamingConnectionOptions): Promise<StreamingSession>;
|
|
17
23
|
streamVideo(sourceName: string, options: FfmpegOptions): Promise<StreamingSession>;
|
|
18
24
|
recordToFile(sourceName: string, outputPath: string, duration?: number): Promise<void>;
|
|
25
|
+
removeAllListeners(): void;
|
|
26
|
+
private createMotionFrameObservable;
|
|
19
27
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
1
2
|
import { LRUCache } from 'lru-cache';
|
|
2
3
|
import { BehaviorSubject } from 'rxjs';
|
|
3
4
|
import type { Observable, Subscription } from 'rxjs';
|
|
4
|
-
import type { Camera, CameraInformation, CameraPublicProperties, CameraType
|
|
5
|
+
import type { Camera, CameraActivitySettings, CameraInformation, CameraPublicProperties, CameraType } from '../api/database/types.js';
|
|
5
6
|
import type { IceServer } from '../services/config/types.js';
|
|
6
|
-
import type { AudioSetEvent, AudioState, BaseLogger, BatterySetEvent, BatteryState, CameraSource, DoorbellSetEvent, DoorbellState, LightSetEvent, LightState, MotionSetEvent, MotionState, ObjectSetEvent, ObjectState,
|
|
7
|
+
import type { AudioSetEvent, AudioState, BaseLogger, BatterySetEvent, BatteryState, CameraSource, Container, DetectionZone, DoorbellSetEvent, DoorbellState, LightSetEvent, LightState, MotionSetEvent, MotionState, ObjectSetEvent, ObjectState, PrebufferState, SetValues, Sets, SirenSetEvent, SirenState, StateValues, States } from './types.js';
|
|
7
8
|
declare class Subscribed {
|
|
8
9
|
private readonly subscriptions;
|
|
9
10
|
private readonly additionalSubscriptions;
|
|
@@ -56,8 +57,8 @@ export declare abstract class BaseCameraDevice extends Subscribed {
|
|
|
56
57
|
get hasPtz(): boolean;
|
|
57
58
|
get hasPrebuffer(): boolean;
|
|
58
59
|
get hasIntercom(): boolean;
|
|
59
|
-
get
|
|
60
|
-
get
|
|
60
|
+
get activityZones(): DetectionZone[];
|
|
61
|
+
get activitySettings(): CameraActivitySettings;
|
|
61
62
|
get sources(): CameraSource[];
|
|
62
63
|
get streamSource(): CameraSource;
|
|
63
64
|
get snapshotSource(): CameraSource;
|
|
@@ -71,7 +72,14 @@ export declare abstract class BaseCameraDevice extends Subscribed {
|
|
|
71
72
|
abstract getIceServers(): Promise<IceServer[]>;
|
|
72
73
|
protected abstract cleanup(): void;
|
|
73
74
|
getValue<T extends keyof StateValues>(stateName: T): StateValues[T];
|
|
74
|
-
updateState
|
|
75
|
+
updateState(stateName: 'light', eventData: LightSetEvent): Promise<void>;
|
|
76
|
+
updateState(stateName: 'motion', eventData: MotionSetEvent, frame?: Buffer): Promise<void>;
|
|
77
|
+
updateState(stateName: 'audio', eventData: AudioSetEvent): Promise<void>;
|
|
78
|
+
updateState(stateName: 'object', eventData: ObjectSetEvent): Promise<void>;
|
|
79
|
+
updateState(stateName: 'doorbell', eventData: DoorbellSetEvent): Promise<void>;
|
|
80
|
+
updateState(stateName: 'siren', eventData: SirenSetEvent): Promise<void>;
|
|
81
|
+
updateState(stateName: 'battery', eventData: BatterySetEvent): Promise<void>;
|
|
82
|
+
protected updateStateInternal<T extends keyof SetValues>(stateName: T, eventData: SetValues[T], skipCheck?: boolean, frame?: Buffer): Promise<void>;
|
|
75
83
|
onStateChange<T extends keyof StateValues>(stateName: T): Observable<{
|
|
76
84
|
newState: StateValues[T];
|
|
77
85
|
oldState: StateValues[T];
|
|
@@ -81,6 +89,10 @@ export declare abstract class BaseCameraDevice extends Subscribed {
|
|
|
81
89
|
newData: Camera[T];
|
|
82
90
|
}>;
|
|
83
91
|
removeAllListeners(): void;
|
|
92
|
+
protected checkStateInternal<T extends keyof SetValues>(stateName: T, event: SetValues[T]): {
|
|
93
|
+
changed: boolean;
|
|
94
|
+
event: StateValues[T];
|
|
95
|
+
};
|
|
84
96
|
protected getAudioState(event: AudioSetEvent): AudioState;
|
|
85
97
|
protected getMotionState(event: MotionSetEvent): MotionState;
|
|
86
98
|
protected getObjectState(event: ObjectSetEvent): ObjectState;
|
|
@@ -89,19 +101,13 @@ export declare abstract class BaseCameraDevice extends Subscribed {
|
|
|
89
101
|
protected getSirenState(event: SirenSetEvent): SirenState;
|
|
90
102
|
protected getBatteryState(event: BatterySetEvent): BatteryState;
|
|
91
103
|
protected updateCamera(updatedCamera: Camera): void;
|
|
92
|
-
protected updatePrebuffer(sourceId: string, container:
|
|
104
|
+
protected updatePrebuffer(sourceId: string, container: Container, state: PrebufferState): Promise<void>;
|
|
93
105
|
protected updateCameraSourcesState(): void;
|
|
94
106
|
protected updateCameraState(state: boolean): void;
|
|
95
|
-
protected cameraSourcePrebufferState(sourceId: string, container:
|
|
107
|
+
protected cameraSourcePrebufferState(sourceId: string, container: Container): PrebufferState;
|
|
96
108
|
private createStateObservable;
|
|
97
|
-
protected createPrebufferStateObservable(sourceId: string, container:
|
|
98
|
-
protected stateChanged<T extends keyof SetValues>(oldState?: SetValues[T], newState?: SetValues[T]): boolean;
|
|
99
|
-
protected isAudioState(state: Sets): state is AudioSetEvent;
|
|
100
|
-
protected isMotionState(state: Sets): state is MotionSetEvent;
|
|
101
|
-
protected isObjectState(state: Sets): state is ObjectSetEvent;
|
|
102
|
-
protected isSirenState(state: Sets): state is SirenSetEvent;
|
|
103
|
-
protected isBatteryState(state: Sets): state is BatterySetEvent;
|
|
104
|
-
protected isGenericState(state: Sets): state is DoorbellSetEvent;
|
|
109
|
+
protected createPrebufferStateObservable(sourceId: string, container: Container): Observable<PrebufferState>;
|
|
110
|
+
protected stateChanged<T extends keyof SetValues>(oldState?: SetValues[T], newState?: SetValues[T], type?: keyof StateValues): boolean;
|
|
105
111
|
protected isStateEvent(state: States | Sets): state is States;
|
|
106
112
|
}
|
|
107
113
|
export {};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { Detection, DetectionZone } from './types.js';
|
|
2
|
+
export declare const areObjectDetectionsValid: (detections: Detection[], zones: DetectionZone[]) => Detection[];
|
|
3
|
+
export declare const areMotionDetectionsValid: (detections: Detection[], zones: DetectionZone[]) => Detection[];
|
|
@@ -4,8 +4,8 @@ import { Subscribed } from '../../utils/subscribed.js';
|
|
|
4
4
|
import type { Observable } from 'rxjs';
|
|
5
5
|
import type { ConnectionState, RTCIceCandidate, RTCSessionDescription, RtcpPacket, RtpPacket, RTCIceCandidate as WeriftRTCICECandidate } from 'werift';
|
|
6
6
|
import type { IceServer } from '../../services/config/types.js';
|
|
7
|
-
import type { CameraDevice } from '../
|
|
8
|
-
import type { BaseLogger } from '../
|
|
7
|
+
import type { CameraDevice } from '../device.js';
|
|
8
|
+
import type { BaseLogger } from '../types.js';
|
|
9
9
|
export interface BasicPeerConnection {
|
|
10
10
|
createOffer(): Promise<RTCSessionDescription>;
|
|
11
11
|
acceptAnswer(answer: {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ReplaySubject, Subject } from 'rxjs';
|
|
2
2
|
import { RtpPacket } from 'werift';
|
|
3
3
|
import { Subscribed } from '../../utils/subscribed.js';
|
|
4
|
-
import type { CameraDevice } from '../
|
|
5
|
-
import type { BaseLogger, FfmpegOptions, SpawnInput } from '../
|
|
4
|
+
import type { CameraDevice } from '../device.js';
|
|
5
|
+
import type { BaseLogger, FfmpegOptions, SpawnInput } from '../types.js';
|
|
6
6
|
import type { WebrtcConnection } from './webrtc-connection.js';
|
|
7
7
|
export declare class StreamingSession extends Subscribed {
|
|
8
8
|
readonly onCallEnded: ReplaySubject<void>;
|
|
@@ -2,8 +2,8 @@ import { ReplaySubject, Subject, type Observable } from 'rxjs';
|
|
|
2
2
|
import { Subscribed } from '../../utils/subscribed.js';
|
|
3
3
|
import type { RtpPacket } from 'werift';
|
|
4
4
|
import type { IceServer } from '../../services/config/types.js';
|
|
5
|
-
import type { CameraDevice } from '../
|
|
6
|
-
import type { BaseLogger } from '../
|
|
5
|
+
import type { CameraDevice } from '../device.js';
|
|
6
|
+
import type { BaseLogger } from '../types.js';
|
|
7
7
|
import type { StreamingConnectionOptions } from './peer-connection.js';
|
|
8
8
|
export declare class WebrtcConnection extends Subscribed {
|
|
9
9
|
readonly onCameraConnected: ReplaySubject<void>;
|