@camera.ui/server 0.0.12-alpha.3 → 0.0.12
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/interface/assets/{Account-CWvLwuSI.js → Account-BOKU0EJX.js} +1 -1
- package/dist/interface/assets/Adminpanel-BVlDKLbx.css +1 -0
- package/dist/interface/assets/Adminpanel-YAFzNmEU.js +2 -0
- package/dist/interface/assets/{Appearance-Bt86BtvT.js → Appearance-Duun7epF.js} +1 -1
- package/dist/interface/assets/{Backup-BoCWS3SS.js → Backup-txkWCOnL.js} +1 -1
- package/dist/interface/assets/{Camera-DGGyL9at.js → Camera-DgfG8iRv.js} +1 -1
- package/dist/interface/assets/{Cameras-BT6tKbp5.js → Cameras-C2tAxpUZ.js} +1 -1
- package/dist/interface/assets/{Camview-BIiqI_Yj.js → Camview-pb3aChcM.js} +1 -1
- package/dist/interface/assets/{Config-EHUrVnjH.js → Config-DtsKZdLg.js} +1 -1
- package/dist/interface/assets/{Console-D7qigIrb.js → Console-CA8nMvU5.js} +1 -1
- package/dist/interface/assets/FirstSteps-CXJW46_r.css +1 -0
- package/dist/interface/assets/FirstSteps-DeX4Bemm.js +1 -0
- package/dist/interface/assets/{NewCamera-DrIOe7GH.js → NewCamera-DwielMXk.js} +1 -1
- package/dist/interface/assets/{Plugin-CZN7KLfw.js → Plugin-Dop0LJtA.js} +1 -1
- package/dist/interface/assets/Plugins-BGXIm0xp.js +1 -0
- package/dist/interface/assets/{Plugins-DJCy47sz.css → Plugins-OYudBc-U.css} +1 -1
- package/dist/interface/assets/{Recordings-CBmeBTjC.js → Recordings-C8UOLPGO.js} +1 -1
- package/dist/interface/assets/{Recordings-BsNa4nl1.js → Recordings-DOih4uT0.js} +1 -1
- package/dist/interface/assets/Settings-DO7S-9Ob.css +1 -0
- package/dist/interface/assets/Settings-gA-avLCG.js +1 -0
- package/dist/interface/assets/{System-BeXkfJHe.js → System-qzadLbQp.js} +2 -2
- package/dist/interface/assets/{User-CA1u4oTs.js → User-CeCpRCio.js} +1 -1
- package/dist/interface/assets/{VConfigEditor.vue_vue_type_script_setup_true_lang-DzQETeRW.js → VConfigEditor.vue_vue_type_script_setup_true_lang-DdIvFMZw.js} +1 -1
- package/dist/interface/assets/VConsole-Ce_ESyGu.css +1 -0
- package/dist/interface/assets/{VConsole-B1XFaB1X.js → VConsole-DV0DbWWq.js} +1 -1
- package/dist/interface/assets/{VPlayer-B1HHlrNE.css → VPlayer-BWeNP9xt.css} +1 -1
- package/dist/interface/assets/{VPlayer-DpgP5_CU.js → VPlayer-CZ-w1hne.js} +1 -1
- package/dist/interface/assets/{VPluginCard-DxspPu-g.js → VPluginCard-BycEbaTg.js} +1 -1
- package/dist/interface/assets/{main-g2kR7sEX.js → main-BzgITsk2.js} +8 -8
- package/dist/interface/assets/{main-Uk5-SrnC.css → main-CTF7x7Fg.css} +1 -1
- package/dist/interface/assets/{plugins-S3SjQeRW.js → plugins-C8sTJ5vl.js} +1 -1
- package/dist/interface/assets/{system-l2HUoPBI.js → system-BrsCyD1M.js} +1 -1
- package/dist/interface/index.html +2 -2
- package/dist/interface/pwa/pwa-120x120.png +0 -0
- package/dist/interface/pwa/pwa-144x144.png +0 -0
- package/dist/interface/pwa/pwa-152x152.png +0 -0
- package/dist/interface/pwa/pwa-167x167.png +0 -0
- package/dist/interface/pwa/pwa-192x192.png +0 -0
- package/dist/interface/pwa/pwa-24x24.png +0 -0
- package/dist/interface/pwa/pwa-36x36.png +0 -0
- package/dist/interface/pwa/pwa-48x48.png +0 -0
- package/dist/interface/pwa/pwa-50x50.png +0 -0
- package/dist/interface/pwa/pwa-64x64.png +0 -0
- package/dist/interface/pwa/pwa-72x72.png +0 -0
- package/dist/interface/pwa/pwa-88x88.png +0 -0
- package/dist/interface/pwa/pwa-96x96.png +0 -0
- package/dist/interface/sw.js +1 -1
- package/dist/server/bin/cameraui.d.ts +5 -2
- package/dist/server/bin/cameraui.js +34 -12
- package/dist/server/bin/cameraui.js.map +1 -1
- package/dist/server/bin/installer/darwin.d.ts +8 -0
- package/dist/server/bin/installer/darwin.js +49 -4
- package/dist/server/bin/installer/darwin.js.map +1 -1
- package/dist/server/bin/installer/freebsd.js +4 -2
- package/dist/server/bin/installer/freebsd.js.map +1 -1
- package/dist/server/bin/installer/linux.d.ts +5 -0
- package/dist/server/bin/installer/linux.js +56 -7
- package/dist/server/bin/installer/linux.js.map +1 -1
- package/dist/server/bin/installer/win32.js +6 -4
- package/dist/server/bin/installer/win32.js.map +1 -1
- package/dist/server/package.json +137 -137
- package/dist/server/requirements.txt +1 -1
- package/dist/server/src/api/schemas/config.schema.js +0 -3
- package/dist/server/src/api/schemas/config.schema.js.map +1 -1
- package/dist/server/src/main.js +3 -3
- package/dist/server/src/main.js.map +1 -1
- package/dist/server/src/polyglot/node/decoder/wasm/test/imageUtils.py +106 -0
- package/dist/server/src/services/config/constants.js +4 -1
- package/dist/server/src/services/config/constants.js.map +1 -1
- package/dist/server/src/services/config/index.d.ts +2 -2
- package/dist/server/src/services/config/index.js +11 -9
- package/dist/server/src/services/config/index.js.map +1 -1
- package/dist/server/src/utils/pythonInstaller.js +3 -1
- package/dist/server/src/utils/pythonInstaller.js.map +1 -1
- package/package.json +2 -2
- package/dist/interface/assets/Adminpanel-Cp92VRfz.css +0 -1
- package/dist/interface/assets/Adminpanel-D1acAd4f.js +0 -2
- package/dist/interface/assets/FirstSteps-BdNf60c3.js +0 -1
- package/dist/interface/assets/FirstSteps-tMe0mt29.css +0 -1
- package/dist/interface/assets/Plugins-DePXhcTc.js +0 -1
- package/dist/interface/assets/Settings-HBKa6UiL.js +0 -1
- package/dist/interface/assets/Settings-JES2wb8p.css +0 -1
- package/dist/interface/assets/VConsole-MV9pQtJj.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"win32.js","sourceRoot":"","sources":["../../../../bin/installer/win32.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,OAAO,cAAe,SAAQ,YAAY;IAC9C;;OAEG;IACI,KAAK,CAAC,OAAO;QAClB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"win32.js","sourceRoot":"","sources":["../../../../bin/installer/win32.ts"],"names":[],"mappings":"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"}
|
package/dist/server/package.json
CHANGED
|
@@ -1,141 +1,141 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
"name": "@camera.ui/server",
|
|
3
|
+
"version": "0.0.12",
|
|
4
|
+
"description": "camera.ui",
|
|
5
|
+
"author": "seydx (https://github.com/seydx/camera.ui)",
|
|
6
|
+
"bin": {
|
|
7
|
+
"cameraui": "dist/server/bin/cameraui.js"
|
|
8
|
+
},
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"default": "./dist/server/src/index.js",
|
|
12
|
+
"types": "./dist/server/src/index.d.ts"
|
|
8
13
|
},
|
|
9
|
-
"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"types": "./dist/server/src/index.d.ts"
|
|
13
|
-
},
|
|
14
|
-
"./utils": {
|
|
15
|
-
"default": "./dist/server/src/utils/utils.js",
|
|
16
|
-
"types": "./dist/server/src/utils/utils.d.ts"
|
|
17
|
-
}
|
|
18
|
-
},
|
|
19
|
-
"type": "module",
|
|
20
|
-
"scripts": {
|
|
21
|
-
"build": "rimraf ./dist/server && npm run build:wasm && tsc && copyfiles -u 1 src/**/*.py ./dist/server/src && copyfiles requirements.txt ./dist/server && copyfiles -u 5 src/polyglot/node/decoder/wasm/build/**/* ./dist/server/src/polyglot/node/decoder/wasm/",
|
|
22
|
-
"build:wasm": "cd ./src/polyglot/node/decoder/wasm && asc assembly/* --config asconfig.json && cd ../../../../..",
|
|
23
|
-
"format": "prettier --write 'src/' 'bin/' --ignore-unknown --no-error-on-unmatched-pattern",
|
|
24
|
-
"install-updates": "npm i --save",
|
|
25
|
-
"lint": "ruff check --fix && eslint --fix --ext .js,.ts .",
|
|
26
|
-
"postinstall": "cd $INIT_CWD && npm rebuild lmdb --build-from-source --use_data_v1=true",
|
|
27
|
-
"update": "updates --update ./",
|
|
28
|
-
"watch": "nodemon",
|
|
29
|
-
"prepublishOnly": "npm i --package-lock-only && cd .. && npm run lint && npm run format && npm run build"
|
|
30
|
-
},
|
|
31
|
-
"dependencies": {
|
|
32
|
-
"@assemblyscript/loader": "^0.27.29",
|
|
33
|
-
"@bjia56/portable-python": "^0.1.74",
|
|
34
|
-
"@camera.ui/go2rtc": "^0.0.21",
|
|
35
|
-
"@camera.ui/nats": "^0.0.10",
|
|
36
|
-
"@fastify/cors": "^9.0.1",
|
|
37
|
-
"@fastify/formbody": "^7.4.0",
|
|
38
|
-
"@fastify/helmet": "^11.1.1",
|
|
39
|
-
"@fastify/multipart": "^8.3.0",
|
|
40
|
-
"@fastify/static": "^7.0.4",
|
|
41
|
-
"@homebridge/camera-utils": "^2.2.6",
|
|
42
|
-
"@scrypted/node-pty": "^1.0.18",
|
|
43
|
-
"@seydx/fix-path": "3.0.1",
|
|
44
|
-
"ansicolor": "^2.0.3",
|
|
45
|
-
"commander": "^12.1.0",
|
|
46
|
-
"compare-versions": "^6.1.1",
|
|
47
|
-
"dotenv": "^16.4.5",
|
|
48
|
-
"express-useragent": "^1.0.15",
|
|
49
|
-
"fastify": "^4.28.1",
|
|
50
|
-
"fastify-plugin": "^4.5.1",
|
|
51
|
-
"fastify-type-provider-zod": "^2.0.0",
|
|
52
|
-
"fs-extra": "^11.2.0",
|
|
53
|
-
"get-port": "^7.1.0",
|
|
54
|
-
"import-sync": "^2.2.2",
|
|
55
|
-
"js-yaml": "^4.1.0",
|
|
56
|
-
"jsonwebtoken": "^9.0.2",
|
|
57
|
-
"lmdb": "^3.0.13",
|
|
58
|
-
"lru-cache": "^11.0.0",
|
|
59
|
-
"msgpackr": "^1.11.0",
|
|
60
|
-
"nats": "^2.28.2",
|
|
61
|
-
"node-forge": "^1.3.1",
|
|
62
|
-
"object-path": "^0.11.8",
|
|
63
|
-
"ora": "^8.0.1",
|
|
64
|
-
"qs": "^6.13.0",
|
|
65
|
-
"reflect-metadata": "^0.2.2",
|
|
66
|
-
"rxjs": "^7.8.1",
|
|
67
|
-
"safe-timers": "^1.1.0",
|
|
68
|
-
"semver": "^7.6.3",
|
|
69
|
-
"sharp": "^0.33.4",
|
|
70
|
-
"socket.io": "^4.7.5",
|
|
71
|
-
"systeminformation": "^5.23.4",
|
|
72
|
-
"tail": "^2.2.6",
|
|
73
|
-
"tar": "^7.4.3",
|
|
74
|
-
"tcp-port-used": "^1.0.2",
|
|
75
|
-
"tsyringe": "^4.8.0",
|
|
76
|
-
"uuid": "^10.0.0",
|
|
77
|
-
"werift": "^0.19.4",
|
|
78
|
-
"ws": "^8.18.0",
|
|
79
|
-
"zod": "^3.23.8"
|
|
80
|
-
},
|
|
81
|
-
"devDependencies": {
|
|
82
|
-
"@rushstack/eslint-patch": "^1.10.4",
|
|
83
|
-
"@types/express-useragent": "^1.0.5",
|
|
84
|
-
"@types/fs-extra": "^11.0.4",
|
|
85
|
-
"@types/js-yaml": "^4.0.9",
|
|
86
|
-
"@types/jsonwebtoken": "^9.0.6",
|
|
87
|
-
"@types/node": "^22.2.0",
|
|
88
|
-
"@types/node-forge": "^1.3.11",
|
|
89
|
-
"@types/object-path": "^0.11.4",
|
|
90
|
-
"@types/safe-timers": "^1.1.2",
|
|
91
|
-
"@types/semver": "^7.5.8",
|
|
92
|
-
"@types/tail": "^2.2.3",
|
|
93
|
-
"@types/tar": "^6.1.13",
|
|
94
|
-
"@types/tcp-port-used": "^1.0.4",
|
|
95
|
-
"@types/uuid": "^10.0.0",
|
|
96
|
-
"@types/validator": "^13.12.0",
|
|
97
|
-
"@types/ws": "^8.5.12",
|
|
98
|
-
"@typescript-eslint/eslint-plugin": "^8.1.0",
|
|
99
|
-
"@typescript-eslint/parser": "^8.1.0",
|
|
100
|
-
"assemblyscript": "^0.27.29",
|
|
101
|
-
"copyfiles": "^2.4.1",
|
|
102
|
-
"cross-env": "^7.0.3",
|
|
103
|
-
"eslint": "8.57.0",
|
|
104
|
-
"eslint-config-prettier": "^9.1.0",
|
|
105
|
-
"eslint-plugin-prettier": "^5.2.1",
|
|
106
|
-
"nodemon": "^3.1.4",
|
|
107
|
-
"prettier": "^3.3.3",
|
|
108
|
-
"rimraf": "^6.0.1",
|
|
109
|
-
"tsx": "^4.17.0",
|
|
110
|
-
"typescript": "^5.5.4",
|
|
111
|
-
"updates": "^16.4.0"
|
|
112
|
-
},
|
|
113
|
-
"bugs": {
|
|
114
|
-
"url": "https://github.com/seydx/camera.ui/issues"
|
|
115
|
-
},
|
|
116
|
-
"engines": {
|
|
117
|
-
"node": ">=18.12.0"
|
|
118
|
-
},
|
|
119
|
-
"homepage": "https://github.com/seydx/camera.ui#readme",
|
|
120
|
-
"keywords": [
|
|
121
|
-
"camera.ui",
|
|
122
|
-
"motion detection",
|
|
123
|
-
"user interface",
|
|
124
|
-
"rekognition",
|
|
125
|
-
"interface",
|
|
126
|
-
"webapp",
|
|
127
|
-
"nvr",
|
|
128
|
-
"camera",
|
|
129
|
-
"streaming",
|
|
130
|
-
"webrtc",
|
|
131
|
-
"go2rtc",
|
|
132
|
-
"mse",
|
|
133
|
-
"hls",
|
|
134
|
-
"object detection"
|
|
135
|
-
],
|
|
136
|
-
"license": "MIT",
|
|
137
|
-
"repository": {
|
|
138
|
-
"type": "git",
|
|
139
|
-
"url": "git+https://github.com/seydx/camera.ui.git"
|
|
14
|
+
"./utils": {
|
|
15
|
+
"default": "./dist/server/src/utils/utils.js",
|
|
16
|
+
"types": "./dist/server/src/utils/utils.d.ts"
|
|
140
17
|
}
|
|
18
|
+
},
|
|
19
|
+
"type": "module",
|
|
20
|
+
"scripts": {
|
|
21
|
+
"build": "rimraf ./dist/server && npm run build:wasm && tsc && copyfiles package.json dist/server && copyfiles -u 1 src/**/*.py ./dist/server/src && copyfiles requirements.txt ./dist/server && copyfiles -u 5 src/polyglot/node/decoder/wasm/build/**/* ./dist/server/src/polyglot/node/decoder/wasm/",
|
|
22
|
+
"build:wasm": "cd ./src/polyglot/node/decoder/wasm && asc assembly/* --config asconfig.json && cd ../../../../..",
|
|
23
|
+
"format": "prettier --write 'src/' 'bin/' --ignore-unknown --no-error-on-unmatched-pattern",
|
|
24
|
+
"install-updates": "npm i --save",
|
|
25
|
+
"lint": "ruff check --fix && eslint --fix --ext .js,.ts .",
|
|
26
|
+
"postinstall": "cd $INIT_CWD && npm rebuild lmdb --build-from-source --use_data_v1=true",
|
|
27
|
+
"update": "updates --update ./",
|
|
28
|
+
"watch": "nodemon",
|
|
29
|
+
"prepublishOnly": "npm i --package-lock-only && cd .. && npm run lint && npm run format && npm run build"
|
|
30
|
+
},
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"@assemblyscript/loader": "^0.27.29",
|
|
33
|
+
"@bjia56/portable-python": "^0.1.74",
|
|
34
|
+
"@camera.ui/go2rtc": "^0.0.21",
|
|
35
|
+
"@camera.ui/nats": "^0.0.10",
|
|
36
|
+
"@fastify/cors": "^9.0.1",
|
|
37
|
+
"@fastify/formbody": "^7.4.0",
|
|
38
|
+
"@fastify/helmet": "^11.1.1",
|
|
39
|
+
"@fastify/multipart": "^8.3.0",
|
|
40
|
+
"@fastify/static": "^7.0.4",
|
|
41
|
+
"@homebridge/camera-utils": "^2.2.6",
|
|
42
|
+
"@scrypted/node-pty": "^1.0.18",
|
|
43
|
+
"@seydx/fix-path": "3.0.1",
|
|
44
|
+
"ansicolor": "^2.0.3",
|
|
45
|
+
"commander": "^12.1.0",
|
|
46
|
+
"compare-versions": "^6.1.1",
|
|
47
|
+
"dotenv": "^16.4.5",
|
|
48
|
+
"express-useragent": "^1.0.15",
|
|
49
|
+
"fastify": "^4.28.1",
|
|
50
|
+
"fastify-plugin": "^4.5.1",
|
|
51
|
+
"fastify-type-provider-zod": "^2.0.0",
|
|
52
|
+
"fs-extra": "^11.2.0",
|
|
53
|
+
"get-port": "^7.1.0",
|
|
54
|
+
"import-sync": "^2.2.2",
|
|
55
|
+
"js-yaml": "^4.1.0",
|
|
56
|
+
"jsonwebtoken": "^9.0.2",
|
|
57
|
+
"lmdb": "^3.0.13",
|
|
58
|
+
"lru-cache": "^11.0.0",
|
|
59
|
+
"msgpackr": "^1.11.0",
|
|
60
|
+
"nats": "^2.28.2",
|
|
61
|
+
"node-forge": "^1.3.1",
|
|
62
|
+
"object-path": "^0.11.8",
|
|
63
|
+
"ora": "^8.0.1",
|
|
64
|
+
"qs": "^6.13.0",
|
|
65
|
+
"reflect-metadata": "^0.2.2",
|
|
66
|
+
"rxjs": "^7.8.1",
|
|
67
|
+
"safe-timers": "^1.1.0",
|
|
68
|
+
"semver": "^7.6.3",
|
|
69
|
+
"sharp": "^0.33.4",
|
|
70
|
+
"socket.io": "^4.7.5",
|
|
71
|
+
"systeminformation": "^5.23.4",
|
|
72
|
+
"tail": "^2.2.6",
|
|
73
|
+
"tar": "^7.4.3",
|
|
74
|
+
"tcp-port-used": "^1.0.2",
|
|
75
|
+
"tsyringe": "^4.8.0",
|
|
76
|
+
"uuid": "^10.0.0",
|
|
77
|
+
"werift": "^0.19.4",
|
|
78
|
+
"ws": "^8.18.0",
|
|
79
|
+
"zod": "^3.23.8"
|
|
80
|
+
},
|
|
81
|
+
"devDependencies": {
|
|
82
|
+
"@rushstack/eslint-patch": "^1.10.4",
|
|
83
|
+
"@types/express-useragent": "^1.0.5",
|
|
84
|
+
"@types/fs-extra": "^11.0.4",
|
|
85
|
+
"@types/js-yaml": "^4.0.9",
|
|
86
|
+
"@types/jsonwebtoken": "^9.0.6",
|
|
87
|
+
"@types/node": "^22.2.0",
|
|
88
|
+
"@types/node-forge": "^1.3.11",
|
|
89
|
+
"@types/object-path": "^0.11.4",
|
|
90
|
+
"@types/safe-timers": "^1.1.2",
|
|
91
|
+
"@types/semver": "^7.5.8",
|
|
92
|
+
"@types/tail": "^2.2.3",
|
|
93
|
+
"@types/tar": "^6.1.13",
|
|
94
|
+
"@types/tcp-port-used": "^1.0.4",
|
|
95
|
+
"@types/uuid": "^10.0.0",
|
|
96
|
+
"@types/validator": "^13.12.0",
|
|
97
|
+
"@types/ws": "^8.5.12",
|
|
98
|
+
"@typescript-eslint/eslint-plugin": "^8.1.0",
|
|
99
|
+
"@typescript-eslint/parser": "^8.1.0",
|
|
100
|
+
"assemblyscript": "^0.27.29",
|
|
101
|
+
"copyfiles": "^2.4.1",
|
|
102
|
+
"cross-env": "^7.0.3",
|
|
103
|
+
"eslint": "8.57.0",
|
|
104
|
+
"eslint-config-prettier": "^9.1.0",
|
|
105
|
+
"eslint-plugin-prettier": "^5.2.1",
|
|
106
|
+
"nodemon": "^3.1.4",
|
|
107
|
+
"prettier": "^3.3.3",
|
|
108
|
+
"rimraf": "^6.0.1",
|
|
109
|
+
"tsx": "^4.17.0",
|
|
110
|
+
"typescript": "^5.5.4",
|
|
111
|
+
"updates": "^16.4.0"
|
|
112
|
+
},
|
|
113
|
+
"bugs": {
|
|
114
|
+
"url": "https://github.com/seydx/camera.ui/issues"
|
|
115
|
+
},
|
|
116
|
+
"engines": {
|
|
117
|
+
"node": ">=18.12.0"
|
|
118
|
+
},
|
|
119
|
+
"homepage": "https://github.com/seydx/camera.ui#readme",
|
|
120
|
+
"keywords": [
|
|
121
|
+
"camera.ui",
|
|
122
|
+
"motion detection",
|
|
123
|
+
"user interface",
|
|
124
|
+
"rekognition",
|
|
125
|
+
"interface",
|
|
126
|
+
"webapp",
|
|
127
|
+
"nvr",
|
|
128
|
+
"camera",
|
|
129
|
+
"streaming",
|
|
130
|
+
"webrtc",
|
|
131
|
+
"go2rtc",
|
|
132
|
+
"mse",
|
|
133
|
+
"hls",
|
|
134
|
+
"object detection"
|
|
135
|
+
],
|
|
136
|
+
"license": "MIT",
|
|
137
|
+
"repository": {
|
|
138
|
+
"type": "git",
|
|
139
|
+
"url": "git+https://github.com/seydx/camera.ui.git"
|
|
140
|
+
}
|
|
141
141
|
}
|
|
@@ -41,8 +41,6 @@ export const iConfigSSLSchema = zod
|
|
|
41
41
|
export const pluginsSchema = zod
|
|
42
42
|
.object({
|
|
43
43
|
sudo: zod.boolean().optional(),
|
|
44
|
-
// strictPluginResolution: zod.boolean().optional(),
|
|
45
|
-
// customPluginPath: zod.string().optional(),
|
|
46
44
|
disabledPlugins: zod.string().array().optional(),
|
|
47
45
|
})
|
|
48
46
|
.strict();
|
|
@@ -58,7 +56,6 @@ export const patchConfigSchema = zod
|
|
|
58
56
|
// mqtt: mqttSchema,
|
|
59
57
|
plugins: pluginsSchema.default({
|
|
60
58
|
sudo: false,
|
|
61
|
-
// strictPluginResolution: false,
|
|
62
59
|
}),
|
|
63
60
|
settings: interfaceSettingsSchema.default({
|
|
64
61
|
snapshotCache: 600,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.schema.js","sourceRoot":"","sources":["../../../../../src/api/schemas/config.schema.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAEtJ,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG;KAC5B,MAAM,CAAC;IACN,KAAK,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;IAChD,iBAAiB,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CAC3D,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG;KAC7B,MAAM,CAAC;IACN,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAChD,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC;KACD,MAAM,EAAE;KACR,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;IAC1E,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;IACrB,OAAO,EAAE,2CAA2C;CACrD,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG;KAC1B,MAAM,CAAC;IACN,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAChD,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;IAClD,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3C,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;IACzD,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;IACtD,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,GAAG,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC;QACpC,OAAO,EAAE,KAAK;KACf,CAAC;CACH,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG;KAChC,MAAM,CAAC;IACN,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE;IACtB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC;CAClE,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG;KAC7B,MAAM,CAAC;IACN,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,
|
|
1
|
+
{"version":3,"file":"config.schema.js","sourceRoot":"","sources":["../../../../../src/api/schemas/config.schema.ts"],"names":[],"mappings":"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"}
|
package/dist/server/src/main.js
CHANGED
|
@@ -19,7 +19,7 @@ class CameraUi {
|
|
|
19
19
|
server;
|
|
20
20
|
proxy;
|
|
21
21
|
frameManager;
|
|
22
|
-
|
|
22
|
+
homePath;
|
|
23
23
|
serverRunning = false;
|
|
24
24
|
constructor() {
|
|
25
25
|
this.logger = logger = new Logger();
|
|
@@ -27,9 +27,9 @@ class CameraUi {
|
|
|
27
27
|
program
|
|
28
28
|
.allowUnknownOption()
|
|
29
29
|
.name('camera.ui')
|
|
30
|
-
.option('-
|
|
30
|
+
.option('-H, --home-path <path>', 'camera.ui home path', (v) => (this.homePath = v))
|
|
31
31
|
.parse(process.argv);
|
|
32
|
-
this.configService = new ConfigService(this.
|
|
32
|
+
this.configService = new ConfigService(this.homePath);
|
|
33
33
|
this.logger.log('---');
|
|
34
34
|
this.logger.log(`camera.ui Home Path: ${this.configService.HOME_PATH}`);
|
|
35
35
|
this.logger.log(`camera.ui Storage Path: ${this.configService.STORAGE_PATH}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEpD,IAAI,MAAM,GAAqB,OAAO,CAAC;AAEvC,MAAM,QAAQ;IACJ,GAAG,CAAc;IACjB,MAAM,CAAS;IACf,aAAa,CAAgB;IAC7B,aAAa,CAAgB;IAC7B,MAAM,CAAS;IACf,MAAM,CAAS;IACf,KAAK,CAAc;IACnB,YAAY,CAAe;IAE3B,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import asyncio
|
|
2
|
+
import time
|
|
3
|
+
from typing import Any, Literal
|
|
4
|
+
|
|
5
|
+
import numpy as np
|
|
6
|
+
from PIL import Image
|
|
7
|
+
|
|
8
|
+
width = 640
|
|
9
|
+
height = 360
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def yuv420_to_rgb(yuv_bytes: bytes, width: int, height: int) -> np.ndarray[Any, Any]:
|
|
13
|
+
frame_size = width * height
|
|
14
|
+
uv_size = frame_size // 4
|
|
15
|
+
|
|
16
|
+
raw_data = np.frombuffer(yuv_bytes, dtype=np.uint8)
|
|
17
|
+
|
|
18
|
+
y = raw_data[:frame_size].reshape((height, width)).astype(np.float32) - 16.0
|
|
19
|
+
u = (
|
|
20
|
+
raw_data[frame_size : frame_size + uv_size].reshape((height // 2, width // 2)).astype(np.float32)
|
|
21
|
+
- 128.0
|
|
22
|
+
)
|
|
23
|
+
v = raw_data[frame_size + uv_size :].reshape((height // 2, width // 2)).astype(np.float32) - 128.0
|
|
24
|
+
|
|
25
|
+
# Upsample U and V to match Y dimensions in one step
|
|
26
|
+
u = u.repeat(2, axis=0).repeat(2, axis=1)
|
|
27
|
+
v = v.repeat(2, axis=0).repeat(2, axis=1)
|
|
28
|
+
|
|
29
|
+
# Perform YUV to RGB conversion
|
|
30
|
+
r = y + 1.402 * v
|
|
31
|
+
g = y - 0.344136 * u - 0.714136 * v
|
|
32
|
+
b = y + 1.772 * u
|
|
33
|
+
|
|
34
|
+
# return np.clip(np.stack((r, g, b), axis=-1), 0, 255).astype(np.uint8)
|
|
35
|
+
rgb = np.stack((r, g, b), axis=-1)
|
|
36
|
+
return np.clip(rgb, 0, 255).astype(np.uint8)
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def yuv420_to_rgba(yuv_bytes: bytes, width: int, height: int) -> np.ndarray[Any, Any]:
|
|
40
|
+
rgb = yuv420_to_rgb(yuv_bytes, width, height)
|
|
41
|
+
alpha = np.full((height, width, 1), 255, dtype=np.uint8) # Alpha direkt als uint8
|
|
42
|
+
rgba = np.concatenate((rgb, alpha), axis=-1)
|
|
43
|
+
return rgba
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
def yuv420_to_gray(yuv_bytes: bytes, width: int, height: int) -> np.ndarray[Any, Any]:
|
|
47
|
+
frame_size = width * height
|
|
48
|
+
raw_data = np.frombuffer(yuv_bytes, dtype=np.uint8)
|
|
49
|
+
return raw_data[:frame_size].reshape((height, width)).astype(np.uint8)
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
def read_yuv_file():
|
|
53
|
+
with open("frame.yuv", "rb") as f:
|
|
54
|
+
return f.read()
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
def main(format: Literal["rgb", "rgba", "gray"]):
|
|
58
|
+
yuv_bytes = read_yuv_file()
|
|
59
|
+
|
|
60
|
+
if format == "rgb":
|
|
61
|
+
rgb = yuv420_to_rgb(yuv_bytes, width, height)
|
|
62
|
+
rgb_image = Image.fromarray(rgb)
|
|
63
|
+
rgb_image.save("frame_rgb.jpg")
|
|
64
|
+
elif format == "rgba":
|
|
65
|
+
rgba = yuv420_to_rgba(yuv_bytes, width, height)
|
|
66
|
+
rgba_image = Image.fromarray(rgba)
|
|
67
|
+
rgba_image.save("frame_rgba.png")
|
|
68
|
+
elif format == "gray":
|
|
69
|
+
gray = yuv420_to_gray(yuv_bytes, width, height)
|
|
70
|
+
gray_image = Image.fromarray(gray)
|
|
71
|
+
gray_image.save("frame_gray.jpg")
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
async def benchmark(format: Literal["rgb", "rgba", "gray"]):
|
|
75
|
+
yuv_bytes = read_yuv_file()
|
|
76
|
+
|
|
77
|
+
fps = 10
|
|
78
|
+
total_frames = 3000
|
|
79
|
+
average_latency_in_ms = 6
|
|
80
|
+
frame_duration = 1.0 / fps
|
|
81
|
+
current_frame = 0
|
|
82
|
+
|
|
83
|
+
start = time.time()
|
|
84
|
+
|
|
85
|
+
while current_frame < total_frames:
|
|
86
|
+
if format == "rgb":
|
|
87
|
+
rgb = yuv420_to_rgb(yuv_bytes, width, height)
|
|
88
|
+
Image.fromarray(rgb)
|
|
89
|
+
elif format == "rgba":
|
|
90
|
+
rgba = yuv420_to_rgba(yuv_bytes, width, height)
|
|
91
|
+
Image.fromarray(rgba)
|
|
92
|
+
elif format == "gray":
|
|
93
|
+
gray = yuv420_to_gray(yuv_bytes, width, height)
|
|
94
|
+
Image.fromarray(gray)
|
|
95
|
+
|
|
96
|
+
current_frame += 1
|
|
97
|
+
await asyncio.sleep(frame_duration + average_latency_in_ms / 1000.0)
|
|
98
|
+
|
|
99
|
+
end = time.time()
|
|
100
|
+
print("Simulation completed! Total duration:", (end - start) * 1000, "ms")
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
format: Literal["rgb", "rgba", "gray"] = "gray"
|
|
104
|
+
|
|
105
|
+
main(format)
|
|
106
|
+
asyncio.run(benchmark(format))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../src/services/config/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAInC,MAAM,CAAC,MAAM,mBAAmB,GAAgB;IAC9C;QACE,IAAI,EAAE,CAAC,8BAA8B,CAAC;KACvC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAY;IACrC,IAAI,EAAE,IAAI;IACV,GAAG,EAAE;QACH,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,CAAC,WAAW,CAAC;KACzB;IACD,MAAM,EAAE;QACN,KAAK,EAAE,MAAM;QACb,iBAAiB,EAAE,KAAK;KACzB;IACD,QAAQ,EAAE;QACR,aAAa,EAAE,GAAG;KACnB;IACD,OAAO,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../src/services/config/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAInC,MAAM,CAAC,MAAM,mBAAmB,GAAgB;IAC9C;QACE,IAAI,EAAE,CAAC,8BAA8B,CAAC;KACvC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAY;IACrC,IAAI,EAAE,IAAI;IACV,GAAG,EAAE;QACH,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,CAAC,WAAW,CAAC;KACzB;IACD,MAAM,EAAE;QACN,KAAK,EAAE,MAAM;QACb,iBAAiB,EAAE,KAAK;KACzB;IACD,QAAQ,EAAE;QACR,aAAa,EAAE,GAAG;KACnB;IACD,OAAO,EAAE;QACP,IAAI,EAAE,KAAK;QACX,eAAe,EAAE,EAAE;KACpB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,GAAG,EAAE;QACH,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,MAAM;KACb;IACD,GAAG,EAAE;QACH,MAAM,EAAE,GAAG;QACX,MAAM,EAAE,gBAAgB;KACzB;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,gBAAgB;QACxB,aAAa,EAAE,qBAAqB;KACrC;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,gBAAgB;KACzB;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,gBAAgB;KACzB;IACD,MAAM,EAAE;QACN,MAAM,EAAE,OAAO;QACf,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,mBAAmB;KACjC;IACD,MAAM,EAAE;QACN,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,UAAU,EAAE,mBAAmB,CAAC;QACzI,MAAM,EAAE,cAAc;QACtB,IAAI,EAAE,gCAAgC;QACtC,IAAI,EAAE,8CAA8C;QACpD,IAAI,EAAE,6GAA6G;QACnH,MAAM,EAAE,gEAAgE;KACzE;CACF,CAAC"}
|
|
@@ -6,7 +6,7 @@ export declare class ConfigService {
|
|
|
6
6
|
static readonly IS_ELECTRON: boolean;
|
|
7
7
|
static readonly IS_HA: boolean;
|
|
8
8
|
static readonly AS_SERVICE: boolean;
|
|
9
|
-
static readonly APP_NAME:
|
|
9
|
+
static readonly APP_NAME: any;
|
|
10
10
|
static get VERSION(): string;
|
|
11
11
|
static readonly NODE_VERSION: string;
|
|
12
12
|
static readonly MIN_NODE_VERSION: string;
|
|
@@ -36,7 +36,7 @@ export declare class ConfigService {
|
|
|
36
36
|
set config(newConfig: IConfig);
|
|
37
37
|
get go2rtcConfig(): Go2RtcConfig;
|
|
38
38
|
set go2rtcConfig(newConfig: Go2RtcConfig);
|
|
39
|
-
constructor(
|
|
39
|
+
constructor(homePath?: string);
|
|
40
40
|
static extractVersion(str: string): string | null;
|
|
41
41
|
read(): void;
|
|
42
42
|
writeConfig(newConfig?: IConfig): void;
|
|
@@ -6,19 +6,21 @@ import fs from 'fs-extra';
|
|
|
6
6
|
import { dump, load } from 'js-yaml';
|
|
7
7
|
import { execSync } from 'node:child_process';
|
|
8
8
|
import { randomBytes } from 'node:crypto';
|
|
9
|
+
import { createRequire } from 'node:module';
|
|
9
10
|
import { homedir, tmpdir } from 'node:os';
|
|
10
11
|
import { dirname, join, parse, resolve } from 'node:path';
|
|
11
12
|
import { fileURLToPath } from 'node:url';
|
|
12
13
|
import { container } from 'tsyringe';
|
|
13
14
|
import { ZodError } from 'zod';
|
|
14
|
-
import packageJson from '../../../package.json' with { type: 'json' };
|
|
15
15
|
import { patchConfigSchema } from '../../api/schemas/config.schema.js';
|
|
16
16
|
import { patchGo2RtcSchema } from '../../api/schemas/go2rtc.schema.js';
|
|
17
17
|
import { ROOT_CERT_FILENAME, ROOT_KEY_FILENAME } from '../../api/utils/constants.js';
|
|
18
18
|
import { mergeWith, structuredClone } from '../../utils/utils.js';
|
|
19
19
|
import { DEFAULT_CONFIG, DEFAULT_GO2RTC_CONFIG, DEFAULT_ICE_SERVERS } from './constants.js';
|
|
20
|
+
const _require = createRequire(import.meta.url);
|
|
20
21
|
const __filename = fileURLToPath(import.meta.url);
|
|
21
22
|
const __dirname = dirname(__filename);
|
|
23
|
+
const packageJson = _require('../../../package.json');
|
|
22
24
|
config({ path: resolve(__dirname, '../../../.env') });
|
|
23
25
|
function findInstalledPath(name) {
|
|
24
26
|
let currentDir = __dirname;
|
|
@@ -114,23 +116,23 @@ export class ConfigService {
|
|
|
114
116
|
throw error;
|
|
115
117
|
}
|
|
116
118
|
}
|
|
117
|
-
constructor(
|
|
119
|
+
constructor(homePath) {
|
|
118
120
|
container.registerInstance('configService', this);
|
|
119
121
|
this.logger = container.resolve('logger');
|
|
120
|
-
|
|
121
|
-
this.HOME_PATH = resolve(this.getUserHomeDir(), '.camera.ui');
|
|
122
|
-
this.PLUGINS_INSTALL_PATH = resolve(this.HOME_PATH, 'plugins/node_modules');
|
|
123
|
-
if (!storagePath) {
|
|
122
|
+
if (!homePath) {
|
|
124
123
|
if (ConfigService.IS_DEV) {
|
|
125
|
-
this.
|
|
124
|
+
this.HOME_PATH = resolve(__dirname, '../../../../', '.camera.ui');
|
|
126
125
|
}
|
|
127
126
|
else {
|
|
128
|
-
this.
|
|
127
|
+
this.HOME_PATH = resolve(this.getUserHomeDir(), '.camera.ui');
|
|
129
128
|
}
|
|
130
129
|
}
|
|
131
130
|
else {
|
|
132
|
-
this.
|
|
131
|
+
this.HOME_PATH = resolve(homePath);
|
|
133
132
|
}
|
|
133
|
+
this.TMP_DIR = join(tmpdir(), '.camera.ui');
|
|
134
|
+
this.PLUGINS_INSTALL_PATH = resolve(this.HOME_PATH, 'plugins/node_modules');
|
|
135
|
+
this.STORAGE_PATH = resolve(this.HOME_PATH, 'volume');
|
|
134
136
|
this.GO2RTC_CONFIG_FILE = resolve(this.STORAGE_PATH, 'go2rtc.yaml');
|
|
135
137
|
this.CONFIG_FILE = resolve(this.STORAGE_PATH, 'camera.ui.yaml');
|
|
136
138
|
this.DATABASE_PATH = resolve(this.STORAGE_PATH, 'database');
|