@camera.ui/common 0.0.12 → 0.0.14
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/cameraUtils/ffmpeg-process.d.ts +23 -0
- package/dist/cameraUtils/ffmpeg-process.js +72 -0
- package/dist/cameraUtils/ffmpeg-process.js.map +1 -0
- package/dist/cameraUtils/ffmpeg.d.ts +11 -0
- package/dist/{utils → cameraUtils}/ffmpeg.js +18 -2
- package/dist/cameraUtils/ffmpeg.js.map +1 -0
- package/dist/cameraUtils/index.d.ts +10 -0
- package/dist/cameraUtils/index.js +11 -0
- package/dist/cameraUtils/index.js.map +1 -0
- package/dist/cameraUtils/mp4.d.ts +10 -0
- package/dist/cameraUtils/mp4.js +53 -0
- package/dist/cameraUtils/mp4.js.map +1 -0
- package/dist/cameraUtils/ports.d.ts +7 -0
- package/dist/cameraUtils/ports.js +43 -0
- package/dist/cameraUtils/ports.js.map +1 -0
- package/dist/cameraUtils/processor.d.ts +49 -0
- package/dist/cameraUtils/processor.js +154 -0
- package/dist/cameraUtils/processor.js.map +1 -0
- package/dist/cameraUtils/return-audio-transcoder.d.ts +40 -0
- package/dist/cameraUtils/return-audio-transcoder.js +84 -0
- package/dist/cameraUtils/return-audio-transcoder.js.map +1 -0
- package/dist/cameraUtils/rtp-splitter.d.ts +35 -0
- package/dist/cameraUtils/rtp-splitter.js +86 -0
- package/dist/cameraUtils/rtp-splitter.js.map +1 -0
- package/dist/cameraUtils/rtp.d.ts +3 -0
- package/dist/cameraUtils/rtp.js +16 -0
- package/dist/cameraUtils/rtp.js.map +1 -0
- package/dist/cameraUtils/srtp.d.ts +8 -0
- package/dist/cameraUtils/srtp.js +22 -0
- package/dist/cameraUtils/srtp.js.map +1 -0
- package/dist/cameraUtils/utils.d.ts +1 -0
- package/dist/cameraUtils/utils.js +15 -0
- package/dist/cameraUtils/utils.js.map +1 -0
- package/dist/index.d.ts +11 -2
- package/dist/index.js +11 -2
- package/dist/index.js.map +1 -1
- package/dist/{utils/reader.d.ts → net/index.d.ts} +2 -1
- package/dist/{utils/reader.js → net/index.js} +32 -1
- package/dist/net/index.js.map +1 -0
- package/dist/utils/index.d.ts +0 -2
- package/dist/utils/index.js +0 -2
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/utils.d.ts +9 -9
- package/dist/utils/utils.js +19 -17
- package/dist/utils/utils.js.map +1 -1
- package/package.json +15 -3
- package/dist/utils/ffmpeg.d.ts +0 -14
- package/dist/utils/ffmpeg.js.map +0 -1
- package/dist/utils/reader.js.map +0 -1
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { RemoteInfo, Socket } from 'node:dgram';
|
|
2
|
+
import type { Observable } from 'rxjs';
|
|
3
|
+
export interface SocketTarget {
|
|
4
|
+
port: number;
|
|
5
|
+
address?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface RtpMessageDescription {
|
|
8
|
+
isRtpMessage: boolean;
|
|
9
|
+
payloadType: number;
|
|
10
|
+
info: RemoteInfo;
|
|
11
|
+
message: Buffer;
|
|
12
|
+
}
|
|
13
|
+
export type RtpMessageHandler = (description: RtpMessageDescription) => SocketTarget | null;
|
|
14
|
+
export declare class RtpSplitter {
|
|
15
|
+
socket?: Socket;
|
|
16
|
+
address?: string;
|
|
17
|
+
port?: number;
|
|
18
|
+
type?: 'udp4' | 'udp6';
|
|
19
|
+
onMessage?: Observable<{
|
|
20
|
+
message: Buffer;
|
|
21
|
+
info: RemoteInfo;
|
|
22
|
+
isRtpMessage: boolean;
|
|
23
|
+
payloadType: number;
|
|
24
|
+
}>;
|
|
25
|
+
private closed;
|
|
26
|
+
private cleanedUp;
|
|
27
|
+
private onClose;
|
|
28
|
+
constructor();
|
|
29
|
+
prepare(type: 'udp4' | 'udp6', address?: string, messageHandler?: RtpMessageHandler): Promise<void>;
|
|
30
|
+
addMessageHandler(handler: RtpMessageHandler): void;
|
|
31
|
+
addOneTimeMessageHandler(handler: RtpMessageHandler): void;
|
|
32
|
+
send(message: Buffer, sendTo: SocketTarget): void;
|
|
33
|
+
private cleanUp;
|
|
34
|
+
close(): void;
|
|
35
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { createSocket } from 'node:dgram';
|
|
2
|
+
import { fromEvent, merge, ReplaySubject } from 'rxjs';
|
|
3
|
+
import { map, share, takeUntil } from 'rxjs/operators';
|
|
4
|
+
import { bindToPort } from './ports.js';
|
|
5
|
+
import { getPayloadType, isRtpMessagePayloadType } from './rtp.js';
|
|
6
|
+
export class RtpSplitter {
|
|
7
|
+
socket;
|
|
8
|
+
address;
|
|
9
|
+
port;
|
|
10
|
+
type;
|
|
11
|
+
onMessage;
|
|
12
|
+
closed = false;
|
|
13
|
+
cleanedUp = false;
|
|
14
|
+
onClose = new ReplaySubject();
|
|
15
|
+
constructor() { }
|
|
16
|
+
async prepare(type, address = '127.0.0.1', messageHandler) {
|
|
17
|
+
this.type = type;
|
|
18
|
+
const socket = createSocket(type);
|
|
19
|
+
const port = await bindToPort(socket, address);
|
|
20
|
+
socket.setSendBufferSize(1024 * 1024);
|
|
21
|
+
this.socket = socket;
|
|
22
|
+
this.address = address;
|
|
23
|
+
this.port = port;
|
|
24
|
+
this.onMessage = fromEvent(this.socket, 'message').pipe(map(([message, info]) => {
|
|
25
|
+
const payloadType = getPayloadType(message);
|
|
26
|
+
return {
|
|
27
|
+
message,
|
|
28
|
+
info,
|
|
29
|
+
isRtpMessage: isRtpMessagePayloadType(payloadType),
|
|
30
|
+
payloadType,
|
|
31
|
+
};
|
|
32
|
+
}), takeUntil(this.onClose), share());
|
|
33
|
+
if (messageHandler) {
|
|
34
|
+
this.addMessageHandler(messageHandler);
|
|
35
|
+
}
|
|
36
|
+
merge(fromEvent(this.socket, 'close'), fromEvent(this.socket, 'error'))
|
|
37
|
+
.pipe(takeUntil(this.onClose))
|
|
38
|
+
.subscribe(() => {
|
|
39
|
+
this.cleanUp();
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
addMessageHandler(handler) {
|
|
43
|
+
this.onMessage?.subscribe((description) => {
|
|
44
|
+
const forwardingTarget = handler(description);
|
|
45
|
+
if (forwardingTarget) {
|
|
46
|
+
this.send(description.message, forwardingTarget);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
addOneTimeMessageHandler(handler) {
|
|
51
|
+
const subscription = this.onMessage?.subscribe((description) => {
|
|
52
|
+
const forwardingTarget = handler(description);
|
|
53
|
+
if (forwardingTarget) {
|
|
54
|
+
this.send(description.message, forwardingTarget);
|
|
55
|
+
}
|
|
56
|
+
// Unsubscribe nach der ersten Ausführung
|
|
57
|
+
subscription?.unsubscribe();
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
send(message, sendTo) {
|
|
61
|
+
if (this.closed) {
|
|
62
|
+
// If we send a message on a closed socket, it will throw an ERR_SOCKET_DGRAM_NOT_RUNNING error
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
this.socket?.send(message, sendTo.port, sendTo.address || '127.0.0.1');
|
|
66
|
+
}
|
|
67
|
+
cleanUp() {
|
|
68
|
+
this.closed = true;
|
|
69
|
+
if (this.cleanedUp) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
this.address = undefined;
|
|
73
|
+
this.port = undefined;
|
|
74
|
+
this.type = undefined;
|
|
75
|
+
this.cleanedUp = true;
|
|
76
|
+
this.onClose.next(null);
|
|
77
|
+
}
|
|
78
|
+
close() {
|
|
79
|
+
if (this.closed) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
this.socket?.close();
|
|
83
|
+
this.cleanUp();
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=rtp-splitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rtp-splitter.js","sourceRoot":"","sources":["../../src/cameraUtils/rtp-splitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export function getPayloadType(message) {
|
|
2
|
+
return message.readUInt8(1) & 0x7f;
|
|
3
|
+
}
|
|
4
|
+
export function isRtpMessagePayloadType(payloadType) {
|
|
5
|
+
return payloadType > 90 || payloadType === 0;
|
|
6
|
+
}
|
|
7
|
+
export function getSsrc(message) {
|
|
8
|
+
try {
|
|
9
|
+
const payloadType = getPayloadType(message), isRtp = isRtpMessagePayloadType(payloadType);
|
|
10
|
+
return message.readUInt32BE(isRtp ? 8 : 4);
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=rtp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rtp.js","sourceRoot":"","sources":["../../src/cameraUtils/rtp.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,WAAmB;IACzD,OAAO,WAAW,GAAG,EAAE,IAAI,WAAW,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,OAAe;IACrC,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,EACzC,KAAK,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;QAC/C,OAAO,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface SrtpOptions {
|
|
2
|
+
srtpKey: Buffer;
|
|
3
|
+
srtpSalt: Buffer;
|
|
4
|
+
}
|
|
5
|
+
export declare function encodeSrtpOptions({ srtpKey, srtpSalt }: SrtpOptions): string;
|
|
6
|
+
export declare function decodeSrtpOptions(encodedOptions: string): SrtpOptions;
|
|
7
|
+
export declare function createCryptoLine(srtpOptions: SrtpOptions): string;
|
|
8
|
+
export declare function generateSrtpOptions(): SrtpOptions;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { randomBytes } from 'node:crypto';
|
|
2
|
+
export function encodeSrtpOptions({ srtpKey, srtpSalt }) {
|
|
3
|
+
return Buffer.concat([srtpKey, srtpSalt]).toString('base64');
|
|
4
|
+
}
|
|
5
|
+
export function decodeSrtpOptions(encodedOptions) {
|
|
6
|
+
const crypto = Buffer.from(encodedOptions, 'base64');
|
|
7
|
+
return {
|
|
8
|
+
srtpKey: crypto.subarray(0, 16),
|
|
9
|
+
srtpSalt: crypto.subarray(16, 30),
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export function createCryptoLine(srtpOptions) {
|
|
13
|
+
const encodedOptions = encodeSrtpOptions(srtpOptions);
|
|
14
|
+
return `a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:${encodedOptions}`;
|
|
15
|
+
}
|
|
16
|
+
export function generateSrtpOptions() {
|
|
17
|
+
return {
|
|
18
|
+
srtpKey: randomBytes(16),
|
|
19
|
+
srtpSalt: randomBytes(14),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=srtp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"srtp.js","sourceRoot":"","sources":["../../src/cameraUtils/srtp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAO1C,MAAM,UAAU,iBAAiB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAe;IAClE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,cAAsB;IACtD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAErD,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;QAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,WAAwB;IACvD,MAAM,cAAc,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAEtD,OAAO,6CAA6C,cAAc,EAAE,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;QACxB,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC;KAC1B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function timeoutPromise<T>(timeout: number, promise: Promise<T>): Promise<T>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export function timeoutPromise(timeout, promise) {
|
|
2
|
+
return new Promise((resolve, reject) => {
|
|
3
|
+
const t = setTimeout(() => reject(new Error('Operation timed out')), timeout);
|
|
4
|
+
promise
|
|
5
|
+
.then((v) => {
|
|
6
|
+
clearTimeout(t);
|
|
7
|
+
resolve(v);
|
|
8
|
+
})
|
|
9
|
+
.catch((e) => {
|
|
10
|
+
clearTimeout(t);
|
|
11
|
+
reject(e);
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/cameraUtils/utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc,CAAI,OAAe,EAAE,OAAmB;IACpE,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxC,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAE9E,OAAO;aACJ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACV,YAAY,CAAC,CAAC,CAAC,CAAC;YAChB,OAAO,CAAC,CAAC,CAAC,CAAC;QACb,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,YAAY,CAAC,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,21 @@
|
|
|
1
|
+
export * from './cameraUtils/ffmpeg-process.js';
|
|
2
|
+
export * from './cameraUtils/ffmpeg.js';
|
|
3
|
+
export * from './cameraUtils/mp4.js';
|
|
4
|
+
export * from './cameraUtils/ports.js';
|
|
5
|
+
export * from './cameraUtils/processor.js';
|
|
6
|
+
export * from './cameraUtils/return-audio-transcoder.js';
|
|
7
|
+
export * from './cameraUtils/rtp-splitter.js';
|
|
8
|
+
export * from './cameraUtils/rtp.js';
|
|
9
|
+
export * from './cameraUtils/srtp.js';
|
|
10
|
+
export * from './cameraUtils/utils.js';
|
|
1
11
|
export * from './logger/index.js';
|
|
2
12
|
export * from './messaging/index.js';
|
|
3
13
|
export * from './nats/index.js';
|
|
14
|
+
export * from './net/index.js';
|
|
4
15
|
export * from './network/index.js';
|
|
5
16
|
export * from './npm/index.js';
|
|
6
17
|
export * from './packer/index.js';
|
|
7
18
|
export * from './python/index.js';
|
|
8
19
|
export * from './utils/env.js';
|
|
9
|
-
export * from './utils/ffmpeg.js';
|
|
10
|
-
export * from './utils/reader.js';
|
|
11
20
|
export * from './utils/subscribed.js';
|
|
12
21
|
export * from './utils/utils.js';
|
package/dist/index.js
CHANGED
|
@@ -1,13 +1,22 @@
|
|
|
1
|
+
export * from './cameraUtils/ffmpeg-process.js';
|
|
2
|
+
export * from './cameraUtils/ffmpeg.js';
|
|
3
|
+
export * from './cameraUtils/mp4.js';
|
|
4
|
+
export * from './cameraUtils/ports.js';
|
|
5
|
+
export * from './cameraUtils/processor.js';
|
|
6
|
+
export * from './cameraUtils/return-audio-transcoder.js';
|
|
7
|
+
export * from './cameraUtils/rtp-splitter.js';
|
|
8
|
+
export * from './cameraUtils/rtp.js';
|
|
9
|
+
export * from './cameraUtils/srtp.js';
|
|
10
|
+
export * from './cameraUtils/utils.js';
|
|
1
11
|
export * from './logger/index.js';
|
|
2
12
|
export * from './messaging/index.js';
|
|
3
13
|
export * from './nats/index.js';
|
|
14
|
+
export * from './net/index.js';
|
|
4
15
|
export * from './network/index.js';
|
|
5
16
|
export * from './npm/index.js';
|
|
6
17
|
export * from './packer/index.js';
|
|
7
18
|
export * from './python/index.js';
|
|
8
19
|
export * from './utils/env.js';
|
|
9
|
-
export * from './utils/ffmpeg.js';
|
|
10
|
-
export * from './utils/reader.js';
|
|
11
20
|
export * from './utils/subscribed.js';
|
|
12
21
|
export * from './utils/utils.js';
|
|
13
22
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0CAA0C,CAAC;AACzD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { Readable } from 'stream';
|
|
1
|
+
import type { Readable } from 'node:stream';
|
|
2
2
|
export declare class StreamEndError extends Error {
|
|
3
3
|
constructor();
|
|
4
4
|
}
|
|
5
5
|
export declare function readLength(readable: Readable, length: number): Promise<Buffer>;
|
|
6
|
+
export declare function isPortInUse(port: number): Promise<boolean>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createConnection } from 'node:net';
|
|
1
2
|
export class StreamEndError extends Error {
|
|
2
3
|
constructor() {
|
|
3
4
|
super('stream ended');
|
|
@@ -38,4 +39,34 @@ export async function readLength(readable, length) {
|
|
|
38
39
|
readable.on('end', e);
|
|
39
40
|
});
|
|
40
41
|
}
|
|
41
|
-
|
|
42
|
+
export function isPortInUse(port) {
|
|
43
|
+
return new Promise((resolve) => {
|
|
44
|
+
const tester = createConnection({ port: port, host: 'localhost' });
|
|
45
|
+
const cleanup = () => {
|
|
46
|
+
try {
|
|
47
|
+
tester.removeAllListeners();
|
|
48
|
+
tester.destroy();
|
|
49
|
+
tester.unref();
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
//
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
const onConnect = () => {
|
|
56
|
+
cleanup();
|
|
57
|
+
resolve(true);
|
|
58
|
+
};
|
|
59
|
+
const onError = (err) => {
|
|
60
|
+
cleanup();
|
|
61
|
+
if (err.code === 'ECONNREFUSED') {
|
|
62
|
+
resolve(false);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
resolve(true);
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
tester.on('connect', onConnect);
|
|
69
|
+
tester.on('error', onError);
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/net/index.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/index.d.ts
CHANGED
package/dist/utils/index.js
CHANGED
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
|
package/dist/utils/utils.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export type Customizer<TObject, TSource> = (objValue: any, srcValue: any, key: string, object: TObject, source: TSource, stack: any[]) => any;
|
|
2
|
-
export declare
|
|
3
|
-
export declare
|
|
4
|
-
export declare
|
|
5
|
-
export declare
|
|
6
|
-
export declare
|
|
7
|
-
export declare
|
|
8
|
-
export declare
|
|
9
|
-
export declare
|
|
10
|
-
export declare
|
|
2
|
+
export declare function toQuery(data: any): string;
|
|
3
|
+
export declare function toData(query: string): Record<string, any>;
|
|
4
|
+
export declare function isJson(str: any): boolean;
|
|
5
|
+
export declare function sleep(ms: number): Promise<void>;
|
|
6
|
+
export declare function isEqual(first: any, second: any, ignoreOrder?: boolean): boolean;
|
|
7
|
+
export declare function mergeWith<TObject, TSource>(object: TObject, source: TSource, customizer: Customizer<TObject, TSource>, stack?: any[]): TObject & TSource;
|
|
8
|
+
export declare function orderBy(array: any[], keys: string[], orders: ('asc' | 'desc')[]): any[];
|
|
9
|
+
export declare function structuredClone<T>(obj: T): T;
|
|
10
|
+
export declare function createSourceName(cameraName: string, sourceName: string): string;
|
package/dist/utils/utils.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export
|
|
1
|
+
export function toQuery(data) {
|
|
2
2
|
let query = '';
|
|
3
3
|
if (typeof data === 'object' && !Array.isArray(data)) {
|
|
4
4
|
for (const [key, value] of Object.entries(data)) {
|
|
@@ -11,8 +11,8 @@ export const toQuery = (data) => {
|
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
return query;
|
|
14
|
-
}
|
|
15
|
-
export
|
|
14
|
+
}
|
|
15
|
+
export function toData(query) {
|
|
16
16
|
const params = new URLSearchParams(query);
|
|
17
17
|
const result = {};
|
|
18
18
|
params.forEach((value, key) => {
|
|
@@ -33,8 +33,8 @@ export const toData = (query) => {
|
|
|
33
33
|
}
|
|
34
34
|
});
|
|
35
35
|
return result;
|
|
36
|
-
}
|
|
37
|
-
export
|
|
36
|
+
}
|
|
37
|
+
export function isJson(str) {
|
|
38
38
|
try {
|
|
39
39
|
JSON.parse(str);
|
|
40
40
|
}
|
|
@@ -42,9 +42,11 @@ export const isJson = (str) => {
|
|
|
42
42
|
return false;
|
|
43
43
|
}
|
|
44
44
|
return true;
|
|
45
|
-
}
|
|
46
|
-
export
|
|
47
|
-
|
|
45
|
+
}
|
|
46
|
+
export function sleep(ms) {
|
|
47
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
48
|
+
}
|
|
49
|
+
export function isEqual(first, second, ignoreOrder = false) {
|
|
48
50
|
if (first === second) {
|
|
49
51
|
return true;
|
|
50
52
|
}
|
|
@@ -112,8 +114,8 @@ export const isEqual = (first, second, ignoreOrder = false) => {
|
|
|
112
114
|
return equal;
|
|
113
115
|
}
|
|
114
116
|
return first === second;
|
|
115
|
-
}
|
|
116
|
-
export
|
|
117
|
+
}
|
|
118
|
+
export function mergeWith(object, source, customizer, stack = []) {
|
|
117
119
|
for (const key in source) {
|
|
118
120
|
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
119
121
|
const objValue = object[key];
|
|
@@ -142,8 +144,8 @@ export const mergeWith = (object, source, customizer, stack = []) => {
|
|
|
142
144
|
}
|
|
143
145
|
}
|
|
144
146
|
return object;
|
|
145
|
-
}
|
|
146
|
-
export
|
|
147
|
+
}
|
|
148
|
+
export function orderBy(array, keys, orders) {
|
|
147
149
|
return structuredClone(array).sort((a, b) => {
|
|
148
150
|
for (let i = 0; i < keys.length; i++) {
|
|
149
151
|
const key = keys[i];
|
|
@@ -155,11 +157,11 @@ export const orderBy = (array, keys, orders) => {
|
|
|
155
157
|
}
|
|
156
158
|
return 0;
|
|
157
159
|
});
|
|
158
|
-
}
|
|
159
|
-
export
|
|
160
|
+
}
|
|
161
|
+
export function structuredClone(obj) {
|
|
160
162
|
return JSON.parse(JSON.stringify(obj));
|
|
161
|
-
}
|
|
162
|
-
export
|
|
163
|
+
}
|
|
164
|
+
export function createSourceName(cameraName, sourceName) {
|
|
163
165
|
return `${cameraName.replace(/ /g, '_').toLowerCase()}_${sourceName.replace(/ /g, '_').toLowerCase()}`;
|
|
164
|
-
}
|
|
166
|
+
}
|
|
165
167
|
//# sourceMappingURL=utils.js.map
|
package/dist/utils/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"AAEA,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,OAAO,CAAC,IAAS;IAC/B,IAAI,KAAK,GAAW,EAAE,CAAC;IAEvB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBACjB,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,KAAa;IAClC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAwB,EAAE,CAAC;IAEvC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC5B,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YAC1D,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,EAAE,CAAC;QACjD,CAAC;aAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACrB,CAAC;aAAM,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;YACjC,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;QAC1B,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAAQ;IAC7B,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAU,EAAE,MAAW,EAAE,WAAW,GAAG,KAAK;IAClE,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,EAAE,CAAC;QAC5G,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC;IAC1C,MAAM,UAAU,GAAG,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC;IAC5C,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,SAAS,KAAK,OAAO,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QACpD,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,UAAU,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;YAC/B,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,IAAS,EAAE,EAAE;gBAC/B,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,UAAe,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;gBAChG,IAAI,KAAK,KAAK,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAC;gBAC/B,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC5B,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,GAAG,IAAI,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC;oBAC/C,KAAK,GAAG,KAAK,CAAC;oBACd,MAAM;gBACR,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,IAAI,SAAS,KAAK,QAAQ,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QACtD,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzC,SAAS,CAAC,sBAAsB;gBAClC,CAAC;gBACD,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;oBACvH,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;oBAChE,IAAI,CAAC,KAAK,EAAE,CAAC;wBACX,MAAM;oBACR,CAAC;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChD,KAAK,GAAG,KAAK,CAAC;oBACd,MAAM;gBACR,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5F,KAAK,GAAG,KAAK,CAAC;gBACd,MAAM;YACR,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,KAAK,KAAK,MAAM,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,SAAS,CAAmB,MAAe,EAAE,MAAe,EAAE,UAAwC,EAAE,QAAe,EAAE;IACvI,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;YACtD,MAAM,QAAQ,GAAI,MAAc,CAAC,GAAG,CAAC,CAAC;YACtC,MAAM,QAAQ,GAAI,MAAc,CAAC,GAAG,CAAC,CAAC;YAEtC,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAEpC,MAAM,eAAe,GAAG,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAEnF,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBACjC,MAAc,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC;YACzC,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7D,MAAc,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,QAAe,EAAE,QAAe,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YACxF,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,MAAc,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,EAAS,EAAE,QAAe,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YAClF,CAAC;iBAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACjH,MAAc,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,EAAE,GAAG,QAAQ,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YACjF,CAAC;iBAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAC5D,MAAc,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,EAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YAC3E,CAAC;iBAAM,CAAC;gBACL,MAAc,CAAC,GAAG,CAAC,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtE,CAAC;YAED,KAAK,CAAC,GAAG,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,MAA2B,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAY,EAAE,IAAc,EAAE,MAA0B;IAC9E,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAExB,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,eAAe,CAAI,GAAM;IACvC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,UAAkB,EAAE,UAAkB;IACrE,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;AACzG,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camera.ui/common",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.14",
|
|
4
4
|
"description": "camera.ui utilities",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -9,6 +9,11 @@
|
|
|
9
9
|
"types": "./dist/index.d.ts",
|
|
10
10
|
"require": "./dist/index.js"
|
|
11
11
|
},
|
|
12
|
+
"./cameraUtils": {
|
|
13
|
+
"default": "./dist/cameraUtils/index.js",
|
|
14
|
+
"types": "./dist/cameraUtils/index.d.ts",
|
|
15
|
+
"require": "./dist/cameraUtils/index.js"
|
|
16
|
+
},
|
|
12
17
|
"./logger": {
|
|
13
18
|
"default": "./dist/logger/index.js",
|
|
14
19
|
"types": "./dist/logger/index.d.ts",
|
|
@@ -24,6 +29,11 @@
|
|
|
24
29
|
"types": "./dist/nats/index.d.ts",
|
|
25
30
|
"require": "./dist/nats/index.js"
|
|
26
31
|
},
|
|
32
|
+
"./net": {
|
|
33
|
+
"default": "./dist/net/index.js",
|
|
34
|
+
"types": "./dist/net/index.d.ts",
|
|
35
|
+
"require": "./dist/net/index.js"
|
|
36
|
+
},
|
|
27
37
|
"./network": {
|
|
28
38
|
"default": "./dist/network/index.js",
|
|
29
39
|
"types": "./dist/network/index.d.ts",
|
|
@@ -66,10 +76,12 @@
|
|
|
66
76
|
"fs-extra": "^11.2.0",
|
|
67
77
|
"msgpackr": "^1.11.0",
|
|
68
78
|
"nats": "^2.28.2",
|
|
69
|
-
"
|
|
79
|
+
"pick-port": "^2.1.0",
|
|
80
|
+
"systeminformation": "^5.23.5",
|
|
81
|
+
"werift": "^0.19.8"
|
|
70
82
|
},
|
|
71
83
|
"devDependencies": {
|
|
72
|
-
"@camera.ui/types": "^0.0.
|
|
84
|
+
"@camera.ui/types": "^0.0.70",
|
|
73
85
|
"@rushstack/eslint-patch": "^1.10.4",
|
|
74
86
|
"@types/fs-extra": "^11.0.4",
|
|
75
87
|
"@types/node": "^22.5.4",
|
package/dist/utils/ffmpeg.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export interface FfmpegArgs {
|
|
2
|
-
hwaccel: string;
|
|
3
|
-
hwaccelArgs: string[];
|
|
4
|
-
hwaccelFilter: string;
|
|
5
|
-
threads: string;
|
|
6
|
-
}
|
|
7
|
-
export interface HardwareSource {
|
|
8
|
-
name: string;
|
|
9
|
-
url: string;
|
|
10
|
-
}
|
|
11
|
-
export interface HardwareResponse {
|
|
12
|
-
sources: HardwareSource[];
|
|
13
|
-
}
|
|
14
|
-
export declare const getHwaccelInfo: (go2rtcEndpoint: string) => Promise<FfmpegArgs>;
|
package/dist/utils/ffmpeg.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ffmpeg.js","sourceRoot":"","sources":["../../src/utils/ffmpeg.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,cAAsB,EAAuB,EAAE;IAClF,IAAI,OAAO,GAAG,MAAM,CAAC;IACrB,IAAI,WAAW,GAAa,EAAE,CAAC;IAC/B,IAAI,aAAa,GAAG,cAAc,CAAC;IACnC,MAAM,OAAO,GAAG,GAAG,CAAC;IAEpB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,cAAc,sBAAsB,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAqB,CAAC;QAEzD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACzB,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBACjC,OAAO,GAAG,OAAO,CAAC;oBAClB,WAAW,GAAG,CAAC,eAAe,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,OAAO,CAAC,CAAC;oBAC1F,aAAa,GAAG,+CAA+C,CAAC;oBAChE,MAAM;gBACR,CAAC;qBAAM,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;oBAC/C,OAAO,GAAG,cAAc,CAAC;oBACzB,gEAAgE;oBAChE,kCAAkC;oBAClC,MAAM;gBACR,CAAC;qBAAM,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBACxC,OAAO,GAAG,OAAO,CAAC;oBAClB,WAAW,GAAG,CAAC,wBAAwB,EAAE,WAAW,CAAC,CAAC;oBACtD,kCAAkC;oBAClC,iBAAiB;oBACjB,MAAM;gBACR,CAAC;qBAAM,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACvC,OAAO,GAAG,MAAM,CAAC;oBACjB,WAAW,GAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;oBACjD,aAAa,GAAG,4BAA4B,CAAC;oBAC7C,MAAM;gBACR,CAAC;qBAAM,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC1C,uBAAuB;oBACvB,oBAAoB;oBACpB,kCAAkC;oBAClC,iBAAiB;oBACjB,MAAM;gBACR,CAAC;qBAAM,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBACxC,OAAO,GAAG,OAAO,CAAC;oBAClB,oBAAoB;oBACpB,kCAAkC;oBAClC,iBAAiB;oBACjB,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,aAAa;IACf,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;AAC1D,CAAC,CAAC"}
|
package/dist/utils/reader.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reader.js","sourceRoot":"","sources":["../../src/utils/reader.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC;QACE,KAAK,CAAC,cAAc,CAAC,CAAC;IACxB,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAkB,EAAE,MAAc;IACjE,IAAI,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,SAAS;QAAE,MAAM,IAAI,cAAc,EAAE,CAAC;IAE7E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,CAAC;QACC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;QACvC,MAAM,CAAC,GAAG,GAAG,EAAE;YACb,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClC,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;YAED,IAAI,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,SAAS;gBAAE,OAAO,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACnG,CAAC,CAAC;QAEF,MAAM,CAAC,GAAG,GAAG,EAAE;YACb,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YACvC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC;QAEF,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC3B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACL,CAAC"}
|