@camera.ui/server 0.0.10 → 0.0.11-alpha.2
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/@mdi-B8Roxr1z.js +1 -0
- package/dist/interface/assets/{@tanstack-B-9PO-kT.js → @tanstack-BvYNCsQh.js} +1 -1
- package/dist/interface/assets/{@vee-validate-D_G0ehOl.js → @vee-validate-BY5H7fGS.js} +1 -1
- package/dist/interface/assets/@vue-DMh6qW6s.js +17 -0
- package/dist/interface/assets/{@vueform-Bj73kRPS.js → @vueform-B62o9zLe.js} +1 -1
- package/dist/interface/assets/@vueuse-D76s02Ot.js +1 -0
- package/dist/interface/assets/Account-DfRAVlQX.js +1 -0
- package/dist/interface/assets/Account-DlOUWknb.css +1 -0
- package/dist/interface/assets/Adminpanel-CLrlTEb1.js +2 -0
- package/dist/interface/assets/Adminpanel-Cp92VRfz.css +1 -0
- package/dist/interface/assets/Appearance-CKhkKhrK.js +1 -0
- package/dist/interface/assets/Backup-Dqeqiulf.js +1 -0
- package/dist/interface/assets/{Camera-BOu5dUel.js → Camera-_bMRlyKl.js} +1 -1
- package/dist/interface/assets/{Cameras-C7eUXdZk.js → Cameras-0W-4S92q.js} +1 -1
- package/dist/interface/assets/Cameras-Du4Q1fbV.css +1 -0
- package/dist/interface/assets/{Camview-CEgwGCGR.js → Camview-Bv3STCHT.js} +1 -1
- package/dist/interface/assets/{Config-Dt-etQ3h.js → Config-pNcWHwGl.js} +1 -1
- package/dist/interface/assets/{Console-FCve5CKy.js → Console-D6eztjlH.js} +1 -1
- package/dist/interface/assets/FirstSteps-C-08k14n.js +1 -0
- package/dist/interface/assets/FirstSteps-CGEDVu4n.css +1 -0
- package/dist/interface/assets/{NewCamera-Cc1X79Ns.js → NewCamera-Dmj8qmGV.js} +2 -2
- package/dist/interface/assets/{Plugin-CnQjafMC.js → Plugin-0komMxsg.js} +1 -1
- package/dist/interface/assets/{Plugins-CwyUdMlv.js → Plugins-CpbWh_pN.js} +1 -1
- package/dist/interface/assets/Recordings-BBllGLr3.js +1 -0
- package/dist/interface/assets/Recordings-BHGIQ_1S.js +1 -0
- package/dist/interface/assets/Settings-DuUlAjQP.js +1 -0
- package/dist/interface/assets/System-CNh-XpD0.css +1 -0
- package/dist/interface/assets/System-Dp3-TN7J.js +4 -0
- package/dist/interface/assets/User-CmrrYaqq.js +1 -0
- package/dist/interface/assets/User-DBVny1Dv.css +1 -0
- package/dist/interface/assets/VConfigEditor.vue_vue_type_script_setup_true_lang-aMMzP49H.js +2 -0
- package/dist/interface/assets/{VConsole-BHy92Ws0.js → VConsole-WHOBQIsm.js} +1 -1
- package/dist/interface/assets/{VPlayer-D3KhRfx-.css → VPlayer-DJjwfULk.css} +1 -1
- package/dist/interface/assets/VPlayer-YzfFbh8e.js +1 -0
- package/dist/interface/assets/VPluginCard-BoeWmehD.css +1 -0
- package/dist/interface/assets/VPluginCard-CKMpjvL9.js +4 -0
- package/dist/interface/assets/compare-versions-DqEOhma6.js +1 -0
- package/dist/interface/assets/main-2jkpYOC_.css +1 -0
- package/dist/interface/assets/main-D1X9SzzX.js +9 -0
- package/dist/interface/assets/{pinia-CitQ5b66.js → pinia-BQbsPkIS.js} +1 -1
- package/dist/interface/assets/{plugins-D80RNVmI.js → plugins-BKEnSy-B.js} +1 -1
- package/dist/interface/assets/{rxjs-B53o3e_J.js → rxjs-CQrF441D.js} +1 -1
- package/dist/interface/assets/system-BTruCO3L.js +1 -0
- package/dist/interface/assets/{ui-CHKoHLl-.js → ui-CyEgSsGE.js} +1 -1
- package/dist/interface/assets/{v-calendar-C-8W4FeM.js → v-calendar-CVkp7hgG.js} +1 -1
- package/dist/interface/assets/{vee-validate-Ck3I2guh.js → vee-validate-9vrYaQFq.js} +1 -1
- package/dist/interface/assets/{vue-i18n-DuCDz9TJ.js → vue-i18n-DqKZtX1N.js} +1 -1
- package/dist/interface/assets/{vue-inline-svg-C2gR6nRD.js → vue-inline-svg-D1BV6A5r.js} +1 -1
- package/dist/interface/assets/{vue-router-OPGDMnws.js → vue-router-Bje-Muh5.js} +1 -1
- package/dist/interface/assets/vue3-apexcharts-B8Nznyy3.js +703 -0
- package/dist/interface/assets/{vue3-dnd-Hf295yge.js → vue3-dnd-CvPSCHQb.js} +1 -1
- package/dist/interface/assets/{vue3-toastify-DQr2dOCx.js → vue3-toastify-D8Ru9hkX.js} +1 -1
- package/dist/interface/assets/{vuetify-B__3Y-at.css → vuetify-CoMF_JkX.css} +2 -2
- package/dist/interface/assets/vuetify-DYU2dOLI.js +5 -0
- package/dist/interface/index.html +17 -17
- 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/cui-service.js +4 -8
- package/dist/server/bin/cui-service.js.map +1 -1
- package/dist/server/package.json +3 -3
- package/dist/server/requirements.txt +1 -1
- package/dist/server/src/api/controllers/api.controller.d.ts +1 -0
- package/dist/server/src/api/controllers/api.controller.js +3 -0
- package/dist/server/src/api/controllers/api.controller.js.map +1 -1
- package/dist/server/src/api/controllers/cameras.controller.d.ts +2 -1
- package/dist/server/src/api/controllers/cameras.controller.js +27 -0
- package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
- package/dist/server/src/api/controllers/plugins.controller.d.ts +1 -0
- package/dist/server/src/api/controllers/plugins.controller.js +41 -23
- package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
- package/dist/server/src/api/controllers/system.controller.d.ts +3 -0
- package/dist/server/src/api/controllers/system.controller.js +39 -0
- package/dist/server/src/api/controllers/system.controller.js.map +1 -1
- package/dist/server/src/api/controllers/users.controller.js +21 -2
- package/dist/server/src/api/controllers/users.controller.js.map +1 -1
- package/dist/server/src/api/database/types.d.ts +6 -6
- package/dist/server/src/api/index.js +8 -12
- package/dist/server/src/api/index.js.map +1 -1
- package/dist/server/src/api/routes/api.routes.js +1 -0
- package/dist/server/src/api/routes/api.routes.js.map +1 -1
- package/dist/server/src/api/routes/cameras.routes.js +19 -1
- package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
- package/dist/server/src/api/routes/system.routes.js +24 -0
- package/dist/server/src/api/routes/system.routes.js.map +1 -1
- package/dist/server/src/api/schemas/cameras.schema.d.ts +61 -54
- package/dist/server/src/api/schemas/cameras.schema.js +7 -6
- package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
- package/dist/server/src/api/schemas/plugins.schema.js +1 -1
- package/dist/server/src/api/schemas/plugins.schema.js.map +1 -1
- package/dist/server/src/api/schemas/users.schema.d.ts +5 -0
- package/dist/server/src/api/schemas/users.schema.js +2 -1
- package/dist/server/src/api/schemas/users.schema.js.map +1 -1
- package/dist/server/src/api/types/index.d.ts +12 -2
- package/dist/server/src/api/types/index.js.map +1 -1
- package/dist/server/src/api/websocket/nsp/metrics.d.ts +4 -22
- package/dist/server/src/api/websocket/nsp/metrics.js +74 -214
- package/dist/server/src/api/websocket/nsp/metrics.js.map +1 -1
- package/dist/server/src/api/websocket/nsp/status.d.ts +4 -15
- package/dist/server/src/api/websocket/nsp/status.js +10 -16
- package/dist/server/src/api/websocket/nsp/status.js.map +1 -1
- package/dist/server/src/api/websocket/types.d.ts +25 -64
- package/dist/server/src/decoder/worker.d.ts +1 -2
- package/dist/server/src/decoder/worker.js +5 -11
- package/dist/server/src/decoder/worker.js.map +1 -1
- package/dist/server/src/go2rtc/index.js +4 -6
- package/dist/server/src/go2rtc/index.js.map +1 -1
- package/dist/server/src/index.d.ts +2 -2
- package/dist/server/src/index.js.map +1 -1
- package/dist/server/src/nats/index.d.ts +1 -1
- package/dist/server/src/nats/index.js +3 -3
- package/dist/server/src/nats/index.js.map +1 -1
- package/dist/server/src/nats/proxy/cameraDevice.d.ts +1 -1
- package/dist/server/src/nats/proxy/cameraDevice.js +1 -1
- package/dist/server/src/nats/proxy/cameraDevice.js.map +1 -1
- package/dist/server/src/nats/proxy/deviceManager.d.ts +1 -1
- package/dist/server/src/nats/proxy/deviceManager.js +1 -1
- package/dist/server/src/nats/proxy/deviceManager.js.map +1 -1
- package/dist/server/src/nats/server.js +4 -6
- package/dist/server/src/nats/server.js.map +1 -1
- package/dist/server/src/nats/websocket.js +2 -2
- package/dist/server/src/nats/websocket.js.map +1 -1
- package/dist/server/src/plugins/types.d.ts +10 -41
- package/dist/server/src/plugins/worker.js +4 -7
- package/dist/server/src/plugins/worker.js.map +1 -1
- package/dist/server/src/polyglot/node/plugins/cameraStorage.d.ts +9 -10
- package/dist/server/src/polyglot/node/plugins/cameraStorage.js +51 -55
- package/dist/server/src/polyglot/node/plugins/cameraStorage.js.map +1 -1
- package/dist/server/src/polyglot/node/plugins/child.js +18 -4
- package/dist/server/src/polyglot/node/plugins/child.js.map +1 -1
- package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.js +18 -4
- package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.js.map +1 -1
- package/dist/server/src/polyglot/node/plugins/schema.d.ts +22 -9
- package/dist/server/src/polyglot/node/plugins/schema.js +22 -2
- package/dist/server/src/polyglot/node/plugins/schema.js.map +1 -1
- package/dist/server/src/polyglot/node/plugins/storageController.d.ts +3 -3
- package/dist/server/src/polyglot/node/plugins/storageController.js.map +1 -1
- package/dist/server/src/polyglot/python/camera_ui_types/__init__.py +59 -93
- package/dist/server/src/polyglot/python/plugins/camera_storage.py +75 -80
- package/dist/server/src/polyglot/python/plugins/child.py +12 -4
- package/dist/server/src/polyglot/python/plugins/constants.py +0 -1
- package/dist/server/src/polyglot/python/plugins/proxy/camera_device.py +12 -4
- package/dist/server/src/polyglot/python/plugins/schema.py +19 -230
- package/dist/server/src/polyglot/python/plugins/storage_controller.py +2 -2
- package/dist/server/src/services/config/index.d.ts +3 -3
- package/dist/server/src/services/config/index.js +18 -4
- package/dist/server/src/services/config/index.js.map +1 -1
- package/dist/server/src/services/config/types.d.ts +1 -1
- package/package.json +3 -3
- package/dist/interface/assets/@mdi-C-QA1nE3.js +0 -1
- package/dist/interface/assets/@vue-C10tA4b9.js +0 -17
- package/dist/interface/assets/@vueuse-BPeqNGoM.js +0 -1
- package/dist/interface/assets/Account-B_tHnXoX.css +0 -1
- package/dist/interface/assets/Account-MEaGtu1D.js +0 -1
- package/dist/interface/assets/Adminpanel-B_SY1GJM.css +0 -0
- package/dist/interface/assets/Adminpanel-D1ycltxf.js +0 -1
- package/dist/interface/assets/Appearance-Jlzp_P21.js +0 -1
- package/dist/interface/assets/Backup-1-ju9NDo.js +0 -1
- package/dist/interface/assets/Cameras-tmTzi1M6.css +0 -1
- package/dist/interface/assets/FirstSteps-DLkKDSe9.js +0 -1
- package/dist/interface/assets/FirstSteps-DNHhyDSw.css +0 -1
- package/dist/interface/assets/Recordings-Boeev1lV.js +0 -1
- package/dist/interface/assets/Recordings-D5ta7AYS.js +0 -1
- package/dist/interface/assets/Settings-Cvm2jnBr.js +0 -1
- package/dist/interface/assets/System-fHQ7XKri.js +0 -1
- package/dist/interface/assets/User-5o1VKizc.js +0 -1
- package/dist/interface/assets/User-BXColIbU.css +0 -1
- package/dist/interface/assets/VConfigEditor.vue_vue_type_script_setup_true_lang-C_95ELTZ.js +0 -2
- package/dist/interface/assets/VPlayer-LX5HGLrY.js +0 -1
- package/dist/interface/assets/VPluginCard-CFpg0LM4.js +0 -4
- package/dist/interface/assets/VPluginCard-Fl0AYmnF.css +0 -1
- package/dist/interface/assets/main-BCWSiwnj.js +0 -9
- package/dist/interface/assets/main-CQNVVncO.css +0 -1
- package/dist/interface/assets/system-CS_ZOs3_.js +0 -1
- package/dist/interface/assets/vuetify-CrcT8VHB.js +0 -5
- package/dist/server/src/polyglot/node/decoder/wasm/test/imageUtils.py +0 -106
|
@@ -1,106 +0,0 @@
|
|
|
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))
|