@camera.ui/server 0.0.22-alpha.1 → 0.0.22-alpha.3

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 (568) hide show
  1. package/dist/interface/@intlify.DXtFJcML.0.0.22-alpha.3.js +15 -0
  2. package/dist/interface/@mdi.C1UTQKuc.0.0.22-alpha.3.js +1 -0
  3. package/dist/interface/@tanstack.BQDLPv59.0.0.22-alpha.3.js +1 -0
  4. package/dist/interface/{@vee-validate.CBoqAk51.0.0.22-alpha.1.js → @vee-validate.B6iHt3KQ.0.0.22-alpha.3.js} +2 -2
  5. package/dist/interface/@vue.dAKyD-3P.0.0.22-alpha.3.js +17 -0
  6. package/dist/interface/{@vueform.20m7Hn_5.0.0.22-alpha.1.js → @vueform.fX_skaP7.0.0.22-alpha.3.js} +1 -1
  7. package/dist/interface/@vueuse.UomdiF5b.0.0.22-alpha.3.js +1 -0
  8. package/dist/interface/Account.CV0129ox.0.0.22-alpha.3.js +1 -0
  9. package/dist/interface/Adminpanel.BdWgx08_.0.0.22-alpha.3.js +2 -0
  10. package/dist/interface/Appearance.BIXs4v77.0.0.22-alpha.3.js +1 -0
  11. package/dist/interface/Backup.DD8_FKRe.0.0.22-alpha.3.js +1 -0
  12. package/dist/interface/Camera.D35ZcCy9.0.0.22-alpha.3.js +1 -0
  13. package/dist/interface/Cameras.DjHsEC_O.0.0.22-alpha.3.js +1 -0
  14. package/dist/interface/Camview.B7RlCn-N.0.0.22-alpha.3.js +1 -0
  15. package/dist/interface/Config.D59faV9o.0.0.22-alpha.3.js +1 -0
  16. package/dist/interface/Console.AYN2urXI.0.0.22-alpha.3.js +4 -0
  17. package/dist/interface/FirstSteps.GCJrwiwA.0.0.22-alpha.3.js +1 -0
  18. package/dist/interface/{NewCamera.BoQ_EpL5.0.0.22-alpha.1.js → NewCamera.vdINgQcu.0.0.22-alpha.3.js} +2 -2
  19. package/dist/interface/Plugin.CNSuNdoN.0.0.22-alpha.3.js +1 -0
  20. package/dist/interface/Plugins.CEuVE1ye.0.0.22-alpha.3.js +1 -0
  21. package/dist/interface/Recordings.9X_sLd-K.0.0.22-alpha.3.js +1 -0
  22. package/dist/interface/Recordings.Ci_Cay__.0.0.22-alpha.3.js +1 -0
  23. package/dist/interface/Settings.BoS_2afy.0.0.22-alpha.3.js +1 -0
  24. package/dist/interface/System.OQzLrmLL.0.0.22-alpha.3.js +4 -0
  25. package/dist/interface/User.3YvVz6r3.0.0.22-alpha.3.js +1 -0
  26. package/dist/interface/VConfigEditor.vue_vue_type_script_setup_true_lang.CIO7vqXE.0.0.22-alpha.3.js +2 -0
  27. package/dist/interface/VConsole.J4Bg7nPY.0.0.22-alpha.3.js +1 -0
  28. package/dist/interface/VPlayer.CEpiQ-rx.0.0.22-alpha.3.js +4 -0
  29. package/dist/interface/VPluginCard.D0qUSLbT.0.0.22-alpha.3.js +4 -0
  30. package/dist/interface/{ace-builds.GNWBVG5S.0.0.22-alpha.1.js → ace-builds.Ch6vRC6Y.0.0.22-alpha.3.js} +27 -27
  31. package/dist/interface/{apexcharts.BMrxVPFF.0.0.22-alpha.1.js → apexcharts.BzKjYm5L.0.0.22-alpha.3.js} +1 -1
  32. package/dist/interface/assets/Adminpanel.0.0.22-alpha.3.a3t1v3MB.css +1 -0
  33. package/dist/interface/assets/Camera.0.0.22-alpha.3.D1I-fW4q.css +1 -0
  34. package/dist/interface/assets/Cameras.0.0.22-alpha.3.Buf1Dgce.css +1 -0
  35. package/dist/interface/assets/Camview.0.0.22-alpha.3.B7Cja2ry.css +1 -0
  36. package/dist/interface/assets/Config.0.0.22-alpha.3.DNGo2krN.css +1 -0
  37. package/dist/interface/assets/Console.0.0.22-alpha.3.Bh8l9QnM.css +1 -0
  38. package/dist/interface/assets/FirstSteps.0.0.22-alpha.3.sPEcItZ6.css +1 -0
  39. package/dist/interface/assets/NewCamera.0.0.22-alpha.3.Cq8GzeJ7.css +1 -0
  40. package/dist/interface/assets/{Settings.0.0.22-alpha.1.DC_-E3CR.css → Settings.0.0.22-alpha.3.CVmui2kE.css} +1 -1
  41. package/dist/interface/assets/VConsole.0.0.22-alpha.3.BCqKHpmJ.css +1 -0
  42. package/dist/interface/assets/VPlayer.0.0.22-alpha.3.DNtDNhfg.css +1 -0
  43. package/dist/interface/assets/VPluginCard.0.0.22-alpha.3.C8Lj6X-J.css +1 -0
  44. package/dist/interface/assets/main.0.0.22-alpha.3.DNhh__S1.css +1 -0
  45. package/dist/interface/assets/{vuetify.0.0.22-alpha.1.Cd1awv3t.css → vuetify.0.0.22-alpha.3.CgGsw6iO.css} +2 -2
  46. package/dist/interface/birpc.l0sNRNKZ.0.0.22-alpha.3.js +1 -0
  47. package/dist/interface/{dnd-core.DMTh_43Y.0.0.22-alpha.1.js → dnd-core.B29WFSBv.0.0.22-alpha.3.js} +1 -1
  48. package/dist/interface/{draggabilly.Bp5rpROY.0.0.22-alpha.1.js → draggabilly.DqeTwBQP.0.0.22-alpha.3.js} +1 -1
  49. package/dist/interface/engine.io-client.JaCvSrgR.0.0.22-alpha.3.js +1 -0
  50. package/dist/interface/{ev-emitter.D9A4-Zp4.0.0.22-alpha.1.js → ev-emitter.Ctd6XSNq.0.0.22-alpha.3.js} +1 -1
  51. package/dist/interface/{fast-deep-equal.CynR0Ykh.0.0.22-alpha.1.js → fast-deep-equal.CFCsEgyF.0.0.22-alpha.3.js} +1 -1
  52. package/dist/interface/{highlight.js.BcAmtPT9.0.0.22-alpha.1.js → highlight.js.QZPea1Ru.0.0.22-alpha.3.js} +1 -1
  53. package/dist/interface/hookable.B8xFkYCm.0.0.22-alpha.3.js +1 -0
  54. package/dist/interface/index.html +34 -36
  55. package/dist/interface/{linkify-it.zJgnXBKD.0.0.22-alpha.1.js → linkify-it.BT40Wvw5.0.0.22-alpha.3.js} +1 -1
  56. package/dist/interface/main.BASwd6Tx.0.0.22-alpha.3.js +5 -0
  57. package/dist/interface/{markdown-it.DSn07YT-.0.0.22-alpha.1.js → markdown-it.DMx4rp8B.0.0.22-alpha.3.js} +1 -1
  58. package/dist/interface/{nprogress.B-sfF0qV.0.0.22-alpha.1.js → nprogress.Bqe-TtYa.0.0.22-alpha.3.js} +1 -1
  59. package/dist/interface/perfect-debounce.Cp2ysxOb.0.0.22-alpha.3.js +1 -0
  60. package/dist/interface/pinia.nQAfYRjL.0.0.22-alpha.3.js +5 -0
  61. package/dist/interface/plugins.CHFY7I4J.0.0.22-alpha.3.js +1 -0
  62. package/dist/interface/point-in-polygon-hao.l0sNRNKZ.0.0.22-alpha.3.js +1 -0
  63. package/dist/interface/{qrcode.BcJHYbhe.0.0.22-alpha.1.js → qrcode.BSQ3LbvQ.0.0.22-alpha.3.js} +1 -1
  64. package/dist/interface/{react-dnd-touch-backend.B9_17rX-.0.0.22-alpha.1.js → react-dnd-touch-backend.B_d86_Kg.0.0.22-alpha.3.js} +1 -1
  65. package/dist/interface/{rxjs.BlwZeIMX.0.0.22-alpha.1.js → rxjs.D2GEiPyD.0.0.22-alpha.3.js} +1 -1
  66. package/dist/interface/socket.io-client.DOo2Esna.0.0.22-alpha.3.js +1 -0
  67. package/dist/interface/{socket.io-parser.DbDzb_0x.0.0.22-alpha.1.js → socket.io-parser.q3PQfUUu.0.0.22-alpha.3.js} +1 -1
  68. package/dist/interface/sw.js +1 -1
  69. package/dist/interface/sweepline-intersections.l0sNRNKZ.0.0.22-alpha.3.js +1 -0
  70. package/dist/interface/system.szbtAGtP.0.0.22-alpha.3.js +1 -0
  71. package/dist/interface/types.Cz9TaZAP.0.0.22-alpha.3.js +1 -0
  72. package/dist/interface/{unidragger.BfsybYBO.0.0.22-alpha.1.js → unidragger.DwHLT_zc.0.0.22-alpha.3.js} +1 -1
  73. package/dist/interface/utils.mAKpSMLY.0.0.22-alpha.3.js +1 -0
  74. package/dist/interface/uuid.Ch9TGLTe.0.0.22-alpha.3.js +1 -0
  75. package/dist/interface/vee-validate.qxpwZY6E.0.0.22-alpha.3.js +5 -0
  76. package/dist/interface/vue-i18n.DMhK1_Az.0.0.22-alpha.3.js +5 -0
  77. package/dist/interface/{vue-inline-svg.Br_paQwQ.0.0.22-alpha.1.js → vue-inline-svg.Prc07HPO.0.0.22-alpha.3.js} +1 -1
  78. package/dist/interface/vue-router.C9BwSYH-.0.0.22-alpha.3.js +5 -0
  79. package/dist/interface/vue.l0sNRNKZ.0.0.22-alpha.3.js +1 -0
  80. package/dist/interface/vue3-apexcharts.hYX9eZBy.0.0.22-alpha.3.js +1 -0
  81. package/dist/interface/{vue3-dnd.DpYuZy8Q.0.0.22-alpha.1.js → vue3-dnd.DSl3niZz.0.0.22-alpha.3.js} +1 -1
  82. package/dist/interface/vue3-toastify.B5gZpsI3.0.0.22-alpha.3.js +1 -0
  83. package/dist/interface/vuetify.B9f2I1HK.0.0.22-alpha.3.js +5 -0
  84. package/dist/interface/zod.DnW1_kUe.0.0.22-alpha.3.js +1 -0
  85. package/dist/server/bin/cameraui-server.js +8 -0
  86. package/dist/server/bin/cameraui-server.js.map +1 -0
  87. package/dist/server/package.json +44 -70
  88. package/dist/server/requirements.txt +6 -5
  89. package/dist/server/src/api/controllers/auth.controller.js +1 -1
  90. package/dist/server/src/api/controllers/auth.controller.js.map +1 -1
  91. package/dist/server/src/api/controllers/backup.controller.js +2 -2
  92. package/dist/server/src/api/controllers/backup.controller.js.map +1 -1
  93. package/dist/server/src/api/controllers/cameras.controller.d.ts +4 -2
  94. package/dist/server/src/api/controllers/cameras.controller.js +88 -42
  95. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  96. package/dist/server/src/api/controllers/files.controller.js.map +1 -1
  97. package/dist/server/src/api/controllers/frameWorkers.controller.d.ts +1 -1
  98. package/dist/server/src/api/controllers/frameWorkers.controller.js +15 -7
  99. package/dist/server/src/api/controllers/frameWorkers.controller.js.map +1 -1
  100. package/dist/server/src/api/controllers/plugins.controller.d.ts +3 -4
  101. package/dist/server/src/api/controllers/plugins.controller.js +141 -202
  102. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  103. package/dist/server/src/api/controllers/system.controller.d.ts +9 -3
  104. package/dist/server/src/api/controllers/system.controller.js +73 -53
  105. package/dist/server/src/api/controllers/system.controller.js.map +1 -1
  106. package/dist/server/src/api/controllers/users.controller.js +12 -10
  107. package/dist/server/src/api/controllers/users.controller.js.map +1 -1
  108. package/dist/server/src/api/database/checks.d.ts +55 -0
  109. package/dist/server/src/api/database/checks.js +183 -0
  110. package/dist/server/src/api/database/checks.js.map +1 -0
  111. package/dist/server/src/api/database/constants.d.ts +8 -0
  112. package/dist/server/src/api/database/constants.js +9 -0
  113. package/dist/server/src/api/database/constants.js.map +1 -0
  114. package/dist/server/src/api/database/index.d.ts +4 -13
  115. package/dist/server/src/api/database/index.js +61 -39
  116. package/dist/server/src/api/database/index.js.map +1 -1
  117. package/dist/server/src/api/database/migration.d.ts +1 -0
  118. package/dist/server/src/api/database/migration.js +73 -7
  119. package/dist/server/src/api/database/migration.js.map +1 -1
  120. package/dist/server/src/api/database/selfcheck.d.ts +48 -0
  121. package/dist/server/src/api/database/selfcheck.js +398 -0
  122. package/dist/server/src/api/database/selfcheck.js.map +1 -0
  123. package/dist/server/src/api/database/types.d.ts +15 -141
  124. package/dist/server/src/api/go2rtc/api/application.js +3 -2
  125. package/dist/server/src/api/go2rtc/api/application.js.map +1 -1
  126. package/dist/server/src/api/go2rtc/api/index.js +3 -2
  127. package/dist/server/src/api/go2rtc/api/index.js.map +1 -1
  128. package/dist/server/src/api/go2rtc/api/streams.d.ts +1 -1
  129. package/dist/server/src/api/go2rtc/api/streams.js +4 -2
  130. package/dist/server/src/api/go2rtc/api/streams.js.map +1 -1
  131. package/dist/server/src/api/go2rtc/index.d.ts +1 -0
  132. package/dist/server/src/api/go2rtc/index.js +6 -1
  133. package/dist/server/src/api/go2rtc/index.js.map +1 -1
  134. package/dist/server/src/api/go2rtc/types.d.ts +2 -18
  135. package/dist/server/src/api/index.d.ts +1 -0
  136. package/dist/server/src/api/index.js +21 -29
  137. package/dist/server/src/api/index.js.map +1 -1
  138. package/dist/server/src/api/middlewares/authPermission.middleware.d.ts +3 -3
  139. package/dist/server/src/api/middlewares/authPermission.middleware.js.map +1 -1
  140. package/dist/server/src/api/middlewares/authValidation.middleware.d.ts +2 -2
  141. package/dist/server/src/api/middlewares/authValidation.middleware.js +3 -3
  142. package/dist/server/src/api/middlewares/authValidation.middleware.js.map +1 -1
  143. package/dist/server/src/api/middlewares/socketAuth.middleware.d.ts +1 -1
  144. package/dist/server/src/api/middlewares/socketAuth.middleware.js +1 -1
  145. package/dist/server/src/api/plugins/header.plugin.d.ts +2 -0
  146. package/dist/server/src/api/plugins/header.plugin.js +13 -0
  147. package/dist/server/src/api/plugins/header.plugin.js.map +1 -0
  148. package/dist/server/src/api/plugins/logger.plugin.js +1 -1
  149. package/dist/server/src/api/plugins/logger.plugin.js.map +1 -1
  150. package/dist/server/src/api/plugins/system.plugin.d.ts +3 -1
  151. package/dist/server/src/api/plugins/system.plugin.js +6 -1
  152. package/dist/server/src/api/plugins/system.plugin.js.map +1 -1
  153. package/dist/server/src/api/plugins/useragent.plugin.d.ts +1 -1
  154. package/dist/server/src/api/plugins/useragent.plugin.js +1 -1
  155. package/dist/server/src/api/plugins/useragent.plugin.js.map +1 -1
  156. package/dist/server/src/api/routes/cameras.routes.js +12 -0
  157. package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
  158. package/dist/server/src/api/routes/plugins.routes.js +24 -0
  159. package/dist/server/src/api/routes/plugins.routes.js.map +1 -1
  160. package/dist/server/src/api/routes/system.routes.js +3 -6
  161. package/dist/server/src/api/routes/system.routes.js.map +1 -1
  162. package/dist/server/src/api/schemas/backup.schema.js.map +1 -1
  163. package/dist/server/src/api/schemas/cameras.schema.d.ts +227 -187
  164. package/dist/server/src/api/schemas/cameras.schema.js +25 -6
  165. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  166. package/dist/server/src/api/schemas/config.schema.d.ts +12 -20
  167. package/dist/server/src/api/schemas/config.schema.js +0 -2
  168. package/dist/server/src/api/schemas/config.schema.js.map +1 -1
  169. package/dist/server/src/api/schemas/go2rtc.schema.d.ts +143 -143
  170. package/dist/server/src/api/schemas/plugins.schema.d.ts +5 -5
  171. package/dist/server/src/api/schemas/plugins.schema.js +1 -1
  172. package/dist/server/src/api/schemas/plugins.schema.js.map +1 -1
  173. package/dist/server/src/api/schemas/system.schema.d.ts +8 -0
  174. package/dist/server/src/api/schemas/system.schema.js +5 -0
  175. package/dist/server/src/api/schemas/system.schema.js.map +1 -1
  176. package/dist/server/src/api/schemas/users.schema.d.ts +170 -170
  177. package/dist/server/src/api/schemas/users.schema.js.map +1 -1
  178. package/dist/server/src/api/services/auth.service.js +17 -17
  179. package/dist/server/src/api/services/auth.service.js.map +1 -1
  180. package/dist/server/src/api/services/backup.service.js.map +1 -1
  181. package/dist/server/src/api/services/cameras.service.d.ts +10 -5
  182. package/dist/server/src/api/services/cameras.service.js +166 -89
  183. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  184. package/dist/server/src/api/services/plugins.service.d.ts +1 -0
  185. package/dist/server/src/api/services/plugins.service.js +16 -11
  186. package/dist/server/src/api/services/plugins.service.js.map +1 -1
  187. package/dist/server/src/api/services/system.service.js +4 -4
  188. package/dist/server/src/api/services/system.service.js.map +1 -1
  189. package/dist/server/src/api/services/users.service.js +29 -29
  190. package/dist/server/src/api/services/users.service.js.map +1 -1
  191. package/dist/server/src/api/types/index.d.ts +127 -129
  192. package/dist/server/src/api/types/index.js.map +1 -1
  193. package/dist/server/src/api/utils/cameraSource.d.ts +2 -0
  194. package/dist/server/src/api/utils/cameraSource.js +34 -0
  195. package/dist/server/src/api/utils/cameraSource.js.map +1 -0
  196. package/dist/server/src/api/utils/cert.d.ts +7 -7
  197. package/dist/server/src/api/utils/cert.js +178 -385
  198. package/dist/server/src/api/utils/cert.js.map +1 -1
  199. package/dist/server/src/api/utils/constants.d.ts +0 -2
  200. package/dist/server/src/api/utils/constants.js +4 -7
  201. package/dist/server/src/api/utils/constants.js.map +1 -1
  202. package/dist/server/src/api/websocket/index.js +2 -1
  203. package/dist/server/src/api/websocket/index.js.map +1 -1
  204. package/dist/server/src/api/websocket/nsp/logs.d.ts +10 -2
  205. package/dist/server/src/api/websocket/nsp/logs.js +110 -76
  206. package/dist/server/src/api/websocket/nsp/logs.js.map +1 -1
  207. package/dist/server/src/api/websocket/nsp/metrics.d.ts +1 -1
  208. package/dist/server/src/api/websocket/nsp/metrics.js +19 -16
  209. package/dist/server/src/api/websocket/nsp/metrics.js.map +1 -1
  210. package/dist/server/src/api/websocket/nsp/notifications.js +1 -1
  211. package/dist/server/src/api/websocket/nsp/notifications.js.map +1 -1
  212. package/dist/server/src/api/websocket/nsp/plugins.d.ts +1 -1
  213. package/dist/server/src/api/websocket/nsp/plugins.js +3 -4
  214. package/dist/server/src/api/websocket/nsp/plugins.js.map +1 -1
  215. package/dist/server/src/api/websocket/nsp/server.d.ts +9 -4
  216. package/dist/server/src/api/websocket/nsp/server.js +57 -20
  217. package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
  218. package/dist/server/src/api/websocket/nsp/status.d.ts +1 -1
  219. package/dist/server/src/api/websocket/nsp/status.js +9 -7
  220. package/dist/server/src/api/websocket/nsp/status.js.map +1 -1
  221. package/dist/server/src/api/websocket/types.d.ts +7 -13
  222. package/dist/server/src/api.d.ts +8 -23
  223. package/dist/server/src/api.js +43 -24
  224. package/dist/server/src/api.js.map +1 -1
  225. package/dist/server/src/camera/controller.d.ts +31 -14
  226. package/dist/server/src/camera/controller.js +371 -68
  227. package/dist/server/src/camera/controller.js.map +1 -1
  228. package/dist/server/src/{decoder/worker.d.ts → camera/frameWorker.d.ts} +11 -8
  229. package/dist/server/src/camera/frameWorker.js +305 -0
  230. package/dist/server/src/camera/frameWorker.js.map +1 -0
  231. package/dist/server/src/camera/types.d.ts +1 -199
  232. package/dist/server/src/camera/types.js +1 -6
  233. package/dist/server/src/camera/types.js.map +1 -1
  234. package/dist/server/src/go2rtc/index.js +23 -11
  235. package/dist/server/src/go2rtc/index.js.map +1 -1
  236. package/dist/server/src/main.d.ts +21 -0
  237. package/dist/server/src/main.js +130 -74
  238. package/dist/server/src/main.js.map +1 -1
  239. package/dist/server/src/nats/index.d.ts +5 -5
  240. package/dist/server/src/nats/index.js +5 -6
  241. package/dist/server/src/nats/index.js.map +1 -1
  242. package/dist/server/src/nats/proxy/cameraDevice.d.ts +4 -4
  243. package/dist/server/src/nats/proxy/cameraDevice.js +41 -58
  244. package/dist/server/src/nats/proxy/cameraDevice.js.map +1 -1
  245. package/dist/server/src/nats/proxy/coreManager.d.ts +4 -4
  246. package/dist/server/src/nats/proxy/coreManager.js +6 -1
  247. package/dist/server/src/nats/proxy/coreManager.js.map +1 -1
  248. package/dist/server/src/nats/proxy/deviceManager.d.ts +5 -7
  249. package/dist/server/src/nats/proxy/deviceManager.js +4 -2
  250. package/dist/server/src/nats/proxy/deviceManager.js.map +1 -1
  251. package/dist/server/src/nats/server.js +33 -22
  252. package/dist/server/src/nats/server.js.map +1 -1
  253. package/dist/server/src/nats/types.d.ts +3 -121
  254. package/dist/server/src/nats/utils.d.ts +1 -1
  255. package/dist/server/src/nats/websocket.d.ts +2 -2
  256. package/dist/server/src/nats/websocket.js +7 -6
  257. package/dist/server/src/nats/websocket.js.map +1 -1
  258. package/dist/server/src/plugins/index.d.ts +3 -4
  259. package/dist/server/src/plugins/index.js +40 -38
  260. package/dist/server/src/plugins/index.js.map +1 -1
  261. package/dist/server/src/plugins/plugin.d.ts +6 -3
  262. package/dist/server/src/plugins/plugin.js +59 -23
  263. package/dist/server/src/plugins/plugin.js.map +1 -1
  264. package/dist/server/src/plugins/types.d.ts +1 -148
  265. package/dist/server/src/plugins/types.js +0 -15
  266. package/dist/server/src/plugins/types.js.map +1 -1
  267. package/dist/server/src/plugins/worker.d.ts +22 -3
  268. package/dist/server/src/plugins/worker.js +201 -59
  269. package/dist/server/src/plugins/worker.js.map +1 -1
  270. package/dist/server/src/services/config/constants.d.ts +3 -1
  271. package/dist/server/src/services/config/constants.js +12 -8
  272. package/dist/server/src/services/config/constants.js.map +1 -1
  273. package/dist/server/src/services/config/index.d.ts +15 -9
  274. package/dist/server/src/services/config/index.js +135 -46
  275. package/dist/server/src/services/config/index.js.map +1 -1
  276. package/dist/server/src/services/config/types.d.ts +10 -15
  277. package/dist/server/src/services/config/types.js.map +1 -1
  278. package/dist/server/src/services/logger/index.d.ts +10 -17
  279. package/dist/server/src/services/logger/index.js +44 -91
  280. package/dist/server/src/services/logger/index.js.map +1 -1
  281. package/dist/server/src/types.d.ts +24 -0
  282. package/localdeps.txt +6 -0
  283. package/package.json +44 -70
  284. package/dist/interface/@intlify.YW_pt133.0.0.22-alpha.1.js +0 -15
  285. package/dist/interface/@mdi.DnMbZhUH.0.0.22-alpha.1.js +0 -1
  286. package/dist/interface/@popperjs.BQBsAJpH.0.0.22-alpha.1.js +0 -1
  287. package/dist/interface/@tanstack.DlheOlVk.0.0.22-alpha.1.js +0 -1
  288. package/dist/interface/@vue.CvjRlaU6.0.0.22-alpha.1.js +0 -17
  289. package/dist/interface/@vueuse.-m94veKi.0.0.22-alpha.1.js +0 -1
  290. package/dist/interface/Account.CvNGInZy.0.0.22-alpha.1.js +0 -1
  291. package/dist/interface/Adminpanel.B38rrP4P.0.0.22-alpha.1.js +0 -2
  292. package/dist/interface/Appearance.kFVBM4J9.0.0.22-alpha.1.js +0 -1
  293. package/dist/interface/Backup.lo3nC5DR.0.0.22-alpha.1.js +0 -1
  294. package/dist/interface/Camera.BukjTYOy.0.0.22-alpha.1.js +0 -1
  295. package/dist/interface/Cameras.HNjLEphi.0.0.22-alpha.1.js +0 -1
  296. package/dist/interface/Camview.BXcJwv3e.0.0.22-alpha.1.js +0 -1
  297. package/dist/interface/Config.Bwtjrsr9.0.0.22-alpha.1.js +0 -1
  298. package/dist/interface/Console.DOkTKmKh.0.0.22-alpha.1.js +0 -4
  299. package/dist/interface/FirstSteps.BXQqfdBY.0.0.22-alpha.1.js +0 -1
  300. package/dist/interface/Plugin.DlATvyTj.0.0.22-alpha.1.js +0 -1
  301. package/dist/interface/Plugins.BekJdBK8.0.0.22-alpha.1.js +0 -1
  302. package/dist/interface/Recordings.B4YRWWi3.0.0.22-alpha.1.js +0 -1
  303. package/dist/interface/Recordings.U1858KpO.0.0.22-alpha.1.js +0 -1
  304. package/dist/interface/Settings.CiF0fVqP.0.0.22-alpha.1.js +0 -1
  305. package/dist/interface/System.Ca9T8x4i.0.0.22-alpha.1.js +0 -4
  306. package/dist/interface/User.C_3ugpqz.0.0.22-alpha.1.js +0 -1
  307. package/dist/interface/VConfigEditor.vue_vue_type_script_setup_true_lang.EB4E_zDr.0.0.22-alpha.1.js +0 -2
  308. package/dist/interface/VConsole.DJWV6CZ9.0.0.22-alpha.1.js +0 -1
  309. package/dist/interface/VPlayer.CpZzx0nW.0.0.22-alpha.1.js +0 -1
  310. package/dist/interface/VPluginCard.Cm4M7xYg.0.0.22-alpha.1.js +0 -4
  311. package/dist/interface/assets/Adminpanel.0.0.22-alpha.1.CXsTAXPL.css +0 -1
  312. package/dist/interface/assets/Camera.0.0.22-alpha.1.BDtUJ-lA.css +0 -1
  313. package/dist/interface/assets/Cameras.0.0.22-alpha.1.Djx0F2MM.css +0 -1
  314. package/dist/interface/assets/Camview.0.0.22-alpha.1.Ce_V-Nxj.css +0 -1
  315. package/dist/interface/assets/Config.0.0.22-alpha.1.k4QpWumg.css +0 -1
  316. package/dist/interface/assets/Console.0.0.22-alpha.1.DWrfRWs9.css +0 -1
  317. package/dist/interface/assets/FirstSteps.0.0.22-alpha.1.B3-pv8-a.css +0 -1
  318. package/dist/interface/assets/NewCamera.0.0.22-alpha.1.DJ3tUBT_.css +0 -1
  319. package/dist/interface/assets/VConsole.0.0.22-alpha.1.BZT1WyS-.css +0 -1
  320. package/dist/interface/assets/VPlayer.0.0.22-alpha.1.CZXlTn4I.css +0 -1
  321. package/dist/interface/assets/VPluginCard.0.0.22-alpha.1.CIL48ca_.css +0 -1
  322. package/dist/interface/assets/main.0.0.22-alpha.1.BOf8IWhK.css +0 -1
  323. package/dist/interface/assets/v-calendar.0.0.22-alpha.1.CtSuDYZU.css +0 -1
  324. package/dist/interface/engine.io-client.CY7UpWto.0.0.22-alpha.1.js +0 -1
  325. package/dist/interface/main.D-V5Qegn.0.0.22-alpha.1.js +0 -4
  326. package/dist/interface/pinia.Dn9R-5lV.0.0.22-alpha.1.js +0 -5
  327. package/dist/interface/plugins.9yif7gTi.0.0.22-alpha.1.js +0 -1
  328. package/dist/interface/socket.io-client.ZxUZ7LHn.0.0.22-alpha.1.js +0 -1
  329. package/dist/interface/system.D_1Xg-Sy.0.0.22-alpha.1.js +0 -1
  330. package/dist/interface/ui.BA2qa-Pn.0.0.22-alpha.1.js +0 -1
  331. package/dist/interface/utils.BvINh1mj.0.0.22-alpha.1.js +0 -1
  332. package/dist/interface/uuid.DvF23Exx.0.0.22-alpha.1.js +0 -1
  333. package/dist/interface/v-calendar.CemaWgJz.0.0.22-alpha.1.js +0 -1
  334. package/dist/interface/vee-validate.CpAAwmyb.0.0.22-alpha.1.js +0 -5
  335. package/dist/interface/vue-i18n.mw20Rif9.0.0.22-alpha.1.js +0 -5
  336. package/dist/interface/vue-router.BchJROVt.0.0.22-alpha.1.js +0 -5
  337. package/dist/interface/vue3-apexcharts.BiZhZbF2.0.0.22-alpha.1.js +0 -1
  338. package/dist/interface/vue3-toastify.DdCHHmXT.0.0.22-alpha.1.js +0 -1
  339. package/dist/interface/vuetify.red0JsnZ.0.0.22-alpha.1.js +0 -5
  340. package/dist/interface/zod.BaF2dDCd.0.0.22-alpha.1.js +0 -1
  341. package/dist/server/bin/cameraui.d.ts +0 -54
  342. package/dist/server/bin/cameraui.js +0 -622
  343. package/dist/server/bin/cameraui.js.map +0 -1
  344. package/dist/server/bin/fork.js +0 -13
  345. package/dist/server/bin/fork.js.map +0 -1
  346. package/dist/server/bin/installer/base.d.ts +0 -17
  347. package/dist/server/bin/installer/base.js +0 -45
  348. package/dist/server/bin/installer/base.js.map +0 -1
  349. package/dist/server/bin/installer/darwin.d.ts +0 -61
  350. package/dist/server/bin/installer/darwin.js +0 -249
  351. package/dist/server/bin/installer/darwin.js.map +0 -1
  352. package/dist/server/bin/installer/freebsd.d.ts +0 -64
  353. package/dist/server/bin/installer/freebsd.js +0 -254
  354. package/dist/server/bin/installer/freebsd.js.map +0 -1
  355. package/dist/server/bin/installer/linux.d.ts +0 -103
  356. package/dist/server/bin/installer/linux.js +0 -482
  357. package/dist/server/bin/installer/linux.js.map +0 -1
  358. package/dist/server/bin/installer/win32.d.ts +0 -45
  359. package/dist/server/bin/installer/win32.js +0 -178
  360. package/dist/server/bin/installer/win32.js.map +0 -1
  361. package/dist/server/src/api/plugins/cameraui.plugin.d.ts +0 -11
  362. package/dist/server/src/api/plugins/cameraui.plugin.js +0 -6
  363. package/dist/server/src/api/plugins/cameraui.plugin.js.map +0 -1
  364. package/dist/server/src/api/plugins/database.plugin.d.ts +0 -11
  365. package/dist/server/src/api/plugins/database.plugin.js +0 -12
  366. package/dist/server/src/api/plugins/database.plugin.js.map +0 -1
  367. package/dist/server/src/api/plugins/go2rtc.plugin.d.ts +0 -11
  368. package/dist/server/src/api/plugins/go2rtc.plugin.js +0 -11
  369. package/dist/server/src/api/plugins/go2rtc.plugin.js.map +0 -1
  370. package/dist/server/src/camera/device.d.ts +0 -29
  371. package/dist/server/src/camera/device.js +0 -20
  372. package/dist/server/src/camera/device.js.map +0 -1
  373. package/dist/server/src/camera/index.d.ts +0 -94
  374. package/dist/server/src/camera/index.js +0 -620
  375. package/dist/server/src/camera/index.js.map +0 -1
  376. package/dist/server/src/camera/interfaces/camera.d.ts +0 -10
  377. package/dist/server/src/camera/interfaces/camera.js +0 -23
  378. package/dist/server/src/camera/interfaces/camera.js.map +0 -1
  379. package/dist/server/src/camera/interfaces/prebuffer.d.ts +0 -11
  380. package/dist/server/src/camera/interfaces/prebuffer.js +0 -26
  381. package/dist/server/src/camera/interfaces/prebuffer.js.map +0 -1
  382. package/dist/server/src/camera/interfaces/ptz.d.ts +0 -13
  383. package/dist/server/src/camera/interfaces/ptz.js +0 -47
  384. package/dist/server/src/camera/interfaces/ptz.js.map +0 -1
  385. package/dist/server/src/camera/iou.d.ts +0 -2
  386. package/dist/server/src/camera/iou.js +0 -53
  387. package/dist/server/src/camera/iou.js.map +0 -1
  388. package/dist/server/src/camera/polygon.d.ts +0 -6
  389. package/dist/server/src/camera/polygon.js +0 -151
  390. package/dist/server/src/camera/polygon.js.map +0 -1
  391. package/dist/server/src/camera/streaming/peer-connection.d.ts +0 -55
  392. package/dist/server/src/camera/streaming/peer-connection.js +0 -203
  393. package/dist/server/src/camera/streaming/peer-connection.js.map +0 -1
  394. package/dist/server/src/camera/streaming/webrtc-connection.d.ts +0 -35
  395. package/dist/server/src/camera/streaming/webrtc-connection.js +0 -170
  396. package/dist/server/src/camera/streaming/webrtc-connection.js.map +0 -1
  397. package/dist/server/src/camera/streaming/werift-session.d.ts +0 -41
  398. package/dist/server/src/camera/streaming/werift-session.js +0 -179
  399. package/dist/server/src/camera/streaming/werift-session.js.map +0 -1
  400. package/dist/server/src/camera/videoFrame.d.ts +0 -24
  401. package/dist/server/src/camera/videoFrame.js +0 -104
  402. package/dist/server/src/camera/videoFrame.js.map +0 -1
  403. package/dist/server/src/decoder/index.d.ts +0 -11
  404. package/dist/server/src/decoder/index.js +0 -32
  405. package/dist/server/src/decoder/index.js.map +0 -1
  406. package/dist/server/src/decoder/types.d.ts +0 -151
  407. package/dist/server/src/decoder/types.js +0 -2
  408. package/dist/server/src/decoder/types.js.map +0 -1
  409. package/dist/server/src/decoder/worker.js +0 -245
  410. package/dist/server/src/decoder/worker.js.map +0 -1
  411. package/dist/server/src/index.d.ts +0 -18
  412. package/dist/server/src/index.js +0 -5
  413. package/dist/server/src/index.js.map +0 -1
  414. package/dist/server/src/nats/connection.d.ts +0 -17
  415. package/dist/server/src/nats/connection.js +0 -66
  416. package/dist/server/src/nats/connection.js.map +0 -1
  417. package/dist/server/src/nats/constants.d.ts +0 -1
  418. package/dist/server/src/nats/constants.js +0 -2
  419. package/dist/server/src/nats/constants.js.map +0 -1
  420. package/dist/server/src/nats/error.d.ts +0 -9
  421. package/dist/server/src/nats/error.js +0 -11
  422. package/dist/server/src/nats/error.js.map +0 -1
  423. package/dist/server/src/nats/messageQueue.d.ts +0 -20
  424. package/dist/server/src/nats/messageQueue.js +0 -132
  425. package/dist/server/src/nats/messageQueue.js.map +0 -1
  426. package/dist/server/src/nats/subscription.d.ts +0 -12
  427. package/dist/server/src/nats/subscription.js +0 -21
  428. package/dist/server/src/nats/subscription.js.map +0 -1
  429. package/dist/server/src/plugins/interfaces/audioDetection.d.ts +0 -7
  430. package/dist/server/src/plugins/interfaces/audioDetection.js +0 -4
  431. package/dist/server/src/plugins/interfaces/audioDetection.js.map +0 -1
  432. package/dist/server/src/plugins/interfaces/base.d.ts +0 -6
  433. package/dist/server/src/plugins/interfaces/base.js +0 -3
  434. package/dist/server/src/plugins/interfaces/base.js.map +0 -1
  435. package/dist/server/src/plugins/interfaces/motionDetection.d.ts +0 -6
  436. package/dist/server/src/plugins/interfaces/motionDetection.js +0 -4
  437. package/dist/server/src/plugins/interfaces/motionDetection.js.map +0 -1
  438. package/dist/server/src/plugins/interfaces/objectDetection.d.ts +0 -7
  439. package/dist/server/src/plugins/interfaces/objectDetection.js +0 -4
  440. package/dist/server/src/plugins/interfaces/objectDetection.js.map +0 -1
  441. package/dist/server/src/polyglot/node/decoder/child.d.ts +0 -1
  442. package/dist/server/src/polyglot/node/decoder/child.js +0 -644
  443. package/dist/server/src/polyglot/node/decoder/child.js.map +0 -1
  444. package/dist/server/src/polyglot/node/decoder/imageUtils.d.ts +0 -24
  445. package/dist/server/src/polyglot/node/decoder/imageUtils.js +0 -205
  446. package/dist/server/src/polyglot/node/decoder/imageUtils.js.map +0 -1
  447. package/dist/server/src/polyglot/node/decoder/wasm/build/decoder.d.ts +0 -144
  448. package/dist/server/src/polyglot/node/decoder/wasm/build/decoder.js +0 -65
  449. package/dist/server/src/polyglot/node/decoder/wasm/build/decoder.wasm +0 -0
  450. package/dist/server/src/polyglot/node/decoder/wasm/test/imageUtils.py +0 -106
  451. package/dist/server/src/polyglot/node/plugins/cameraStorage.d.ts +0 -107
  452. package/dist/server/src/polyglot/node/plugins/cameraStorage.js +0 -292
  453. package/dist/server/src/polyglot/node/plugins/cameraStorage.js.map +0 -1
  454. package/dist/server/src/polyglot/node/plugins/child.d.ts +0 -28
  455. package/dist/server/src/polyglot/node/plugins/child.js +0 -222
  456. package/dist/server/src/polyglot/node/plugins/child.js.map +0 -1
  457. package/dist/server/src/polyglot/node/plugins/configService.d.ts +0 -104
  458. package/dist/server/src/polyglot/node/plugins/configService.js +0 -213
  459. package/dist/server/src/polyglot/node/plugins/configService.js.map +0 -1
  460. package/dist/server/src/polyglot/node/plugins/pluginApi.d.ts +0 -35
  461. package/dist/server/src/polyglot/node/plugins/pluginApi.js +0 -23
  462. package/dist/server/src/polyglot/node/plugins/pluginApi.js.map +0 -1
  463. package/dist/server/src/polyglot/node/plugins/pluginLogger.d.ts +0 -18
  464. package/dist/server/src/polyglot/node/plugins/pluginLogger.js +0 -89
  465. package/dist/server/src/polyglot/node/plugins/pluginLogger.js.map +0 -1
  466. package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.d.ts +0 -69
  467. package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.js +0 -432
  468. package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.js.map +0 -1
  469. package/dist/server/src/polyglot/node/plugins/proxy/coreManager.d.ts +0 -40
  470. package/dist/server/src/polyglot/node/plugins/proxy/coreManager.js +0 -105
  471. package/dist/server/src/polyglot/node/plugins/proxy/coreManager.js.map +0 -1
  472. package/dist/server/src/polyglot/node/plugins/proxy/deviceManager.d.ts +0 -47
  473. package/dist/server/src/polyglot/node/plugins/proxy/deviceManager.js +0 -164
  474. package/dist/server/src/polyglot/node/plugins/proxy/deviceManager.js.map +0 -1
  475. package/dist/server/src/polyglot/node/plugins/schema.d.ts +0 -293
  476. package/dist/server/src/polyglot/node/plugins/schema.js +0 -740
  477. package/dist/server/src/polyglot/node/plugins/schema.js.map +0 -1
  478. package/dist/server/src/polyglot/node/plugins/storageController.d.ts +0 -30
  479. package/dist/server/src/polyglot/node/plugins/storageController.js +0 -40
  480. package/dist/server/src/polyglot/node/plugins/storageController.js.map +0 -1
  481. package/dist/server/src/polyglot/python/camera/interfaces/camera.py +0 -20
  482. package/dist/server/src/polyglot/python/camera/interfaces/prebuffer.py +0 -25
  483. package/dist/server/src/polyglot/python/camera/interfaces/ptz.py +0 -38
  484. package/dist/server/src/polyglot/python/camera/iou.py +0 -80
  485. package/dist/server/src/polyglot/python/camera/polygon.py +0 -173
  486. package/dist/server/src/polyglot/python/camera/video_frame.py +0 -188
  487. package/dist/server/src/polyglot/python/camera_ui_types/__init__.py +0 -1196
  488. package/dist/server/src/polyglot/python/decoder/child.py +0 -882
  489. package/dist/server/src/polyglot/python/decoder/image_utils.py +0 -149
  490. package/dist/server/src/polyglot/python/decoder/typings.py +0 -99
  491. package/dist/server/src/polyglot/python/plugins/camera_storage.py +0 -391
  492. package/dist/server/src/polyglot/python/plugins/child.py +0 -394
  493. package/dist/server/src/polyglot/python/plugins/config_service.py +0 -187
  494. package/dist/server/src/polyglot/python/plugins/constants.py +0 -1
  495. package/dist/server/src/polyglot/python/plugins/message_queue.py +0 -182
  496. package/dist/server/src/polyglot/python/plugins/plugin_api.py +0 -34
  497. package/dist/server/src/polyglot/python/plugins/plugin_logger.py +0 -111
  498. package/dist/server/src/polyglot/python/plugins/proxy/camera_device.py +0 -1677
  499. package/dist/server/src/polyglot/python/plugins/proxy/core_manager.py +0 -145
  500. package/dist/server/src/polyglot/python/plugins/proxy/device_manager.py +0 -226
  501. package/dist/server/src/polyglot/python/plugins/schema.py +0 -181
  502. package/dist/server/src/polyglot/python/plugins/storage_controller.py +0 -58
  503. package/dist/server/src/polyglot/python/plugins/typings.py +0 -253
  504. package/dist/server/src/polyglot/python/utilities/connection.py +0 -86
  505. package/dist/server/src/polyglot/python/utilities/json_lmdb.py +0 -19
  506. package/dist/server/src/polyglot/python/utilities/object_path.py +0 -195
  507. package/dist/server/src/polyglot/python/utilities/packer.py +0 -11
  508. package/dist/server/src/polyglot/python/utilities/subscriptions.py +0 -22
  509. package/dist/server/src/polyglot/python/utilities/task.py +0 -35
  510. package/dist/server/src/polyglot/python/utilities/thread.py +0 -10
  511. package/dist/server/src/polyglot/python/utilities/utils.py +0 -73
  512. package/dist/server/src/utils/ffmpeg.d.ts +0 -2
  513. package/dist/server/src/utils/ffmpeg.js +0 -61
  514. package/dist/server/src/utils/ffmpeg.js.map +0 -1
  515. package/dist/server/src/utils/network.d.ts +0 -12
  516. package/dist/server/src/utils/network.js +0 -92
  517. package/dist/server/src/utils/network.js.map +0 -1
  518. package/dist/server/src/utils/npm.d.ts +0 -4
  519. package/dist/server/src/utils/npm.js +0 -128
  520. package/dist/server/src/utils/npm.js.map +0 -1
  521. package/dist/server/src/utils/packer.d.ts +0 -2
  522. package/dist/server/src/utils/packer.js +0 -17
  523. package/dist/server/src/utils/packer.js.map +0 -1
  524. package/dist/server/src/utils/pythonInstaller.d.ts +0 -48
  525. package/dist/server/src/utils/pythonInstaller.js +0 -494
  526. package/dist/server/src/utils/pythonInstaller.js.map +0 -1
  527. package/dist/server/src/utils/reader.d.ts +0 -5
  528. package/dist/server/src/utils/reader.js +0 -41
  529. package/dist/server/src/utils/reader.js.map +0 -1
  530. package/dist/server/src/utils/subscribed.d.ts +0 -9
  531. package/dist/server/src/utils/subscribed.js +0 -17
  532. package/dist/server/src/utils/subscribed.js.map +0 -1
  533. package/dist/server/src/utils/utils.d.ts +0 -10
  534. package/dist/server/src/utils/utils.js +0 -165
  535. package/dist/server/src/utils/utils.js.map +0 -1
  536. package/upgrade-server.sh +0 -205
  537. /package/dist/interface/{@babel.l0sNRNKZ.0.0.22-alpha.1.js → @babel.l0sNRNKZ.0.0.22-alpha.3.js} +0 -0
  538. /package/dist/interface/{@react-dnd.CcwRs9xb.0.0.22-alpha.1.js → @react-dnd.CcwRs9xb.0.0.22-alpha.3.js} +0 -0
  539. /package/dist/interface/{@socket.io.Dkula2eQ.0.0.22-alpha.1.js → @socket.io.Dkula2eQ.0.0.22-alpha.3.js} +0 -0
  540. /package/dist/interface/{vue.l0sNRNKZ.0.0.22-alpha.1.js → @turf.l0sNRNKZ.0.0.22-alpha.3.js} +0 -0
  541. /package/dist/interface/{@xterm.DV-IE8JS.0.0.22-alpha.1.js → @xterm.nBWIhP-E.0.0.22-alpha.3.js} +0 -0
  542. /package/dist/interface/assets/{@vueform.0.0.22-alpha.1.h7tNX9p6.css → @vueform.0.0.22-alpha.3.CroAHJs8.css} +0 -0
  543. /package/dist/interface/assets/{@xterm.0.0.22-alpha.1.CGrrDQr5.css → @xterm.0.0.22-alpha.3.CFbL2ovg.css} +0 -0
  544. /package/dist/interface/assets/{Account.0.0.22-alpha.1.Ce3OmKrC.css → Account.0.0.22-alpha.3.J7oAjogS.css} +0 -0
  545. /package/dist/interface/assets/{Backup.0.0.22-alpha.1.BIwaSlv3.css → Backup.0.0.22-alpha.3.CX0rT0QJ.css} +0 -0
  546. /package/dist/interface/assets/{Plugin.0.0.22-alpha.1.BtRA6zDt.css → Plugin.0.0.22-alpha.3.DJbgaQc1.css} +0 -0
  547. /package/dist/interface/assets/{Plugins.0.0.22-alpha.1.Cwu0aGUO.css → Plugins.0.0.22-alpha.3.DXSoO9M1.css} +0 -0
  548. /package/dist/interface/assets/{User.0.0.22-alpha.1.DPDcJbx8.css → User.0.0.22-alpha.3.BiGtIFqt.css} +0 -0
  549. /package/dist/interface/assets/{highlight.0.0.22-alpha.1.DgoK_Xib.css → highlight.0.0.22-alpha.3.Ch2EwETz.css} +0 -0
  550. /package/dist/interface/assets/{logo-256.0.0.22-alpha.1.BCQk9H1-.png → logo-256.0.0.22-alpha.3.BCQk9H1-.png} +0 -0
  551. /package/dist/interface/assets/{logo-512.0.0.22-alpha.1.DLKVOU2S.png → logo-512.0.0.22-alpha.3.DLKVOU2S.png} +0 -0
  552. /package/dist/interface/assets/{logo.0.0.22-alpha.1.DmEiRk0z.png → logo.0.0.22-alpha.3.DmEiRk0z.png} +0 -0
  553. /package/dist/interface/assets/{mode-json.0.0.22-alpha.1.Br7xisR1.js → mode-json.0.0.22-alpha.3.Br7xisR1.js} +0 -0
  554. /package/dist/interface/assets/{mode-yaml.0.0.22-alpha.1.CIYL8U3d.js → mode-yaml.0.0.22-alpha.3.CIYL8U3d.js} +0 -0
  555. /package/dist/interface/assets/{vue3-toastify.0.0.22-alpha.1.DTY1DMRs.css → vue3-toastify.0.0.22-alpha.3.DHXAGmwn.css} +0 -0
  556. /package/dist/interface/{axios.C-n2IhIP.0.0.22-alpha.1.js → axios.C-n2IhIP.0.0.22-alpha.3.js} +0 -0
  557. /package/dist/interface/{compare-versions.DqEOhma6.0.0.22-alpha.1.js → compare-versions.DqEOhma6.0.0.22-alpha.3.js} +0 -0
  558. /package/dist/interface/{dijkstrajs.D_NXgYpA.0.0.22-alpha.1.js → dijkstrajs.D_NXgYpA.0.0.22-alpha.3.js} +0 -0
  559. /package/dist/interface/{engine.io-parser.BiEtp6m2.0.0.22-alpha.1.js → engine.io-parser.BiEtp6m2.0.0.22-alpha.3.js} +0 -0
  560. /package/dist/interface/{entities.C20TfXL6.0.0.22-alpha.1.js → entities.C20TfXL6.0.0.22-alpha.3.js} +0 -0
  561. /package/dist/interface/{get-size.D1dS-IaP.0.0.22-alpha.1.js → get-size.D1dS-IaP.0.0.22-alpha.3.js} +0 -0
  562. /package/dist/interface/{mdurl.k9Sl0PQj.0.0.22-alpha.1.js → mdurl.k9Sl0PQj.0.0.22-alpha.3.js} +0 -0
  563. /package/dist/interface/{punycode.js.Dj65hjkv.0.0.22-alpha.1.js → punycode.js.Dj65hjkv.0.0.22-alpha.3.js} +0 -0
  564. /package/dist/interface/{react-dnd-html5-backend.1HQjlkwI.0.0.22-alpha.1.js → react-dnd-html5-backend.1HQjlkwI.0.0.22-alpha.3.js} +0 -0
  565. /package/dist/interface/{redux.CuxFRhX_.0.0.22-alpha.1.js → redux.CuxFRhX_.0.0.22-alpha.3.js} +0 -0
  566. /package/dist/interface/{tslib.9k7AwCpt.0.0.22-alpha.1.js → tslib.9k7AwCpt.0.0.22-alpha.3.js} +0 -0
  567. /package/dist/interface/{uc.micro.kMc2yuuw.0.0.22-alpha.1.js → uc.micro.kMc2yuuw.0.0.22-alpha.3.js} +0 -0
  568. /package/dist/server/bin/{fork.d.ts → cameraui-server.d.ts} +0 -0
@@ -1,644 +0,0 @@
1
- process.title = `camera.ui - ${process.argv[2]}`;
2
- import { ErrorCode, NatsError } from 'nats';
3
- import { spawn } from 'node:child_process';
4
- import { fileURLToPath } from 'node:url';
5
- import { ReplaySubject, firstValueFrom, fromEvent, timeout } from 'rxjs';
6
- import { first, takeUntil } from 'rxjs/operators';
7
- import { ProxyConnection } from '../../../nats/connection.js';
8
- import { pack, unpack } from '../../../utils/packer.js';
9
- import { readLength } from '../../../utils/reader.js';
10
- import { Subscribed } from '../../../utils/subscribed.js';
11
- import { sleep } from '../../../utils/utils.js';
12
- import { PluginLogger } from '../plugins/pluginLogger.js';
13
- import { ImageUtils } from './imageUtils.js';
14
- const PIX_FMT = 'yuv420p';
15
- class FrameWorkerChild extends Subscribed {
16
- clients = new Map();
17
- logger;
18
- config;
19
- subject;
20
- ipcSubject;
21
- imageSubject;
22
- signalingSubject;
23
- frameSubject;
24
- publisher;
25
- signalPublisher;
26
- imagePublisher;
27
- framePublisher;
28
- subscriber;
29
- imageSubscriber;
30
- signalSubscriber;
31
- maxDiffFrame = 3;
32
- stopped = false;
33
- closed = false;
34
- restarting = false;
35
- restartDelay = 5000;
36
- restartTimeout;
37
- closeDelay = 5000;
38
- closeTimeout;
39
- restartWatchdogDelay = 5000;
40
- imageUtils;
41
- ffmpegProcess;
42
- prebufferFull = false;
43
- prebufferDuration = 7000;
44
- prebufferContainer = [];
45
- metadataSubject = new ReplaySubject(1);
46
- get metadata() {
47
- return firstValueFrom(this.metadataSubject);
48
- }
49
- get logPrefix() {
50
- return `${this.config.cameraName}:`;
51
- }
52
- constructor() {
53
- super();
54
- this.config = {
55
- frameWorkerId: process.env.FRAME_WORKER_ID,
56
- cameraId: process.env.CAMERA_ID,
57
- cameraName: process.env.CAMERA_NAME,
58
- ffmpegPath: process.env.FFMPEG_PATH,
59
- logLevel: process.env.LOGGER_LEVEL ?? 'debug',
60
- disableTimestamps: process.env.LOGGER_DISABLE_TIMESTAMPS === 'true',
61
- auth: { user: process.env.PROXY_USER, password: process.env.PROXY_PASSWORD },
62
- proxyEndpoints: process.env.PROXY_ENDPOINTS.split(','),
63
- fps: parseInt(process.env.FPS),
64
- resolution: parseInt(process.env.RESOLUTION),
65
- };
66
- delete process.env.FRAME_WORKER_ID;
67
- delete process.env.CAMERA_ID;
68
- delete process.env.CAMERA_NAME;
69
- delete process.env.FFMPEG_PATH;
70
- delete process.env.PROXY_USER;
71
- delete process.env.PROXY_PASSWORD;
72
- delete process.env.PROXY_ENDPOINTS;
73
- delete process.env.FPS;
74
- delete process.env.RESOLUTION;
75
- this.logger = new PluginLogger('Frame Worker', this.config.disableTimestamps ?? false);
76
- this.logger.debugEnabled = this.config.logLevel === 'debug' || this.config.logLevel === 'trace';
77
- this.logger.traceEnabled = this.config.logLevel === 'trace';
78
- this.subject = `${this.config.frameWorkerId}.frameWorkerChild`;
79
- this.ipcSubject = `${this.config.frameWorkerId}.frameWorker`;
80
- this.signalingSubject = `${this.config.cameraId}.frameGenerator.signaling`;
81
- this.imageSubject = `${this.config.cameraId}.frameGenerator`;
82
- this.frameSubject = `${this.config.cameraId}.frameReceiver`;
83
- this.imageUtils = new ImageUtils(this.logger);
84
- this.signalHander();
85
- this.listen();
86
- }
87
- async listen() {
88
- const servers = this.config.proxyEndpoints.filter((endpoint) => endpoint.startsWith('nats://'));
89
- this.publisher = new ProxyConnection(this.subject, servers, this.config.auth);
90
- await this.publisher.connect();
91
- this.imagePublisher = new ProxyConnection(this.imageSubject, servers, this.config.auth);
92
- await this.imagePublisher.connect();
93
- this.framePublisher = new ProxyConnection(this.frameSubject, servers, this.config.auth);
94
- await this.framePublisher.connect();
95
- this.signalPublisher = new ProxyConnection(this.signalingSubject, servers, this.config.auth);
96
- await this.signalPublisher.connect();
97
- this.subscriber = this.publisher.subscribe(this.subject);
98
- this.subscriber.on('message', this.onWorkerMessage.bind(this));
99
- this.imageSubscriber = this.imagePublisher.subscribe(this.imageSubject);
100
- this.imageSubscriber.on('message', this.onImageRequest.bind(this));
101
- this.signalSubscriber = this.signalPublisher.subscribe(this.signalingSubject);
102
- this.signalSubscriber.on('message', this.onSignalingMessage.bind(this));
103
- await this.imageUtils.initiate();
104
- this.send('started');
105
- }
106
- async close() {
107
- this.closed = true;
108
- // await this.stop();
109
- await Promise.allSettled([this.publisher?.close(), this.imagePublisher?.close(), this.signalPublisher?.close(), this.framePublisher?.close()]);
110
- }
111
- async start() {
112
- try {
113
- this.closed = false;
114
- this.restarting = false;
115
- this.stopped = false;
116
- clearTimeout(this.closeTimeout);
117
- await this.startVideoSession();
118
- }
119
- catch (error) {
120
- this.logger.error(this.logPrefix, 'An error occurred while starting frame session:', error);
121
- await this.restartFFmpeg();
122
- }
123
- }
124
- async stop() {
125
- this.stopped = true;
126
- await this.disconnectAllClients();
127
- this.reset();
128
- }
129
- reset() {
130
- this.resetPrebuffer();
131
- this.resetMetadata();
132
- this.resetVideoSession();
133
- this.unsubscribe();
134
- }
135
- resetPrebuffer() {
136
- this.prebufferFull = false;
137
- this.prebufferContainer = [];
138
- }
139
- resetMetadata() {
140
- this.metadataSubject = new ReplaySubject(1);
141
- }
142
- resetVideoSession() {
143
- clearTimeout(this.restartTimeout);
144
- clearTimeout(this.closeTimeout);
145
- if (this.ffmpegProcess) {
146
- this.logger.debug(this.logPrefix, 'Stopping FFmpeg process...');
147
- this.ffmpegProcess.kill('SIGKILL');
148
- this.ffmpegProcess = undefined;
149
- }
150
- }
151
- async startVideoSession() {
152
- this.resetPrebuffer();
153
- this.resetVideoSession();
154
- this.unsubscribe();
155
- try {
156
- await this.spawnFFmpeg();
157
- await firstValueFrom(this.metadataSubject.pipe(timeout(15000)));
158
- this.logger.debug(this.logPrefix, 'Frame session started');
159
- }
160
- catch {
161
- throw new Error('FFmpeg process timed out');
162
- }
163
- }
164
- buildFfmpegArguments(cameraSource, ffmpegArgs) {
165
- return [
166
- '-hide_banner',
167
- // '-vsync',
168
- // '0',
169
- '-hwaccel',
170
- ffmpegArgs.hwaccel,
171
- ...ffmpegArgs.hwaccelArgs,
172
- '-fflags',
173
- 'nobuffer',
174
- '-flags',
175
- 'low_delay',
176
- '-analyzeduration',
177
- '0',
178
- '-probesize',
179
- '500000',
180
- '-reorder_queue_size',
181
- '0',
182
- '-user_agent',
183
- 'camera.ui/decoder',
184
- '-rtsp_transport',
185
- 'tcp',
186
- '-i',
187
- cameraSource,
188
- '-threads',
189
- ffmpegArgs.threads,
190
- '-vf',
191
- `showinfo=checksum=0,${ffmpegArgs.hwaccelFilter.replace('640', this.config.resolution.toString())},fps=fps=${this.config.fps}`,
192
- '-an',
193
- '-dn',
194
- '-sn',
195
- '-vcodec',
196
- 'rawvideo',
197
- '-f',
198
- 'rawvideo',
199
- '-pix_fmt',
200
- PIX_FMT,
201
- '-',
202
- ];
203
- }
204
- async spawnFFmpeg() {
205
- const response = (await this.send('getFFmpegArgs'));
206
- if (!response) {
207
- throw new Error('Error getting FFmpeg args from main process');
208
- }
209
- const args = this.buildFfmpegArguments(response.cameraSource, response.ffmpegArgs);
210
- this.logger.debug(this.logPrefix, 'Starting FFmpeg process:', this.config.ffmpegPath, args.join(' '));
211
- this.ffmpegProcess = spawn(this.config.ffmpegPath, args);
212
- this.addSubscriptions(this.handleFFmpegStderr(), this.handleFFmpegClose());
213
- this.handleFFmpegStdout();
214
- }
215
- async restartFFmpeg() {
216
- if (!this.stopped && !this.closed && !this.restarting && this.clients.size > 0) {
217
- this.restarting = true;
218
- this.logger.debug(this.logPrefix, `Restarting FFmpeg process in ${this.restartDelay / 1000} seconds...`);
219
- await sleep(this.restartDelay);
220
- if (!this.stopped && !this.closed && this.clients.size > 0) {
221
- await this.start();
222
- }
223
- else {
224
- this.restarting = false;
225
- }
226
- }
227
- }
228
- handleFFmpegStderr() {
229
- const stderrStream = fromEvent(this.ffmpegProcess.stderr, 'data');
230
- return stderrStream.pipe(takeUntil(this.metadataSubject.pipe(first()))).subscribe((data) => {
231
- const messageString = data.toString();
232
- const metadata = this.parseFrameInfo(messageString);
233
- if (metadata) {
234
- this.logger.debug(this.logPrefix, 'Metadata:', metadata);
235
- this.metadataSubject.next(metadata);
236
- }
237
- });
238
- }
239
- async handleFFmpegStdout() {
240
- const metadata = await this.metadata;
241
- let shifts = 0;
242
- let warned = false;
243
- const isClosed = () => this.stopped || this.closed || !this.framePublisher || !this.ffmpegProcess || !this.ffmpegProcess.stdout || this.ffmpegProcess.exitCode !== null;
244
- const restartWatchdog = () => {
245
- clearTimeout(this.restartTimeout);
246
- this.restartTimeout = setTimeout(() => {
247
- if (!this.stopped && !this.closed && !this.restarting) {
248
- const message = 'FFmpeg process is not producing frames, terminating...';
249
- if (!warned) {
250
- this.logger.debug(this.logPrefix, message);
251
- warned = true;
252
- }
253
- else {
254
- this.logger.error(this.logPrefix, message);
255
- }
256
- this.reset();
257
- this.restartFFmpeg();
258
- }
259
- }, this.restartWatchdogDelay);
260
- };
261
- while (!isClosed()) {
262
- try {
263
- restartWatchdog();
264
- const frame = await readLength(this.ffmpegProcess.stdout, metadata.frameSize);
265
- warned = false;
266
- if (isClosed()) {
267
- clearTimeout(this.restartTimeout);
268
- break;
269
- }
270
- const frameId = this.generateId();
271
- const now = Date.now();
272
- this.prebufferContainer.push({
273
- frameId: frameId,
274
- time: now,
275
- frame,
276
- });
277
- if (this.prebufferContainer.length > 0 && now - this.prebufferContainer[0].time >= this.prebufferDuration && !this.prebufferFull) {
278
- this.logger.debug(this.logPrefix, 'Prebuffer is full');
279
- this.prebufferFull = true;
280
- }
281
- while (this.prebufferContainer.length > 0 && this.prebufferContainer[0].time < now - this.prebufferDuration) {
282
- this.prebufferContainer.shift();
283
- shifts++;
284
- }
285
- if (shifts > 1000) {
286
- this.prebufferContainer = [...this.prebufferContainer];
287
- shifts = 0;
288
- }
289
- if (this.prebufferFull) {
290
- const frameData = {
291
- frameId,
292
- timestamp: now,
293
- };
294
- this.framePublisher.publish(this.frameSubject, frameData);
295
- }
296
- }
297
- catch (error) {
298
- clearTimeout(this.restartTimeout);
299
- if (!isClosed() && !this.restarting) {
300
- this.logger.error(this.logPrefix, 'An error occurred while reading ffmpeg stdout:', error);
301
- }
302
- break;
303
- }
304
- }
305
- }
306
- handleFFmpegClose() {
307
- const onClose = fromEvent(this.ffmpegProcess, 'exit');
308
- return onClose.subscribe(() => {
309
- if (this.ffmpegProcess) {
310
- if (this.ffmpegProcess.exitCode !== 0) {
311
- this.logger.error(this.logPrefix, 'FFmpeg process exited with non-zero code', this.ffmpegProcess.exitCode);
312
- }
313
- else {
314
- this.logger.debug(this.logPrefix, 'FFmpeg process exited with code', this.ffmpegProcess.exitCode);
315
- }
316
- }
317
- this.ffmpegProcess = undefined;
318
- this.reset();
319
- this.restartFFmpeg();
320
- });
321
- }
322
- parseFrameInfo(stderr) {
323
- const patterns = {
324
- s: /s:\s*(\d+x\d+)/,
325
- };
326
- const matches = Object.entries(patterns).reduce((acc, [key, pattern]) => {
327
- const match = stderr.match(pattern);
328
- if (match) {
329
- acc[key] = match[1];
330
- }
331
- return acc;
332
- }, {});
333
- if (!matches.s) {
334
- return;
335
- }
336
- const [width, height] = matches.s.split('x').map(Number);
337
- const newWidth = this.config.resolution;
338
- const newHeight = Math.round((newWidth * height) / width);
339
- const format = PIX_FMT === 'yuv420p' ? 'yuv' : 'rgb';
340
- const bytesPerPixel = format === 'yuv' ? 1.5 : 3; // YUV420P or RGB24
341
- const frameSize = newWidth * newHeight * bytesPerPixel;
342
- const metadata = {
343
- format,
344
- frameSize,
345
- width: newWidth,
346
- height: newHeight,
347
- origHeight: height,
348
- origWidth: width,
349
- };
350
- return metadata;
351
- }
352
- async send(message, data = {}) {
353
- if (!process.send) {
354
- throw new Error('Main Process not initialized');
355
- }
356
- if (!this.publisher) {
357
- throw new Error('Publisher not initialized');
358
- }
359
- const workerMessage = { message, data };
360
- const response = await this.publisher.request(this.ipcSubject, workerMessage, { timeout: 30000 });
361
- return response.response;
362
- }
363
- async addClient(pluginId, requestId) {
364
- if (!this.clients.has(pluginId)) {
365
- this.clients.set(pluginId, { pluginId, requestIds: [requestId] });
366
- }
367
- const client = this.clients.get(pluginId);
368
- if (!client.requestIds.includes(requestId)) {
369
- client.requestIds.push(requestId);
370
- }
371
- this.logger.trace(this.logPrefix, `New client ${this.clientIdentifier(pluginId, requestId)}`);
372
- clearTimeout(this.closeTimeout);
373
- await this.send('updateClient', client);
374
- if (this.clients.size > 0 && !this.ffmpegProcess && !this.restarting) {
375
- await this.start();
376
- }
377
- }
378
- async removeClient(pluginId, requestId) {
379
- const client = this.clients.get(pluginId);
380
- if (!client || !client.requestIds.includes(requestId)) {
381
- return;
382
- }
383
- this.logger.trace(this.logPrefix, `Removing client ${this.clientIdentifier(pluginId, requestId)}`);
384
- client.requestIds = client.requestIds.filter((id) => id !== requestId);
385
- if (client.requestIds.length === 0) {
386
- this.clients.delete(pluginId);
387
- await this.send('removeClient', client);
388
- }
389
- else {
390
- await this.send('updateClient', client);
391
- }
392
- if (this.clients.size === 0) {
393
- clearTimeout(this.closeTimeout);
394
- this.closeTimeout = setTimeout(() => this.stop(), this.closeDelay);
395
- }
396
- }
397
- async recoverClients(clients) {
398
- clients.forEach((client) => {
399
- client.requestIds.forEach((requestId) => this.logger.trace(this.logPrefix, `Recovering client: ${this.clientIdentifier(client.pluginId, requestId)}`));
400
- this.clients.set(client.pluginId, client);
401
- });
402
- if (this.clients.size > 0) {
403
- await this.start();
404
- }
405
- }
406
- disconnectClient(cameraId, pluginId, requestId) {
407
- const client = this.clients.get(pluginId);
408
- if (!this.signalPublisher || !client || !client.requestIds.includes(requestId)) {
409
- return;
410
- }
411
- const pingTargetSubject = `${pluginId}.camera.${cameraId}.signaling`;
412
- const response = { type: 'disconnect', requestId };
413
- this.signalPublisher.publish(pingTargetSubject, response);
414
- this.removeClient(pluginId, requestId);
415
- }
416
- async disconnectAllClients() {
417
- this.clients.forEach((client) => {
418
- client.requestIds.forEach(async (requestId) => {
419
- this.disconnectClient(this.config.cameraId, client.pluginId, requestId);
420
- });
421
- });
422
- }
423
- async handleConnectMessage(message) {
424
- await this.addClient(message.pluginId, message.requestId);
425
- this.startPingPongForClient(message.cameraId, message.pluginId, message.requestId);
426
- }
427
- async handleDisconnectMessage(message) {
428
- this.removeClient(message.pluginId, message.requestId);
429
- }
430
- async handleMetadataMessage(msg, message) {
431
- const { requestId } = message;
432
- const metadata = await this.metadata;
433
- const response = { type: 'metadata', requestId, metadata };
434
- msg.respond(pack(response));
435
- }
436
- async startPingPongForClient(cameraId, pluginId, requestId) {
437
- const pingTargetSubject = `${pluginId}.camera.${cameraId}.signaling`;
438
- const pingInterval = 3000;
439
- const pongTimeout = 2000;
440
- const requestIdExist = () => this.clients.has(pluginId) && this.clients.get(pluginId)?.requestIds.includes(requestId);
441
- while (this.signalPublisher && requestIdExist()) {
442
- try {
443
- const message = { type: 'ping', requestId };
444
- // this.logger.trace(`Sending ping to ${this.clientIdentifier(pluginId, requestId)}`);
445
- const response = await this.signalPublisher.request(pingTargetSubject, message, { timeout: pongTimeout });
446
- if (!requestIdExist()) {
447
- break;
448
- }
449
- if (response.type !== 'pong') {
450
- throw new Error('Invalid response to ping');
451
- }
452
- // this.logger.trace(`Received pong from ${this.clientIdentifier(pluginId, requestId)}`);
453
- await sleep(pingInterval);
454
- }
455
- catch (error) {
456
- if (requestIdExist()) {
457
- if (error instanceof NatsError && (error.code === ErrorCode.Timeout || error.code === ErrorCode.NoResponders)) {
458
- // this.logger.trace(`Ping/Pong timeout for ${this.clientIdentifier(pluginId, requestId)}`);
459
- this.removeClient(pluginId, requestId);
460
- }
461
- else {
462
- this.logger.error('Error during ping/pong:', error);
463
- }
464
- }
465
- break;
466
- }
467
- }
468
- }
469
- async onWorkerMessage(msg) {
470
- if (this.closed) {
471
- return;
472
- }
473
- this.respondOnIpcMessage(msg);
474
- }
475
- async onSignalingMessage(msg) {
476
- if (this.closed) {
477
- return;
478
- }
479
- this.respondOnSignalingMessage(msg);
480
- }
481
- async onImageRequest(msg) {
482
- if (this.closed) {
483
- return;
484
- }
485
- this.respondOnPrebufferedImageMessage(msg);
486
- }
487
- async respondOnIpcMessage(msg) {
488
- try {
489
- const mainMessage = unpack(msg.data);
490
- const response = {};
491
- const message = mainMessage.message;
492
- switch (message) {
493
- case 'setCameraName':
494
- this.config.cameraName = mainMessage.data.cameraName;
495
- break;
496
- case 'recoverClients':
497
- this.recoverClients(mainMessage.data.clients);
498
- break;
499
- }
500
- msg.respond(pack(response));
501
- }
502
- catch (error) {
503
- this.logger.error(this.logPrefix, 'Error while processing IPC respond:', error);
504
- }
505
- }
506
- async respondOnSignalingMessage(msg) {
507
- try {
508
- const message = unpack(msg.data);
509
- switch (message.type) {
510
- case 'connect':
511
- this.handleConnectMessage(message);
512
- break;
513
- case 'disconnect':
514
- this.handleDisconnectMessage(message);
515
- break;
516
- case 'metadata':
517
- this.handleMetadataMessage(msg, message);
518
- break;
519
- default:
520
- break;
521
- }
522
- }
523
- catch (error) {
524
- this.logger.error(this.logPrefix, 'Error while processing signaling respond:', error);
525
- }
526
- }
527
- async respondOnPrebufferedImageMessage(msg) {
528
- try {
529
- const message = unpack(msg.data);
530
- const { metadata, frameData, prebufferDuration, options } = message;
531
- const { width, height, format } = metadata;
532
- const targetFrame = this.findTargetFrame(frameData, prebufferDuration);
533
- if (!targetFrame) {
534
- this.logFrameNotFound();
535
- }
536
- else {
537
- const processedImage = await this.processFrame(targetFrame.frame, width, height, format, options);
538
- msg.respond(pack(processedImage));
539
- return;
540
- }
541
- msg.respond(pack(new Uint8Array(0)));
542
- }
543
- catch (error) {
544
- this.logger.error(this.logPrefix, 'Error while processing image respond:', error);
545
- }
546
- }
547
- findTargetFrame(frameData, prebufferDuration) {
548
- const targetIndex = this.prebufferContainer.findIndex((frame) => frame.frameId === frameData.frameId);
549
- if (targetIndex === -1) {
550
- return this.findNearestFrame(frameData);
551
- }
552
- if (prebufferDuration > 0) {
553
- const targetTime = this.prebufferContainer[targetIndex].time - prebufferDuration * 1000;
554
- const result = this.findNearestFrameByTime(targetTime);
555
- if (result) {
556
- return result;
557
- }
558
- }
559
- return this.prebufferContainer[targetIndex];
560
- }
561
- findNearestFrame(frameData) {
562
- const maxTimeDiff = this.maxDiffFrame * (1000 / this.config.fps);
563
- return this.prebufferContainer.reduce((nearest, current) => {
564
- const currentTimeDiff = Math.abs(current.time - frameData.timestamp);
565
- if (currentTimeDiff <= maxTimeDiff) {
566
- if (!nearest)
567
- return current;
568
- const nearestTimeDiff = Math.abs(nearest.time - frameData.timestamp);
569
- return currentTimeDiff < nearestTimeDiff ? current : nearest;
570
- }
571
- return nearest;
572
- }, undefined);
573
- }
574
- findNearestFrameByTime(targetTime) {
575
- const maxTimeDiff = (this.maxDiffFrame / this.config.fps) * 1000;
576
- return this.prebufferContainer.reduce((nearest, current) => {
577
- if (current.time <= targetTime && Math.abs(current.time - targetTime) <= maxTimeDiff) {
578
- if (!nearest || Math.abs(current.time - targetTime) < Math.abs(nearest.time - targetTime)) {
579
- return current;
580
- }
581
- }
582
- return nearest;
583
- }, undefined);
584
- }
585
- async processFrame(frame, width, height, format, options) {
586
- const newFrame = new Uint8Array(frame);
587
- return await this.imageUtils.processImage(newFrame, width, height, format, options);
588
- }
589
- logFrameNotFound() {
590
- if (this.prebufferContainer.length > 0) {
591
- this.logger.warn(this.logPrefix, 'Frame not found in prebuffer');
592
- }
593
- else {
594
- this.logger.warn(this.logPrefix, 'Prebuffer is empty! FFmpeg is not producing frames?');
595
- }
596
- }
597
- clientIdentifier(pluginId, requestId) {
598
- return `${pluginId}:${requestId}`;
599
- }
600
- generateId() {
601
- return Math.random().toString(36).slice(2, 9);
602
- }
603
- signalHander() {
604
- let closePromise;
605
- const gracefullyClose = async (signal, reason, error, promise) => {
606
- if (closePromise) {
607
- return closePromise;
608
- }
609
- if (error || (promise && reason)) {
610
- this.logger.debug(this.logPrefix, `is ungracefully closing from signal="${signal}" reason="${reason || 'unknown'}"...`);
611
- if (error) {
612
- if (typeof error === 'string') {
613
- this.logger.error(this.logPrefix, error);
614
- }
615
- else {
616
- this.logger.error(this.logPrefix, `${signal}`, error);
617
- }
618
- }
619
- else {
620
- this.logger.error(this.logPrefix, `${signal}: Unhandled promise rejection:`, reason || promise);
621
- }
622
- }
623
- else {
624
- this.logger.log(this.logPrefix, `is gracefully closing from signal="${signal}" reason="${reason || 'unknown'}"...`);
625
- }
626
- const shutdown = setTimeout(() => {
627
- this.logger.warn(this.logPrefix, 'Failed to gracefully close before timeout, force quit!');
628
- process.kill(process.pid, 'SIGKILL');
629
- }, 5000);
630
- closePromise = this.close();
631
- await closePromise;
632
- clearTimeout(shutdown);
633
- process.exit(0);
634
- };
635
- process.on('uncaughtException', (error) => gracefullyClose('uncaughtException', undefined, error));
636
- process.on('unhandledRejection', (reason, promise) => gracefullyClose('unhandledRejection', reason, undefined, promise));
637
- process.on('SIGTERM', gracefullyClose);
638
- process.on('SIGINT', gracefullyClose);
639
- }
640
- }
641
- if (process.argv[1] === fileURLToPath(import.meta.url)) {
642
- new FrameWorkerChild();
643
- }
644
- //# sourceMappingURL=child.js.map