@apocaliss92/nodelink-js 0.4.16 → 0.4.18
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/{DiagnosticsTools-BQOWJ23L.js → DiagnosticsTools-HO3VI6D5.js} +2 -2
- package/dist/{chunk-65HTCC62.js → chunk-EF6BCSCZ.js} +24 -6
- package/dist/chunk-EF6BCSCZ.js.map +1 -0
- package/dist/{chunk-2JNXKT3C.js → chunk-S2UTGNFN.js} +83 -4
- package/dist/chunk-S2UTGNFN.js.map +1 -0
- package/dist/cli/rtsp-server.cjs +102 -5
- package/dist/cli/rtsp-server.cjs.map +1 -1
- package/dist/cli/rtsp-server.js +2 -2
- package/dist/index.cjs +102 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +2 -2
- package/package.json +1 -1
- package/dist/chunk-2JNXKT3C.js.map +0 -1
- package/dist/chunk-65HTCC62.js.map +0 -1
- /package/dist/{DiagnosticsTools-BQOWJ23L.js.map → DiagnosticsTools-HO3VI6D5.js.map} +0 -0
package/dist/cli/rtsp-server.cjs
CHANGED
|
@@ -7659,11 +7659,20 @@ async function captureModelFixtures(params) {
|
|
|
7659
7659
|
return void 0;
|
|
7660
7660
|
}
|
|
7661
7661
|
}
|
|
7662
|
-
const
|
|
7662
|
+
const channelInfo = await capture(
|
|
7663
7663
|
"getInfo",
|
|
7664
|
-
() => api.getInfo(channel)
|
|
7665
|
-
(v) => writeJsonSafe(path4.join(outDir, "device-info.json"), v)
|
|
7664
|
+
() => api.getInfo(channel)
|
|
7666
7665
|
);
|
|
7666
|
+
const baseInfo = await capture(
|
|
7667
|
+
"getInfoBase",
|
|
7668
|
+
() => api.getInfo()
|
|
7669
|
+
);
|
|
7670
|
+
const mergedInfo = { ...baseInfo ?? {} };
|
|
7671
|
+
for (const [k, v] of Object.entries(channelInfo ?? {})) {
|
|
7672
|
+
if (v !== void 0 && v !== null && v !== "") mergedInfo[k] = v;
|
|
7673
|
+
}
|
|
7674
|
+
const info = Object.keys(mergedInfo).length > 0 ? mergedInfo : void 0;
|
|
7675
|
+
if (info) writeJsonSafe(path4.join(outDir, "device-info.json"), info);
|
|
7667
7676
|
const support = await capture(
|
|
7668
7677
|
"getSupportInfo",
|
|
7669
7678
|
() => api.getSupportInfo(),
|
|
@@ -7779,6 +7788,76 @@ async function captureModelFixtures(params) {
|
|
|
7779
7788
|
() => api.getDualLensChannelInfo(channel),
|
|
7780
7789
|
(v) => writeJsonSafe(path4.join(outDir, "dual-lens-info.json"), v)
|
|
7781
7790
|
);
|
|
7791
|
+
await capture(
|
|
7792
|
+
"getEncOptions",
|
|
7793
|
+
() => api.getEncOptions(channel),
|
|
7794
|
+
(v) => writeJsonSafe(path4.join(outDir, "enc-options.json"), v)
|
|
7795
|
+
);
|
|
7796
|
+
await capture(
|
|
7797
|
+
"getEnc",
|
|
7798
|
+
() => api.getEnc(channel),
|
|
7799
|
+
(v) => writeJsonSafe(path4.join(outDir, "enc.json"), v)
|
|
7800
|
+
);
|
|
7801
|
+
await capture(
|
|
7802
|
+
"getStreamInfoList",
|
|
7803
|
+
() => api.getStreamInfoList(channel),
|
|
7804
|
+
(v) => writeJsonSafe(path4.join(outDir, "stream-info-list.json"), v)
|
|
7805
|
+
);
|
|
7806
|
+
await capture(
|
|
7807
|
+
"getAutoFocus",
|
|
7808
|
+
() => api.getAutoFocus(channel),
|
|
7809
|
+
(v) => writeJsonSafe(path4.join(outDir, "autofocus.json"), v)
|
|
7810
|
+
);
|
|
7811
|
+
await capture(
|
|
7812
|
+
"getLedState",
|
|
7813
|
+
() => api.getLedState(channel),
|
|
7814
|
+
(v) => writeJsonSafe(path4.join(outDir, "led-state.json"), v)
|
|
7815
|
+
);
|
|
7816
|
+
await capture(
|
|
7817
|
+
"getIrLights",
|
|
7818
|
+
() => api.getIrLights(channel),
|
|
7819
|
+
(v) => writeJsonSafe(path4.join(outDir, "ir-lights.json"), v)
|
|
7820
|
+
);
|
|
7821
|
+
await capture(
|
|
7822
|
+
"getImage",
|
|
7823
|
+
() => api.getImage(channel),
|
|
7824
|
+
(v) => writeJsonSafe(path4.join(outDir, "image.json"), v)
|
|
7825
|
+
);
|
|
7826
|
+
await capture(
|
|
7827
|
+
"getIsp",
|
|
7828
|
+
() => api.getIsp(channel),
|
|
7829
|
+
(v) => writeJsonSafe(path4.join(outDir, "isp.json"), v)
|
|
7830
|
+
);
|
|
7831
|
+
await capture(
|
|
7832
|
+
"getDayNightThreshold",
|
|
7833
|
+
() => api.getDayNightThreshold(channel),
|
|
7834
|
+
(v) => writeJsonSafe(path4.join(outDir, "day-night-threshold.json"), v)
|
|
7835
|
+
);
|
|
7836
|
+
await capture(
|
|
7837
|
+
"getMask",
|
|
7838
|
+
() => api.getMask(channel),
|
|
7839
|
+
(v) => writeJsonSafe(path4.join(outDir, "mask.json"), v)
|
|
7840
|
+
);
|
|
7841
|
+
await capture(
|
|
7842
|
+
"getAudioCfg",
|
|
7843
|
+
() => api.getAudioCfg(channel),
|
|
7844
|
+
(v) => writeJsonSafe(path4.join(outDir, "audio-cfg.json"), v)
|
|
7845
|
+
);
|
|
7846
|
+
await capture(
|
|
7847
|
+
"getOsdDatetime",
|
|
7848
|
+
() => api.getOsdDatetime(channel),
|
|
7849
|
+
(v) => writeJsonSafe(path4.join(outDir, "osd-datetime.json"), v)
|
|
7850
|
+
);
|
|
7851
|
+
await capture(
|
|
7852
|
+
"getPtzPosition",
|
|
7853
|
+
() => api.getPtzPosition(channel),
|
|
7854
|
+
(v) => writeJsonSafe(path4.join(outDir, "ptz-position.json"), v)
|
|
7855
|
+
);
|
|
7856
|
+
await capture(
|
|
7857
|
+
"getZoomFocus",
|
|
7858
|
+
() => api.getZoomFocus(channel),
|
|
7859
|
+
(v) => writeJsonSafe(path4.join(outDir, "zoom-focus.json"), v)
|
|
7860
|
+
);
|
|
7782
7861
|
if (!params.skipStreamCombinationTest) await capture("streamCombinationTest", async () => {
|
|
7783
7862
|
let dualLensInfo;
|
|
7784
7863
|
try {
|
|
@@ -18573,7 +18652,15 @@ var applyFloodlightSettingsToXml = (xml, settings) => {
|
|
|
18573
18652
|
// src/reolink/baichuan/ReolinkBaichuanApi.ts
|
|
18574
18653
|
var DUAL_LENS_DUAL_MOTION_MODELS = /* @__PURE__ */ new Set([
|
|
18575
18654
|
"Reolink Duo PoE",
|
|
18576
|
-
"Reolink Duo WiFi"
|
|
18655
|
+
"Reolink Duo WiFi",
|
|
18656
|
+
// Duo 2 family
|
|
18657
|
+
"Reolink Duo 2 PoE",
|
|
18658
|
+
"Reolink Duo 2 WiFi",
|
|
18659
|
+
// Duo 3 family — physically dual-sensor, marketed as a stitched 16MP feed
|
|
18660
|
+
// (the firmware exposes a single logical channel, so callers should still
|
|
18661
|
+
// check `getDualLensChannelInfo` for the actual channel topology).
|
|
18662
|
+
"Reolink Duo 3 PoE",
|
|
18663
|
+
"Reolink Duo 3 WiFi"
|
|
18577
18664
|
]);
|
|
18578
18665
|
var DUAL_LENS_SINGLE_MOTION_MODELS = /* @__PURE__ */ new Set([
|
|
18579
18666
|
"Reolink TrackMix",
|
|
@@ -18588,7 +18675,10 @@ var DUAL_LENS_MODELS = /* @__PURE__ */ new Set([
|
|
|
18588
18675
|
]);
|
|
18589
18676
|
var isDualLenseModel = (model) => {
|
|
18590
18677
|
const lower = model.toLowerCase();
|
|
18591
|
-
|
|
18678
|
+
if (Array.from(DUAL_LENS_MODELS).some((m) => m.toLowerCase() === lower)) {
|
|
18679
|
+
return true;
|
|
18680
|
+
}
|
|
18681
|
+
return lower.includes("trackmix") || lower.includes("trackflex") || /\bduo\b/.test(lower);
|
|
18592
18682
|
};
|
|
18593
18683
|
var NVR_HUB_EXACT_TYPES = ["NVR", "WIFI_NVR", "HOMEHUB"];
|
|
18594
18684
|
var NVR_HUB_MODEL_PATTERNS = [
|
|
@@ -26387,6 +26477,13 @@ ${xml}`
|
|
|
26387
26477
|
model = deviceInfo.type?.trim();
|
|
26388
26478
|
} catch {
|
|
26389
26479
|
}
|
|
26480
|
+
if (!model) {
|
|
26481
|
+
try {
|
|
26482
|
+
const deviceInfoBase = await this.getInfo(void 0, { tags: ["type"] });
|
|
26483
|
+
model = deviceInfoBase.type?.trim();
|
|
26484
|
+
} catch {
|
|
26485
|
+
}
|
|
26486
|
+
}
|
|
26390
26487
|
try {
|
|
26391
26488
|
const capabilities = await this.getDeviceCapabilities(channel);
|
|
26392
26489
|
channelNum = capabilities.support?.channelNum;
|