@camstack/addon-pipeline 1.1.28 → 1.1.30
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/audio-analyzer/index.js +1 -1
- package/dist/audio-analyzer/index.mjs +1 -1
- package/dist/audio-codec-ffmpeg/index.js +1 -5
- package/dist/audio-codec-ffmpeg/index.mjs +1 -5
- package/dist/decoder-ffmpeg/index.js +102 -352
- package/dist/decoder-ffmpeg/index.mjs +82 -332
- package/dist/decoder-nodeav/index.js +6 -4
- package/dist/decoder-nodeav/index.mjs +6 -4
- package/dist/detection-pipeline/index.js +254 -186
- package/dist/detection-pipeline/index.mjs +254 -186
- package/dist/{dist-Biq62zt4.js → dist-Cwc0TUQr.js} +7 -42
- package/dist/{dist-C6_wgXqF.mjs → dist-DjuGmyG9.mjs} +7 -42
- package/dist/ffmpeg-args-C5GPp8Cw.mjs +323 -0
- package/dist/ffmpeg-args-D6h1edXK.js +418 -0
- package/dist/frame-dropper-AjheBGMG.mjs +22 -0
- package/dist/frame-dropper-DKLM6pMz.js +27 -0
- package/dist/{frame-handle-plane-BIoY6nRV.mjs → frame-handle-plane-Bkxz-TTD.mjs} +1 -1
- package/dist/{frame-handle-plane-D6BzyEgy.js → frame-handle-plane-DQNCTrpC.js} +1 -1
- package/dist/{frame-ring-sink-9J0wCdLF.js → frame-ring-sink-8LLV-cvH.js} +1 -1
- package/dist/{frame-ring-sink-Cs9vby6v.mjs → frame-ring-sink-ClEWjiRU.mjs} +1 -1
- package/dist/motion-wasm/index.js +1 -1
- package/dist/motion-wasm/index.mjs +1 -1
- package/dist/pipeline-runner/index.js +2 -2
- package/dist/pipeline-runner/index.mjs +2 -2
- package/dist/recorder/index.js +1 -1
- package/dist/recorder/index.mjs +1 -1
- package/dist/stream-broker/{_virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-DoReAb4y.mjs → _virtual_mf-localSharedImportMap___mfe_internal__addon_stream_broker_widgets-D567z31g.mjs} +3 -3
- package/dist/stream-broker/{hostInit-C0SuwQhL.mjs → hostInit-B_b3PIZB.mjs} +3 -3
- package/dist/stream-broker/index.js +168 -121
- package/dist/stream-broker/index.mjs +159 -112
- package/dist/stream-broker/remoteEntry.js +1 -1
- package/embed-dist/assets/{MaskShapeCanvas-DI4BY7W2-Br2yi8ah.js → MaskShapeCanvas-DI4BY7W2-x-DZOuQL.js} +1 -1
- package/embed-dist/assets/{MotionZonesSettings-NcxxQN8r-BSCcPdPf.js → MotionZonesSettings-NcxxQN8r-DTeuDGCU.js} +1 -1
- package/embed-dist/assets/{PrivacyMaskSettings-APgPLF7p-ztxvxSjS.js → PrivacyMaskSettings-APgPLF7p-CirtxO3e.js} +1 -1
- package/embed-dist/assets/{index-CeZV1B-2.js → index-CpUy8OIE.js} +9 -9
- package/embed-dist/index.html +1 -1
- package/package.json +1 -1
- package/dist/frame-dropper-7RTo_YyG.js +0 -68
- package/dist/frame-dropper-CwkBTPGV.mjs +0 -51
package/embed-dist/index.html
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<meta charset="utf-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
6
|
<title>CamStack Embed</title>
|
|
7
|
-
<script type="module" crossorigin src="./assets/index-
|
|
7
|
+
<script type="module" crossorigin src="./assets/index-CpUy8OIE.js"></script>
|
|
8
8
|
<link rel="stylesheet" crossorigin href="./assets/index-C5UpuPr8.css">
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@camstack/addon-pipeline",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.30",
|
|
4
4
|
"description": "CamStack Pipeline bundle — runner, detection, motion, decoders, audio + stream broker. Multi-entry npm package shipping 7 addons under a single bundle.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"camstack",
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
//#region src/stream-broker/stream-broker/ffmpeg-args-common.ts
|
|
2
|
-
var AUDIO_ENCODER_BY_CODEC = {
|
|
3
|
-
opus: "libopus",
|
|
4
|
-
aac: "aac",
|
|
5
|
-
pcmu: "pcm_mulaw",
|
|
6
|
-
pcma: "pcm_alaw",
|
|
7
|
-
copy: "copy"
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
* Build the audio-encode args `-c:a <enc> [-b:a Nk] [-ar N] [-ac N]`. Each knob
|
|
11
|
-
* is emitted only when provided, in this fixed order — matching what every
|
|
12
|
-
* broker site already emitted by hand.
|
|
13
|
-
*/
|
|
14
|
-
function audioEncoderArgs(codec, opts = {}) {
|
|
15
|
-
const args = ["-c:a", AUDIO_ENCODER_BY_CODEC[codec]];
|
|
16
|
-
if (opts.bitrateKbps !== void 0) args.push("-b:a", `${opts.bitrateKbps}k`);
|
|
17
|
-
if (opts.sampleRateHz !== void 0) args.push("-ar", String(opts.sampleRateHz));
|
|
18
|
-
if (opts.channels !== void 0) args.push("-ac", String(opts.channels));
|
|
19
|
-
return args;
|
|
20
|
-
}
|
|
21
|
-
/** The `-hide_banner -loglevel <level>` preamble every broker ffmpeg site opens with. */
|
|
22
|
-
function logBannerArgs(level) {
|
|
23
|
-
return [
|
|
24
|
-
"-hide_banner",
|
|
25
|
-
"-loglevel",
|
|
26
|
-
level
|
|
27
|
-
];
|
|
28
|
-
}
|
|
29
|
-
//#endregion
|
|
30
|
-
//#region src/stream-broker/stream-broker/frame-dropper.ts
|
|
31
|
-
var FrameDropper = class {
|
|
32
|
-
intervalMs;
|
|
33
|
-
lastPassedAt = -Infinity;
|
|
34
|
-
constructor(maxFps) {
|
|
35
|
-
this.intervalMs = maxFps > 0 ? 1e3 / maxFps : 0;
|
|
36
|
-
}
|
|
37
|
-
shouldKeep() {
|
|
38
|
-
if (this.intervalMs === 0) return true;
|
|
39
|
-
const now = Date.now();
|
|
40
|
-
if (now - this.lastPassedAt >= this.intervalMs) {
|
|
41
|
-
this.lastPassedAt = now;
|
|
42
|
-
return true;
|
|
43
|
-
}
|
|
44
|
-
return false;
|
|
45
|
-
}
|
|
46
|
-
setMaxFps(maxFps) {
|
|
47
|
-
this.intervalMs = maxFps > 0 ? 1e3 / maxFps : 0;
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
//#endregion
|
|
51
|
-
Object.defineProperty(exports, "FrameDropper", {
|
|
52
|
-
enumerable: true,
|
|
53
|
-
get: function() {
|
|
54
|
-
return FrameDropper;
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
Object.defineProperty(exports, "audioEncoderArgs", {
|
|
58
|
-
enumerable: true,
|
|
59
|
-
get: function() {
|
|
60
|
-
return audioEncoderArgs;
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
Object.defineProperty(exports, "logBannerArgs", {
|
|
64
|
-
enumerable: true,
|
|
65
|
-
get: function() {
|
|
66
|
-
return logBannerArgs;
|
|
67
|
-
}
|
|
68
|
-
});
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
//#region src/stream-broker/stream-broker/ffmpeg-args-common.ts
|
|
2
|
-
var AUDIO_ENCODER_BY_CODEC = {
|
|
3
|
-
opus: "libopus",
|
|
4
|
-
aac: "aac",
|
|
5
|
-
pcmu: "pcm_mulaw",
|
|
6
|
-
pcma: "pcm_alaw",
|
|
7
|
-
copy: "copy"
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
* Build the audio-encode args `-c:a <enc> [-b:a Nk] [-ar N] [-ac N]`. Each knob
|
|
11
|
-
* is emitted only when provided, in this fixed order — matching what every
|
|
12
|
-
* broker site already emitted by hand.
|
|
13
|
-
*/
|
|
14
|
-
function audioEncoderArgs(codec, opts = {}) {
|
|
15
|
-
const args = ["-c:a", AUDIO_ENCODER_BY_CODEC[codec]];
|
|
16
|
-
if (opts.bitrateKbps !== void 0) args.push("-b:a", `${opts.bitrateKbps}k`);
|
|
17
|
-
if (opts.sampleRateHz !== void 0) args.push("-ar", String(opts.sampleRateHz));
|
|
18
|
-
if (opts.channels !== void 0) args.push("-ac", String(opts.channels));
|
|
19
|
-
return args;
|
|
20
|
-
}
|
|
21
|
-
/** The `-hide_banner -loglevel <level>` preamble every broker ffmpeg site opens with. */
|
|
22
|
-
function logBannerArgs(level) {
|
|
23
|
-
return [
|
|
24
|
-
"-hide_banner",
|
|
25
|
-
"-loglevel",
|
|
26
|
-
level
|
|
27
|
-
];
|
|
28
|
-
}
|
|
29
|
-
//#endregion
|
|
30
|
-
//#region src/stream-broker/stream-broker/frame-dropper.ts
|
|
31
|
-
var FrameDropper = class {
|
|
32
|
-
intervalMs;
|
|
33
|
-
lastPassedAt = -Infinity;
|
|
34
|
-
constructor(maxFps) {
|
|
35
|
-
this.intervalMs = maxFps > 0 ? 1e3 / maxFps : 0;
|
|
36
|
-
}
|
|
37
|
-
shouldKeep() {
|
|
38
|
-
if (this.intervalMs === 0) return true;
|
|
39
|
-
const now = Date.now();
|
|
40
|
-
if (now - this.lastPassedAt >= this.intervalMs) {
|
|
41
|
-
this.lastPassedAt = now;
|
|
42
|
-
return true;
|
|
43
|
-
}
|
|
44
|
-
return false;
|
|
45
|
-
}
|
|
46
|
-
setMaxFps(maxFps) {
|
|
47
|
-
this.intervalMs = maxFps > 0 ? 1e3 / maxFps : 0;
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
//#endregion
|
|
51
|
-
export { audioEncoderArgs as n, logBannerArgs as r, FrameDropper as t };
|