@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.
Files changed (187) hide show
  1. package/dist/interface/assets/@mdi-B8Roxr1z.js +1 -0
  2. package/dist/interface/assets/{@tanstack-B-9PO-kT.js → @tanstack-BvYNCsQh.js} +1 -1
  3. package/dist/interface/assets/{@vee-validate-D_G0ehOl.js → @vee-validate-BY5H7fGS.js} +1 -1
  4. package/dist/interface/assets/@vue-DMh6qW6s.js +17 -0
  5. package/dist/interface/assets/{@vueform-Bj73kRPS.js → @vueform-B62o9zLe.js} +1 -1
  6. package/dist/interface/assets/@vueuse-D76s02Ot.js +1 -0
  7. package/dist/interface/assets/Account-DfRAVlQX.js +1 -0
  8. package/dist/interface/assets/Account-DlOUWknb.css +1 -0
  9. package/dist/interface/assets/Adminpanel-CLrlTEb1.js +2 -0
  10. package/dist/interface/assets/Adminpanel-Cp92VRfz.css +1 -0
  11. package/dist/interface/assets/Appearance-CKhkKhrK.js +1 -0
  12. package/dist/interface/assets/Backup-Dqeqiulf.js +1 -0
  13. package/dist/interface/assets/{Camera-BOu5dUel.js → Camera-_bMRlyKl.js} +1 -1
  14. package/dist/interface/assets/{Cameras-C7eUXdZk.js → Cameras-0W-4S92q.js} +1 -1
  15. package/dist/interface/assets/Cameras-Du4Q1fbV.css +1 -0
  16. package/dist/interface/assets/{Camview-CEgwGCGR.js → Camview-Bv3STCHT.js} +1 -1
  17. package/dist/interface/assets/{Config-Dt-etQ3h.js → Config-pNcWHwGl.js} +1 -1
  18. package/dist/interface/assets/{Console-FCve5CKy.js → Console-D6eztjlH.js} +1 -1
  19. package/dist/interface/assets/FirstSteps-C-08k14n.js +1 -0
  20. package/dist/interface/assets/FirstSteps-CGEDVu4n.css +1 -0
  21. package/dist/interface/assets/{NewCamera-Cc1X79Ns.js → NewCamera-Dmj8qmGV.js} +2 -2
  22. package/dist/interface/assets/{Plugin-CnQjafMC.js → Plugin-0komMxsg.js} +1 -1
  23. package/dist/interface/assets/{Plugins-CwyUdMlv.js → Plugins-CpbWh_pN.js} +1 -1
  24. package/dist/interface/assets/Recordings-BBllGLr3.js +1 -0
  25. package/dist/interface/assets/Recordings-BHGIQ_1S.js +1 -0
  26. package/dist/interface/assets/Settings-DuUlAjQP.js +1 -0
  27. package/dist/interface/assets/System-CNh-XpD0.css +1 -0
  28. package/dist/interface/assets/System-Dp3-TN7J.js +4 -0
  29. package/dist/interface/assets/User-CmrrYaqq.js +1 -0
  30. package/dist/interface/assets/User-DBVny1Dv.css +1 -0
  31. package/dist/interface/assets/VConfigEditor.vue_vue_type_script_setup_true_lang-aMMzP49H.js +2 -0
  32. package/dist/interface/assets/{VConsole-BHy92Ws0.js → VConsole-WHOBQIsm.js} +1 -1
  33. package/dist/interface/assets/{VPlayer-D3KhRfx-.css → VPlayer-DJjwfULk.css} +1 -1
  34. package/dist/interface/assets/VPlayer-YzfFbh8e.js +1 -0
  35. package/dist/interface/assets/VPluginCard-BoeWmehD.css +1 -0
  36. package/dist/interface/assets/VPluginCard-CKMpjvL9.js +4 -0
  37. package/dist/interface/assets/compare-versions-DqEOhma6.js +1 -0
  38. package/dist/interface/assets/main-2jkpYOC_.css +1 -0
  39. package/dist/interface/assets/main-D1X9SzzX.js +9 -0
  40. package/dist/interface/assets/{pinia-CitQ5b66.js → pinia-BQbsPkIS.js} +1 -1
  41. package/dist/interface/assets/{plugins-D80RNVmI.js → plugins-BKEnSy-B.js} +1 -1
  42. package/dist/interface/assets/{rxjs-B53o3e_J.js → rxjs-CQrF441D.js} +1 -1
  43. package/dist/interface/assets/system-BTruCO3L.js +1 -0
  44. package/dist/interface/assets/{ui-CHKoHLl-.js → ui-CyEgSsGE.js} +1 -1
  45. package/dist/interface/assets/{v-calendar-C-8W4FeM.js → v-calendar-CVkp7hgG.js} +1 -1
  46. package/dist/interface/assets/{vee-validate-Ck3I2guh.js → vee-validate-9vrYaQFq.js} +1 -1
  47. package/dist/interface/assets/{vue-i18n-DuCDz9TJ.js → vue-i18n-DqKZtX1N.js} +1 -1
  48. package/dist/interface/assets/{vue-inline-svg-C2gR6nRD.js → vue-inline-svg-D1BV6A5r.js} +1 -1
  49. package/dist/interface/assets/{vue-router-OPGDMnws.js → vue-router-Bje-Muh5.js} +1 -1
  50. package/dist/interface/assets/vue3-apexcharts-B8Nznyy3.js +703 -0
  51. package/dist/interface/assets/{vue3-dnd-Hf295yge.js → vue3-dnd-CvPSCHQb.js} +1 -1
  52. package/dist/interface/assets/{vue3-toastify-DQr2dOCx.js → vue3-toastify-D8Ru9hkX.js} +1 -1
  53. package/dist/interface/assets/{vuetify-B__3Y-at.css → vuetify-CoMF_JkX.css} +2 -2
  54. package/dist/interface/assets/vuetify-DYU2dOLI.js +5 -0
  55. package/dist/interface/index.html +17 -17
  56. package/dist/interface/pwa/pwa-120x120.png +0 -0
  57. package/dist/interface/pwa/pwa-144x144.png +0 -0
  58. package/dist/interface/pwa/pwa-152x152.png +0 -0
  59. package/dist/interface/pwa/pwa-167x167.png +0 -0
  60. package/dist/interface/pwa/pwa-192x192.png +0 -0
  61. package/dist/interface/pwa/pwa-24x24.png +0 -0
  62. package/dist/interface/pwa/pwa-36x36.png +0 -0
  63. package/dist/interface/pwa/pwa-48x48.png +0 -0
  64. package/dist/interface/pwa/pwa-50x50.png +0 -0
  65. package/dist/interface/pwa/pwa-64x64.png +0 -0
  66. package/dist/interface/pwa/pwa-72x72.png +0 -0
  67. package/dist/interface/pwa/pwa-88x88.png +0 -0
  68. package/dist/interface/pwa/pwa-96x96.png +0 -0
  69. package/dist/interface/sw.js +1 -1
  70. package/dist/server/bin/cui-service.js +4 -8
  71. package/dist/server/bin/cui-service.js.map +1 -1
  72. package/dist/server/package.json +3 -3
  73. package/dist/server/requirements.txt +1 -1
  74. package/dist/server/src/api/controllers/api.controller.d.ts +1 -0
  75. package/dist/server/src/api/controllers/api.controller.js +3 -0
  76. package/dist/server/src/api/controllers/api.controller.js.map +1 -1
  77. package/dist/server/src/api/controllers/cameras.controller.d.ts +2 -1
  78. package/dist/server/src/api/controllers/cameras.controller.js +27 -0
  79. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  80. package/dist/server/src/api/controllers/plugins.controller.d.ts +1 -0
  81. package/dist/server/src/api/controllers/plugins.controller.js +41 -23
  82. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  83. package/dist/server/src/api/controllers/system.controller.d.ts +3 -0
  84. package/dist/server/src/api/controllers/system.controller.js +39 -0
  85. package/dist/server/src/api/controllers/system.controller.js.map +1 -1
  86. package/dist/server/src/api/controllers/users.controller.js +21 -2
  87. package/dist/server/src/api/controllers/users.controller.js.map +1 -1
  88. package/dist/server/src/api/database/types.d.ts +6 -6
  89. package/dist/server/src/api/index.js +8 -12
  90. package/dist/server/src/api/index.js.map +1 -1
  91. package/dist/server/src/api/routes/api.routes.js +1 -0
  92. package/dist/server/src/api/routes/api.routes.js.map +1 -1
  93. package/dist/server/src/api/routes/cameras.routes.js +19 -1
  94. package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
  95. package/dist/server/src/api/routes/system.routes.js +24 -0
  96. package/dist/server/src/api/routes/system.routes.js.map +1 -1
  97. package/dist/server/src/api/schemas/cameras.schema.d.ts +61 -54
  98. package/dist/server/src/api/schemas/cameras.schema.js +7 -6
  99. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  100. package/dist/server/src/api/schemas/plugins.schema.js +1 -1
  101. package/dist/server/src/api/schemas/plugins.schema.js.map +1 -1
  102. package/dist/server/src/api/schemas/users.schema.d.ts +5 -0
  103. package/dist/server/src/api/schemas/users.schema.js +2 -1
  104. package/dist/server/src/api/schemas/users.schema.js.map +1 -1
  105. package/dist/server/src/api/types/index.d.ts +12 -2
  106. package/dist/server/src/api/types/index.js.map +1 -1
  107. package/dist/server/src/api/websocket/nsp/metrics.d.ts +4 -22
  108. package/dist/server/src/api/websocket/nsp/metrics.js +74 -214
  109. package/dist/server/src/api/websocket/nsp/metrics.js.map +1 -1
  110. package/dist/server/src/api/websocket/nsp/status.d.ts +4 -15
  111. package/dist/server/src/api/websocket/nsp/status.js +10 -16
  112. package/dist/server/src/api/websocket/nsp/status.js.map +1 -1
  113. package/dist/server/src/api/websocket/types.d.ts +25 -64
  114. package/dist/server/src/decoder/worker.d.ts +1 -2
  115. package/dist/server/src/decoder/worker.js +5 -11
  116. package/dist/server/src/decoder/worker.js.map +1 -1
  117. package/dist/server/src/go2rtc/index.js +4 -6
  118. package/dist/server/src/go2rtc/index.js.map +1 -1
  119. package/dist/server/src/index.d.ts +2 -2
  120. package/dist/server/src/index.js.map +1 -1
  121. package/dist/server/src/nats/index.d.ts +1 -1
  122. package/dist/server/src/nats/index.js +3 -3
  123. package/dist/server/src/nats/index.js.map +1 -1
  124. package/dist/server/src/nats/proxy/cameraDevice.d.ts +1 -1
  125. package/dist/server/src/nats/proxy/cameraDevice.js +1 -1
  126. package/dist/server/src/nats/proxy/cameraDevice.js.map +1 -1
  127. package/dist/server/src/nats/proxy/deviceManager.d.ts +1 -1
  128. package/dist/server/src/nats/proxy/deviceManager.js +1 -1
  129. package/dist/server/src/nats/proxy/deviceManager.js.map +1 -1
  130. package/dist/server/src/nats/server.js +4 -6
  131. package/dist/server/src/nats/server.js.map +1 -1
  132. package/dist/server/src/nats/websocket.js +2 -2
  133. package/dist/server/src/nats/websocket.js.map +1 -1
  134. package/dist/server/src/plugins/types.d.ts +10 -41
  135. package/dist/server/src/plugins/worker.js +4 -7
  136. package/dist/server/src/plugins/worker.js.map +1 -1
  137. package/dist/server/src/polyglot/node/plugins/cameraStorage.d.ts +9 -10
  138. package/dist/server/src/polyglot/node/plugins/cameraStorage.js +51 -55
  139. package/dist/server/src/polyglot/node/plugins/cameraStorage.js.map +1 -1
  140. package/dist/server/src/polyglot/node/plugins/child.js +18 -4
  141. package/dist/server/src/polyglot/node/plugins/child.js.map +1 -1
  142. package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.js +18 -4
  143. package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.js.map +1 -1
  144. package/dist/server/src/polyglot/node/plugins/schema.d.ts +22 -9
  145. package/dist/server/src/polyglot/node/plugins/schema.js +22 -2
  146. package/dist/server/src/polyglot/node/plugins/schema.js.map +1 -1
  147. package/dist/server/src/polyglot/node/plugins/storageController.d.ts +3 -3
  148. package/dist/server/src/polyglot/node/plugins/storageController.js.map +1 -1
  149. package/dist/server/src/polyglot/python/camera_ui_types/__init__.py +59 -93
  150. package/dist/server/src/polyglot/python/plugins/camera_storage.py +75 -80
  151. package/dist/server/src/polyglot/python/plugins/child.py +12 -4
  152. package/dist/server/src/polyglot/python/plugins/constants.py +0 -1
  153. package/dist/server/src/polyglot/python/plugins/proxy/camera_device.py +12 -4
  154. package/dist/server/src/polyglot/python/plugins/schema.py +19 -230
  155. package/dist/server/src/polyglot/python/plugins/storage_controller.py +2 -2
  156. package/dist/server/src/services/config/index.d.ts +3 -3
  157. package/dist/server/src/services/config/index.js +18 -4
  158. package/dist/server/src/services/config/index.js.map +1 -1
  159. package/dist/server/src/services/config/types.d.ts +1 -1
  160. package/package.json +3 -3
  161. package/dist/interface/assets/@mdi-C-QA1nE3.js +0 -1
  162. package/dist/interface/assets/@vue-C10tA4b9.js +0 -17
  163. package/dist/interface/assets/@vueuse-BPeqNGoM.js +0 -1
  164. package/dist/interface/assets/Account-B_tHnXoX.css +0 -1
  165. package/dist/interface/assets/Account-MEaGtu1D.js +0 -1
  166. package/dist/interface/assets/Adminpanel-B_SY1GJM.css +0 -0
  167. package/dist/interface/assets/Adminpanel-D1ycltxf.js +0 -1
  168. package/dist/interface/assets/Appearance-Jlzp_P21.js +0 -1
  169. package/dist/interface/assets/Backup-1-ju9NDo.js +0 -1
  170. package/dist/interface/assets/Cameras-tmTzi1M6.css +0 -1
  171. package/dist/interface/assets/FirstSteps-DLkKDSe9.js +0 -1
  172. package/dist/interface/assets/FirstSteps-DNHhyDSw.css +0 -1
  173. package/dist/interface/assets/Recordings-Boeev1lV.js +0 -1
  174. package/dist/interface/assets/Recordings-D5ta7AYS.js +0 -1
  175. package/dist/interface/assets/Settings-Cvm2jnBr.js +0 -1
  176. package/dist/interface/assets/System-fHQ7XKri.js +0 -1
  177. package/dist/interface/assets/User-5o1VKizc.js +0 -1
  178. package/dist/interface/assets/User-BXColIbU.css +0 -1
  179. package/dist/interface/assets/VConfigEditor.vue_vue_type_script_setup_true_lang-C_95ELTZ.js +0 -2
  180. package/dist/interface/assets/VPlayer-LX5HGLrY.js +0 -1
  181. package/dist/interface/assets/VPluginCard-CFpg0LM4.js +0 -4
  182. package/dist/interface/assets/VPluginCard-Fl0AYmnF.css +0 -1
  183. package/dist/interface/assets/main-BCWSiwnj.js +0 -9
  184. package/dist/interface/assets/main-CQNVVncO.css +0 -1
  185. package/dist/interface/assets/system-CS_ZOs3_.js +0 -1
  186. package/dist/interface/assets/vuetify-CrcT8VHB.js +0 -5
  187. 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))