camera.ui3 0.0.30-alpha.0 → 0.0.30-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 (390) hide show
  1. package/dist/interface/@camera.ui.DuwfK59t.0.0.30-alpha.3.js +3 -0
  2. package/dist/interface/@tanstack.DBBaUHTS.0.0.30-alpha.3.js +1 -0
  3. package/dist/interface/{@vee-validate.0Cv0x9aN.0.0.30-alpha.0.js → @vee-validate.BRR3_tWq.0.0.30-alpha.3.js} +1 -1
  4. package/dist/interface/@vue.BeJw0wEm.0.0.30-alpha.3.js +17 -0
  5. package/dist/interface/{@vueform.Du_niMHk.0.0.30-alpha.0.js → @vueform.Dcx-RQUw.0.0.30-alpha.3.js} +1 -1
  6. package/dist/interface/{@vueuse.Dv9U068T.0.0.30-alpha.0.js → @vueuse.Sz46sDez.0.0.30-alpha.3.js} +1 -1
  7. package/dist/interface/Account.hmetZWTc.0.0.30-alpha.3.js +1 -0
  8. package/dist/interface/Adminpanel.DxC80W0K.0.0.30-alpha.3.js +2 -0
  9. package/dist/interface/Appearance.BHZdWQlZ.0.0.30-alpha.3.js +1 -0
  10. package/dist/interface/Backup.petPSq60.0.0.30-alpha.3.js +1 -0
  11. package/dist/interface/Camera.DS7gbgwV.0.0.30-alpha.3.js +1 -0
  12. package/dist/interface/Cameras.eqceAkdR.0.0.30-alpha.3.js +1 -0
  13. package/dist/interface/Camview.DumV6nmv.0.0.30-alpha.3.js +1 -0
  14. package/dist/interface/Config.DQ5vyHcx.0.0.30-alpha.3.js +1 -0
  15. package/dist/interface/Console.CWp-LL5w.0.0.30-alpha.3.js +4 -0
  16. package/dist/interface/FirstSteps.DR2B1Gmx.0.0.30-alpha.3.js +1 -0
  17. package/dist/interface/{NewCamera.Kn9biZIb.0.0.30-alpha.0.js → NewCamera.CpENkWIP.0.0.30-alpha.3.js} +2 -2
  18. package/dist/interface/Plugin.KK2gWYUL.0.0.30-alpha.3.js +1 -0
  19. package/dist/interface/Plugins.Dy1rL-Pc.0.0.30-alpha.3.js +1 -0
  20. package/dist/interface/Recordings.Bny11D38.0.0.30-alpha.3.js +1 -0
  21. package/dist/interface/Recordings.IdGxswmI.0.0.30-alpha.3.js +1 -0
  22. package/dist/interface/Settings.D6l7BlOF.0.0.30-alpha.3.js +1 -0
  23. package/dist/interface/System.FIkCpF0A.0.0.30-alpha.3.js +4 -0
  24. package/dist/interface/User.By9sAd8k.0.0.30-alpha.3.js +1 -0
  25. package/dist/interface/VConfigEditor.vue_vue_type_script_setup_true_lang.C7ZcC7dX.0.0.30-alpha.3.js +2 -0
  26. package/dist/interface/{VConsole.BT0UxZb1.0.0.30-alpha.0.js → VConsole.BG4nEIk8.0.0.30-alpha.3.js} +1 -1
  27. package/dist/interface/VPlayer.CZqXCM-i.0.0.30-alpha.3.js +1 -0
  28. package/dist/interface/{VPluginCard.Bz3GmzAE.0.0.30-alpha.0.js → VPluginCard.B_M3puzM.0.0.30-alpha.3.js} +2 -2
  29. package/dist/interface/{ace-builds.SRW0xGs1.0.0.30-alpha.0.js → ace-builds.D4S-MJ6b.0.0.30-alpha.3.js} +1 -1
  30. package/dist/interface/{apexcharts.BV8prH5x.0.0.30-alpha.0.js → apexcharts.u0duws01.0.0.30-alpha.3.js} +1 -1
  31. package/dist/interface/{dnd-core.BdsXoke-.0.0.30-alpha.0.js → dnd-core.C4232Xyz.0.0.30-alpha.3.js} +1 -1
  32. package/dist/interface/{draggabilly.D9j4BYFu.0.0.30-alpha.0.js → draggabilly.Xgwn1bT3.0.0.30-alpha.3.js} +1 -1
  33. package/dist/interface/{engine.io-client.di4Pt8W8.0.0.30-alpha.0.js → engine.io-client.CUastNh3.0.0.30-alpha.3.js} +1 -1
  34. package/dist/interface/{ev-emitter.Dxl4QoSg.0.0.30-alpha.0.js → ev-emitter.BYRnnQXb.0.0.30-alpha.3.js} +1 -1
  35. package/dist/interface/{fast-deep-equal.BUna8KlC.0.0.30-alpha.0.js → fast-deep-equal.CqwdqDxW.0.0.30-alpha.3.js} +1 -1
  36. package/dist/interface/{highlight.js.CMosnU3p.0.0.30-alpha.0.js → highlight.js.sNLmnsuC.0.0.30-alpha.3.js} +1 -1
  37. package/dist/interface/index.html +34 -33
  38. package/dist/interface/{linkify-it.B9RFwlcp.0.0.30-alpha.0.js → linkify-it.8PrPWg7W.0.0.30-alpha.3.js} +1 -1
  39. package/dist/interface/main.gxLiydtV.0.0.30-alpha.3.js +2 -0
  40. package/dist/interface/{markdown-it.DAiultxC.0.0.30-alpha.0.js → markdown-it.Q4_2MGLy.0.0.30-alpha.3.js} +1 -1
  41. package/dist/interface/{nprogress.C2KbBHcZ.0.0.30-alpha.0.js → nprogress.DQYtKLt9.0.0.30-alpha.3.js} +1 -1
  42. package/dist/interface/{pinia.DRjp4GU7.0.0.30-alpha.0.js → pinia.DcgsdRJU.0.0.30-alpha.3.js} +2 -2
  43. package/dist/interface/{plugins.Ur_7V4x8.0.0.30-alpha.0.js → plugins.DZjXmoDp.0.0.30-alpha.3.js} +1 -1
  44. package/dist/interface/{qrcode.DrYVb5am.0.0.30-alpha.0.js → qrcode.XqSuoGPb.0.0.30-alpha.3.js} +1 -1
  45. package/dist/interface/{react-dnd-touch-backend.ByHGbrKq.0.0.30-alpha.0.js → react-dnd-touch-backend.VzlzWkdX.0.0.30-alpha.3.js} +1 -1
  46. package/dist/interface/{rxjs.Dl5P76vZ.0.0.30-alpha.0.js → rxjs.CXnJywSk.0.0.30-alpha.3.js} +1 -1
  47. package/dist/interface/{socket.io-client.Cf7ABgrO.0.0.30-alpha.0.js → socket.io-client.DiiooL5k.0.0.30-alpha.3.js} +1 -1
  48. package/dist/interface/{socket.io-parser.DHnwqfTj.0.0.30-alpha.0.js → socket.io-parser.Dsh2ZviN.0.0.30-alpha.3.js} +1 -1
  49. package/dist/interface/sw.js +1 -1
  50. package/dist/interface/{system.CRn9Cy3C.0.0.30-alpha.0.js → system.Bh4wNIkr.0.0.30-alpha.3.js} +1 -1
  51. package/dist/interface/{ui.C-XbEPHk.0.0.30-alpha.0.js → ui.B0YwbqBU.0.0.30-alpha.3.js} +1 -1
  52. package/dist/interface/{unidragger.zHlf1Df_.0.0.30-alpha.0.js → unidragger.DDL70rPA.0.0.30-alpha.3.js} +1 -1
  53. package/dist/interface/utils.mAKpSMLY.0.0.30-alpha.3.js +1 -0
  54. package/dist/interface/{v-calendar.CapJoEkJ.0.0.30-alpha.0.js → v-calendar.C8Yj7x1Q.0.0.30-alpha.3.js} +1 -1
  55. package/dist/interface/{vee-validate.DcgOEpak.0.0.30-alpha.0.js → vee-validate.BbcoErf-.0.0.30-alpha.3.js} +2 -2
  56. package/dist/interface/{vue-i18n.D2pqkMP3.0.0.30-alpha.0.js → vue-i18n.B7m8y9GA.0.0.30-alpha.3.js} +2 -2
  57. package/dist/interface/{vue-inline-svg.DorOTPIf.0.0.30-alpha.0.js → vue-inline-svg.DC2U7Qim.0.0.30-alpha.3.js} +1 -1
  58. package/dist/interface/{vue-router.BVs4qaVs.0.0.30-alpha.0.js → vue-router.B3QeItm5.0.0.30-alpha.3.js} +2 -2
  59. package/dist/interface/{vue3-apexcharts.CBV9x5vk.0.0.30-alpha.0.js → vue3-apexcharts.DVzl7xGy.0.0.30-alpha.3.js} +1 -1
  60. package/dist/interface/{vue3-dnd.CXMddGIZ.0.0.30-alpha.0.js → vue3-dnd.76cFMD9V.0.0.30-alpha.3.js} +1 -1
  61. package/dist/interface/{vue3-toastify.DE7YmDSX.0.0.30-alpha.0.js → vue3-toastify.B-AJ7WuP.0.0.30-alpha.3.js} +1 -1
  62. package/dist/interface/{vuetify.CYxxHEVN.0.0.30-alpha.0.js → vuetify.CYln2r6g.0.0.30-alpha.3.js} +1 -1
  63. package/dist/interface/zod.DnW1_kUe.0.0.30-alpha.3.js +1 -0
  64. package/dist/server/bin/cameraui.js +10 -7
  65. package/dist/server/bin/cameraui.js.map +1 -1
  66. package/dist/server/bin/fork.js +2 -2
  67. package/dist/server/bin/fork.js.map +1 -1
  68. package/dist/server/bin/installer/darwin.js +1 -1
  69. package/dist/server/bin/installer/darwin.js.map +1 -1
  70. package/dist/server/bin/installer/linux.js +1 -1
  71. package/dist/server/bin/installer/linux.js.map +1 -1
  72. package/dist/server/package.json +11 -15
  73. package/dist/server/src/api/controllers/backup.controller.js.map +1 -1
  74. package/dist/server/src/api/controllers/cameras.controller.js +1 -1
  75. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  76. package/dist/server/src/api/controllers/frameWorkers.controller.js +1 -1
  77. package/dist/server/src/api/controllers/frameWorkers.controller.js.map +1 -1
  78. package/dist/server/src/api/controllers/plugins.controller.js +1 -2
  79. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  80. package/dist/server/src/api/controllers/system.controller.js +1 -3
  81. package/dist/server/src/api/controllers/system.controller.js.map +1 -1
  82. package/dist/server/src/api/controllers/users.controller.js +2 -2
  83. package/dist/server/src/api/controllers/users.controller.js.map +1 -1
  84. package/dist/server/src/api/database/constants.d.ts +8 -0
  85. package/dist/server/src/api/database/constants.js +9 -0
  86. package/dist/server/src/api/database/constants.js.map +1 -0
  87. package/dist/server/src/api/database/index.d.ts +0 -8
  88. package/dist/server/src/api/database/index.js +14 -21
  89. package/dist/server/src/api/database/index.js.map +1 -1
  90. package/dist/server/src/api/database/migration.js +5 -4
  91. package/dist/server/src/api/database/migration.js.map +1 -1
  92. package/dist/server/src/api/database/types.d.ts +6 -6
  93. package/dist/server/src/api/go2rtc/api/application.js +1 -1
  94. package/dist/server/src/api/go2rtc/api/application.js.map +1 -1
  95. package/dist/server/src/api/index.js.map +1 -1
  96. package/dist/server/src/api/plugins/logger.plugin.js.map +1 -1
  97. package/dist/server/src/api/schemas/cameras.schema.d.ts +71 -71
  98. package/dist/server/src/api/schemas/config.schema.d.ts +6 -6
  99. package/dist/server/src/api/schemas/go2rtc.schema.d.ts +98 -98
  100. package/dist/server/src/api/schemas/users.schema.d.ts +116 -116
  101. package/dist/server/src/api/services/auth.service.js +1 -1
  102. package/dist/server/src/api/services/auth.service.js.map +1 -1
  103. package/dist/server/src/api/services/backup.service.js.map +1 -1
  104. package/dist/server/src/api/services/cameras.service.js +1 -1
  105. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  106. package/dist/server/src/api/services/system.service.js +1 -1
  107. package/dist/server/src/api/services/system.service.js.map +1 -1
  108. package/dist/server/src/api/services/users.service.js +1 -1
  109. package/dist/server/src/api/services/users.service.js.map +1 -1
  110. package/dist/server/src/api/types/index.d.ts +2 -2
  111. package/dist/server/src/api/types/index.js.map +1 -1
  112. package/dist/server/src/api/utils/cert.js.map +1 -1
  113. package/dist/server/src/api/websocket/index.js.map +1 -1
  114. package/dist/server/src/api/websocket/nsp/notifications.js.map +1 -1
  115. package/dist/server/src/api/websocket/nsp/server.js +1 -1
  116. package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
  117. package/dist/server/src/api.d.ts +1 -7
  118. package/dist/server/src/api.js.map +1 -1
  119. package/dist/server/src/camera/controller.d.ts +4 -6
  120. package/dist/server/src/camera/controller.js +5 -8
  121. package/dist/server/src/camera/controller.js.map +1 -1
  122. package/dist/server/src/camera/types.d.ts +140 -13
  123. package/dist/server/src/camera/types.js.map +1 -1
  124. package/dist/server/src/decoder/index.js.map +1 -1
  125. package/dist/server/src/decoder/types.d.ts +1 -18
  126. package/dist/server/src/decoder/worker.d.ts +3 -2
  127. package/dist/server/src/decoder/worker.js +10 -22
  128. package/dist/server/src/decoder/worker.js.map +1 -1
  129. package/dist/server/src/go2rtc/index.js +2 -3
  130. package/dist/server/src/go2rtc/index.js.map +1 -1
  131. package/dist/server/src/main.js +3 -3
  132. package/dist/server/src/main.js.map +1 -1
  133. package/dist/server/src/nats/index.d.ts +3 -4
  134. package/dist/server/src/nats/index.js +1 -3
  135. package/dist/server/src/nats/index.js.map +1 -1
  136. package/dist/server/src/nats/proxy/cameraDevice.d.ts +2 -2
  137. package/dist/server/src/nats/proxy/coreManager.d.ts +4 -2
  138. package/dist/server/src/nats/proxy/coreManager.js +7 -0
  139. package/dist/server/src/nats/proxy/coreManager.js.map +1 -1
  140. package/dist/server/src/nats/proxy/deviceManager.d.ts +5 -5
  141. package/dist/server/src/nats/proxy/deviceManager.js +4 -2
  142. package/dist/server/src/nats/proxy/deviceManager.js.map +1 -1
  143. package/dist/server/src/nats/server.js +2 -3
  144. package/dist/server/src/nats/server.js.map +1 -1
  145. package/dist/server/src/nats/types.d.ts +19 -32
  146. package/dist/server/src/nats/utils.d.ts +1 -1
  147. package/dist/server/src/nats/websocket.js.map +1 -1
  148. package/dist/server/src/plugins/index.js +11 -9
  149. package/dist/server/src/plugins/index.js.map +1 -1
  150. package/dist/server/src/plugins/interfaces/base.d.ts +1 -1
  151. package/dist/server/src/plugins/plugin.d.ts +1 -1
  152. package/dist/server/src/plugins/plugin.js +4 -4
  153. package/dist/server/src/plugins/plugin.js.map +1 -1
  154. package/dist/server/src/plugins/types.d.ts +36 -3
  155. package/dist/server/src/plugins/types.js.map +1 -1
  156. package/dist/server/src/plugins/worker.js +7 -16
  157. package/dist/server/src/plugins/worker.js.map +1 -1
  158. package/dist/server/src/services/config/constants.js +2 -2
  159. package/dist/server/src/services/config/constants.js.map +1 -1
  160. package/dist/server/src/services/config/index.d.ts +2 -0
  161. package/dist/server/src/services/config/index.js +10 -2
  162. package/dist/server/src/services/config/index.js.map +1 -1
  163. package/dist/server/src/services/logger/index.d.ts +4 -16
  164. package/dist/server/src/services/logger/index.js +4 -83
  165. package/dist/server/src/services/logger/index.js.map +1 -1
  166. package/dist/server/src/services/logger/types.d.ts +8 -0
  167. package/dist/server/src/services/logger/types.js +2 -0
  168. package/dist/server/src/services/logger/types.js.map +1 -0
  169. package/localdeps.txt +4 -0
  170. package/package.json +11 -15
  171. package/dist/interface/@tanstack.DYQ7Jj8U.0.0.30-alpha.0.js +0 -1
  172. package/dist/interface/@vue.CvjRlaU6.0.0.30-alpha.0.js +0 -17
  173. package/dist/interface/Account.Dm2FouAU.0.0.30-alpha.0.js +0 -1
  174. package/dist/interface/Adminpanel.B2Aiobnt.0.0.30-alpha.0.js +0 -2
  175. package/dist/interface/Appearance.EfH0tMdM.0.0.30-alpha.0.js +0 -1
  176. package/dist/interface/Backup.D8SRclhB.0.0.30-alpha.0.js +0 -1
  177. package/dist/interface/Camera.D-cOf4sS.0.0.30-alpha.0.js +0 -1
  178. package/dist/interface/Cameras.oolxbmXU.0.0.30-alpha.0.js +0 -1
  179. package/dist/interface/Camview.BHw8Pe3v.0.0.30-alpha.0.js +0 -1
  180. package/dist/interface/Config.DmPTI5iz.0.0.30-alpha.0.js +0 -1
  181. package/dist/interface/Console.Dq4khHFF.0.0.30-alpha.0.js +0 -4
  182. package/dist/interface/FirstSteps.Bo467abx.0.0.30-alpha.0.js +0 -1
  183. package/dist/interface/Plugin.BLTVcTt1.0.0.30-alpha.0.js +0 -1
  184. package/dist/interface/Plugins.Cp8mK__o.0.0.30-alpha.0.js +0 -1
  185. package/dist/interface/Recordings.B_JIFk_G.0.0.30-alpha.0.js +0 -1
  186. package/dist/interface/Recordings.gMbvwmk_.0.0.30-alpha.0.js +0 -1
  187. package/dist/interface/Settings.EhHJjGrl.0.0.30-alpha.0.js +0 -1
  188. package/dist/interface/System.VodoK0U6.0.0.30-alpha.0.js +0 -4
  189. package/dist/interface/User.DpcN7DEC.0.0.30-alpha.0.js +0 -1
  190. package/dist/interface/VConfigEditor.vue_vue_type_script_setup_true_lang.Br68bfQJ.0.0.30-alpha.0.js +0 -2
  191. package/dist/interface/VPlayer.DYua3Eh_.0.0.30-alpha.0.js +0 -1
  192. package/dist/interface/main.19pRAqPU.0.0.30-alpha.0.js +0 -4
  193. package/dist/interface/utils.BvINh1mj.0.0.30-alpha.0.js +0 -1
  194. package/dist/interface/zod.BaF2dDCd.0.0.30-alpha.0.js +0 -1
  195. package/dist/server/src/camera/device.d.ts +0 -29
  196. package/dist/server/src/camera/device.js +0 -20
  197. package/dist/server/src/camera/device.js.map +0 -1
  198. package/dist/server/src/camera/index.d.ts +0 -90
  199. package/dist/server/src/camera/index.js +0 -581
  200. package/dist/server/src/camera/index.js.map +0 -1
  201. package/dist/server/src/camera/interfaces/camera.d.ts +0 -10
  202. package/dist/server/src/camera/interfaces/camera.js +0 -23
  203. package/dist/server/src/camera/interfaces/camera.js.map +0 -1
  204. package/dist/server/src/camera/interfaces/prebuffer.d.ts +0 -11
  205. package/dist/server/src/camera/interfaces/prebuffer.js +0 -31
  206. package/dist/server/src/camera/interfaces/prebuffer.js.map +0 -1
  207. package/dist/server/src/camera/interfaces/ptz.d.ts +0 -13
  208. package/dist/server/src/camera/interfaces/ptz.js +0 -47
  209. package/dist/server/src/camera/interfaces/ptz.js.map +0 -1
  210. package/dist/server/src/camera/iou.d.ts +0 -2
  211. package/dist/server/src/camera/iou.js +0 -53
  212. package/dist/server/src/camera/iou.js.map +0 -1
  213. package/dist/server/src/camera/polygon.d.ts +0 -6
  214. package/dist/server/src/camera/polygon.js +0 -151
  215. package/dist/server/src/camera/polygon.js.map +0 -1
  216. package/dist/server/src/camera/streaming/peer-connection.d.ts +0 -55
  217. package/dist/server/src/camera/streaming/peer-connection.js +0 -203
  218. package/dist/server/src/camera/streaming/peer-connection.js.map +0 -1
  219. package/dist/server/src/camera/streaming/webrtc-connection.d.ts +0 -35
  220. package/dist/server/src/camera/streaming/webrtc-connection.js +0 -170
  221. package/dist/server/src/camera/streaming/webrtc-connection.js.map +0 -1
  222. package/dist/server/src/camera/streaming/werift-session.d.ts +0 -41
  223. package/dist/server/src/camera/streaming/werift-session.js +0 -179
  224. package/dist/server/src/camera/streaming/werift-session.js.map +0 -1
  225. package/dist/server/src/camera/videoFrame.d.ts +0 -24
  226. package/dist/server/src/camera/videoFrame.js +0 -104
  227. package/dist/server/src/camera/videoFrame.js.map +0 -1
  228. package/dist/server/src/index.d.ts +0 -18
  229. package/dist/server/src/index.js +0 -5
  230. package/dist/server/src/index.js.map +0 -1
  231. package/dist/server/src/nats/connection.d.ts +0 -17
  232. package/dist/server/src/nats/connection.js +0 -66
  233. package/dist/server/src/nats/connection.js.map +0 -1
  234. package/dist/server/src/nats/constants.d.ts +0 -1
  235. package/dist/server/src/nats/constants.js +0 -2
  236. package/dist/server/src/nats/constants.js.map +0 -1
  237. package/dist/server/src/nats/error.d.ts +0 -9
  238. package/dist/server/src/nats/error.js +0 -11
  239. package/dist/server/src/nats/error.js.map +0 -1
  240. package/dist/server/src/nats/messageQueue.d.ts +0 -20
  241. package/dist/server/src/nats/messageQueue.js +0 -132
  242. package/dist/server/src/nats/messageQueue.js.map +0 -1
  243. package/dist/server/src/nats/subscription.d.ts +0 -12
  244. package/dist/server/src/nats/subscription.js +0 -21
  245. package/dist/server/src/nats/subscription.js.map +0 -1
  246. package/dist/server/src/polyglot/node/decoder/child.d.ts +0 -1
  247. package/dist/server/src/polyglot/node/decoder/child.js +0 -644
  248. package/dist/server/src/polyglot/node/decoder/child.js.map +0 -1
  249. package/dist/server/src/polyglot/node/decoder/imageUtils.d.ts +0 -24
  250. package/dist/server/src/polyglot/node/decoder/imageUtils.js +0 -205
  251. package/dist/server/src/polyglot/node/decoder/imageUtils.js.map +0 -1
  252. package/dist/server/src/polyglot/node/decoder/wasm/build/decoder.d.ts +0 -144
  253. package/dist/server/src/polyglot/node/decoder/wasm/build/decoder.js +0 -65
  254. package/dist/server/src/polyglot/node/decoder/wasm/build/decoder.wasm +0 -0
  255. package/dist/server/src/polyglot/node/decoder/wasm/test/imageUtils.py +0 -106
  256. package/dist/server/src/polyglot/node/plugins/cameraStorage.d.ts +0 -107
  257. package/dist/server/src/polyglot/node/plugins/cameraStorage.js +0 -292
  258. package/dist/server/src/polyglot/node/plugins/cameraStorage.js.map +0 -1
  259. package/dist/server/src/polyglot/node/plugins/child.d.ts +0 -28
  260. package/dist/server/src/polyglot/node/plugins/child.js +0 -222
  261. package/dist/server/src/polyglot/node/plugins/child.js.map +0 -1
  262. package/dist/server/src/polyglot/node/plugins/configService.d.ts +0 -104
  263. package/dist/server/src/polyglot/node/plugins/configService.js +0 -213
  264. package/dist/server/src/polyglot/node/plugins/configService.js.map +0 -1
  265. package/dist/server/src/polyglot/node/plugins/pluginApi.d.ts +0 -35
  266. package/dist/server/src/polyglot/node/plugins/pluginApi.js +0 -23
  267. package/dist/server/src/polyglot/node/plugins/pluginApi.js.map +0 -1
  268. package/dist/server/src/polyglot/node/plugins/pluginLogger.d.ts +0 -18
  269. package/dist/server/src/polyglot/node/plugins/pluginLogger.js +0 -89
  270. package/dist/server/src/polyglot/node/plugins/pluginLogger.js.map +0 -1
  271. package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.d.ts +0 -69
  272. package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.js +0 -423
  273. package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.js.map +0 -1
  274. package/dist/server/src/polyglot/node/plugins/proxy/coreManager.d.ts +0 -40
  275. package/dist/server/src/polyglot/node/plugins/proxy/coreManager.js +0 -105
  276. package/dist/server/src/polyglot/node/plugins/proxy/coreManager.js.map +0 -1
  277. package/dist/server/src/polyglot/node/plugins/proxy/deviceManager.d.ts +0 -47
  278. package/dist/server/src/polyglot/node/plugins/proxy/deviceManager.js +0 -164
  279. package/dist/server/src/polyglot/node/plugins/proxy/deviceManager.js.map +0 -1
  280. package/dist/server/src/polyglot/node/plugins/schema.d.ts +0 -293
  281. package/dist/server/src/polyglot/node/plugins/schema.js +0 -740
  282. package/dist/server/src/polyglot/node/plugins/schema.js.map +0 -1
  283. package/dist/server/src/polyglot/node/plugins/storageController.d.ts +0 -30
  284. package/dist/server/src/polyglot/node/plugins/storageController.js +0 -40
  285. package/dist/server/src/polyglot/node/plugins/storageController.js.map +0 -1
  286. package/dist/server/src/polyglot/python/camera/interfaces/camera.py +0 -20
  287. package/dist/server/src/polyglot/python/camera/interfaces/prebuffer.py +0 -28
  288. package/dist/server/src/polyglot/python/camera/interfaces/ptz.py +0 -38
  289. package/dist/server/src/polyglot/python/camera/iou.py +0 -80
  290. package/dist/server/src/polyglot/python/camera/polygon.py +0 -173
  291. package/dist/server/src/polyglot/python/camera/video_frame.py +0 -188
  292. package/dist/server/src/polyglot/python/camera_ui_types/__init__.py +0 -1200
  293. package/dist/server/src/polyglot/python/decoder/child.py +0 -882
  294. package/dist/server/src/polyglot/python/decoder/image_utils.py +0 -149
  295. package/dist/server/src/polyglot/python/decoder/typings.py +0 -99
  296. package/dist/server/src/polyglot/python/plugins/camera_storage.py +0 -391
  297. package/dist/server/src/polyglot/python/plugins/child.py +0 -394
  298. package/dist/server/src/polyglot/python/plugins/config_service.py +0 -187
  299. package/dist/server/src/polyglot/python/plugins/constants.py +0 -1
  300. package/dist/server/src/polyglot/python/plugins/message_queue.py +0 -182
  301. package/dist/server/src/polyglot/python/plugins/plugin_api.py +0 -34
  302. package/dist/server/src/polyglot/python/plugins/plugin_logger.py +0 -111
  303. package/dist/server/src/polyglot/python/plugins/proxy/camera_device.py +0 -1599
  304. package/dist/server/src/polyglot/python/plugins/proxy/core_manager.py +0 -145
  305. package/dist/server/src/polyglot/python/plugins/proxy/device_manager.py +0 -226
  306. package/dist/server/src/polyglot/python/plugins/schema.py +0 -181
  307. package/dist/server/src/polyglot/python/plugins/storage_controller.py +0 -58
  308. package/dist/server/src/polyglot/python/plugins/typings.py +0 -253
  309. package/dist/server/src/polyglot/python/utilities/connection.py +0 -86
  310. package/dist/server/src/polyglot/python/utilities/json_lmdb.py +0 -19
  311. package/dist/server/src/polyglot/python/utilities/object_path.py +0 -195
  312. package/dist/server/src/polyglot/python/utilities/packer.py +0 -11
  313. package/dist/server/src/polyglot/python/utilities/subscriptions.py +0 -22
  314. package/dist/server/src/polyglot/python/utilities/task.py +0 -35
  315. package/dist/server/src/polyglot/python/utilities/thread.py +0 -10
  316. package/dist/server/src/polyglot/python/utilities/utils.py +0 -73
  317. package/dist/server/src/utils/ffmpeg.d.ts +0 -2
  318. package/dist/server/src/utils/ffmpeg.js +0 -61
  319. package/dist/server/src/utils/ffmpeg.js.map +0 -1
  320. package/dist/server/src/utils/network.d.ts +0 -12
  321. package/dist/server/src/utils/network.js +0 -92
  322. package/dist/server/src/utils/network.js.map +0 -1
  323. package/dist/server/src/utils/npm.d.ts +0 -4
  324. package/dist/server/src/utils/npm.js +0 -128
  325. package/dist/server/src/utils/npm.js.map +0 -1
  326. package/dist/server/src/utils/packer.d.ts +0 -2
  327. package/dist/server/src/utils/packer.js +0 -17
  328. package/dist/server/src/utils/packer.js.map +0 -1
  329. package/dist/server/src/utils/pythonInstaller.d.ts +0 -48
  330. package/dist/server/src/utils/pythonInstaller.js +0 -494
  331. package/dist/server/src/utils/pythonInstaller.js.map +0 -1
  332. package/dist/server/src/utils/reader.d.ts +0 -5
  333. package/dist/server/src/utils/reader.js +0 -41
  334. package/dist/server/src/utils/reader.js.map +0 -1
  335. package/dist/server/src/utils/subscribed.d.ts +0 -9
  336. package/dist/server/src/utils/subscribed.js +0 -17
  337. package/dist/server/src/utils/subscribed.js.map +0 -1
  338. package/dist/server/src/utils/utils.d.ts +0 -10
  339. package/dist/server/src/utils/utils.js +0 -165
  340. package/dist/server/src/utils/utils.js.map +0 -1
  341. /package/dist/interface/{@babel.l0sNRNKZ.0.0.30-alpha.0.js → @babel.l0sNRNKZ.0.0.30-alpha.3.js} +0 -0
  342. /package/dist/interface/{@intlify.YW_pt133.0.0.30-alpha.0.js → @intlify.YW_pt133.0.0.30-alpha.3.js} +0 -0
  343. /package/dist/interface/{@mdi.DnMbZhUH.0.0.30-alpha.0.js → @mdi.DnMbZhUH.0.0.30-alpha.3.js} +0 -0
  344. /package/dist/interface/{@popperjs.BQBsAJpH.0.0.30-alpha.0.js → @popperjs.BQBsAJpH.0.0.30-alpha.3.js} +0 -0
  345. /package/dist/interface/{@react-dnd.CcwRs9xb.0.0.30-alpha.0.js → @react-dnd.CcwRs9xb.0.0.30-alpha.3.js} +0 -0
  346. /package/dist/interface/{@socket.io.Dkula2eQ.0.0.30-alpha.0.js → @socket.io.Dkula2eQ.0.0.30-alpha.3.js} +0 -0
  347. /package/dist/interface/{@xterm.CnserxUX.0.0.30-alpha.0.js → @xterm.-WsTvn6n.0.0.30-alpha.3.js} +0 -0
  348. /package/dist/interface/assets/{@vueform.0.0.30-alpha.0.h7tNX9p6.css → @vueform.0.0.30-alpha.3.h7tNX9p6.css} +0 -0
  349. /package/dist/interface/assets/{@xterm.0.0.30-alpha.0.CGrrDQr5.css → @xterm.0.0.30-alpha.3.CGrrDQr5.css} +0 -0
  350. /package/dist/interface/assets/{Account.0.0.30-alpha.0.Ce3OmKrC.css → Account.0.0.30-alpha.3.Ce3OmKrC.css} +0 -0
  351. /package/dist/interface/assets/{Adminpanel.0.0.30-alpha.0.CXsTAXPL.css → Adminpanel.0.0.30-alpha.3.CXsTAXPL.css} +0 -0
  352. /package/dist/interface/assets/{Backup.0.0.30-alpha.0.BIwaSlv3.css → Backup.0.0.30-alpha.3.BIwaSlv3.css} +0 -0
  353. /package/dist/interface/assets/{Camera.0.0.30-alpha.0.BDtUJ-lA.css → Camera.0.0.30-alpha.3.BDtUJ-lA.css} +0 -0
  354. /package/dist/interface/assets/{Cameras.0.0.30-alpha.0.Djx0F2MM.css → Cameras.0.0.30-alpha.3.Djx0F2MM.css} +0 -0
  355. /package/dist/interface/assets/{Camview.0.0.30-alpha.0.Ce_V-Nxj.css → Camview.0.0.30-alpha.3.Ce_V-Nxj.css} +0 -0
  356. /package/dist/interface/assets/{Config.0.0.30-alpha.0.k4QpWumg.css → Config.0.0.30-alpha.3.k4QpWumg.css} +0 -0
  357. /package/dist/interface/assets/{Console.0.0.30-alpha.0.DWrfRWs9.css → Console.0.0.30-alpha.3.DWrfRWs9.css} +0 -0
  358. /package/dist/interface/assets/{FirstSteps.0.0.30-alpha.0.B3-pv8-a.css → FirstSteps.0.0.30-alpha.3.B3-pv8-a.css} +0 -0
  359. /package/dist/interface/assets/{NewCamera.0.0.30-alpha.0.DJ3tUBT_.css → NewCamera.0.0.30-alpha.3.DJ3tUBT_.css} +0 -0
  360. /package/dist/interface/assets/{Plugin.0.0.30-alpha.0.BtRA6zDt.css → Plugin.0.0.30-alpha.3.BtRA6zDt.css} +0 -0
  361. /package/dist/interface/assets/{Plugins.0.0.30-alpha.0.Cwu0aGUO.css → Plugins.0.0.30-alpha.3.Cwu0aGUO.css} +0 -0
  362. /package/dist/interface/assets/{Settings.0.0.30-alpha.0.DC_-E3CR.css → Settings.0.0.30-alpha.3.DC_-E3CR.css} +0 -0
  363. /package/dist/interface/assets/{User.0.0.30-alpha.0.DPDcJbx8.css → User.0.0.30-alpha.3.DPDcJbx8.css} +0 -0
  364. /package/dist/interface/assets/{VConsole.0.0.30-alpha.0.BZT1WyS-.css → VConsole.0.0.30-alpha.3.BZT1WyS-.css} +0 -0
  365. /package/dist/interface/assets/{VPlayer.0.0.30-alpha.0.CZXlTn4I.css → VPlayer.0.0.30-alpha.3.CZXlTn4I.css} +0 -0
  366. /package/dist/interface/assets/{VPluginCard.0.0.30-alpha.0.CIL48ca_.css → VPluginCard.0.0.30-alpha.3.CIL48ca_.css} +0 -0
  367. /package/dist/interface/assets/{highlight.0.0.30-alpha.0.DgoK_Xib.css → highlight.0.0.30-alpha.3.DgoK_Xib.css} +0 -0
  368. /package/dist/interface/assets/{logo-256.0.0.30-alpha.0.BCQk9H1-.png → logo-256.0.0.30-alpha.3.BCQk9H1-.png} +0 -0
  369. /package/dist/interface/assets/{logo-512.0.0.30-alpha.0.DLKVOU2S.png → logo-512.0.0.30-alpha.3.DLKVOU2S.png} +0 -0
  370. /package/dist/interface/assets/{logo.0.0.30-alpha.0.DmEiRk0z.png → logo.0.0.30-alpha.3.DmEiRk0z.png} +0 -0
  371. /package/dist/interface/assets/{main.0.0.30-alpha.0.BOf8IWhK.css → main.0.0.30-alpha.3.BOf8IWhK.css} +0 -0
  372. /package/dist/interface/assets/{mode-json.0.0.30-alpha.0.Br7xisR1.js → mode-json.0.0.30-alpha.3.Br7xisR1.js} +0 -0
  373. /package/dist/interface/assets/{mode-yaml.0.0.30-alpha.0.CIYL8U3d.js → mode-yaml.0.0.30-alpha.3.CIYL8U3d.js} +0 -0
  374. /package/dist/interface/assets/{v-calendar.0.0.30-alpha.0.CtSuDYZU.css → v-calendar.0.0.30-alpha.3.CtSuDYZU.css} +0 -0
  375. /package/dist/interface/assets/{vue3-toastify.0.0.30-alpha.0.DTY1DMRs.css → vue3-toastify.0.0.30-alpha.3.DTY1DMRs.css} +0 -0
  376. /package/dist/interface/assets/{vuetify.0.0.30-alpha.0.Cd1awv3t.css → vuetify.0.0.30-alpha.3.Cd1awv3t.css} +0 -0
  377. /package/dist/interface/{axios.C-n2IhIP.0.0.30-alpha.0.js → axios.C-n2IhIP.0.0.30-alpha.3.js} +0 -0
  378. /package/dist/interface/{compare-versions.DqEOhma6.0.0.30-alpha.0.js → compare-versions.DqEOhma6.0.0.30-alpha.3.js} +0 -0
  379. /package/dist/interface/{dijkstrajs.D_NXgYpA.0.0.30-alpha.0.js → dijkstrajs.D_NXgYpA.0.0.30-alpha.3.js} +0 -0
  380. /package/dist/interface/{engine.io-parser.BiEtp6m2.0.0.30-alpha.0.js → engine.io-parser.BiEtp6m2.0.0.30-alpha.3.js} +0 -0
  381. /package/dist/interface/{entities.C20TfXL6.0.0.30-alpha.0.js → entities.C20TfXL6.0.0.30-alpha.3.js} +0 -0
  382. /package/dist/interface/{get-size.D1dS-IaP.0.0.30-alpha.0.js → get-size.D1dS-IaP.0.0.30-alpha.3.js} +0 -0
  383. /package/dist/interface/{mdurl.k9Sl0PQj.0.0.30-alpha.0.js → mdurl.k9Sl0PQj.0.0.30-alpha.3.js} +0 -0
  384. /package/dist/interface/{punycode.js.Dj65hjkv.0.0.30-alpha.0.js → punycode.js.Dj65hjkv.0.0.30-alpha.3.js} +0 -0
  385. /package/dist/interface/{react-dnd-html5-backend.1HQjlkwI.0.0.30-alpha.0.js → react-dnd-html5-backend.1HQjlkwI.0.0.30-alpha.3.js} +0 -0
  386. /package/dist/interface/{redux.CuxFRhX_.0.0.30-alpha.0.js → redux.CuxFRhX_.0.0.30-alpha.3.js} +0 -0
  387. /package/dist/interface/{tslib.9k7AwCpt.0.0.30-alpha.0.js → tslib.9k7AwCpt.0.0.30-alpha.3.js} +0 -0
  388. /package/dist/interface/{uc.micro.kMc2yuuw.0.0.30-alpha.0.js → uc.micro.kMc2yuuw.0.0.30-alpha.3.js} +0 -0
  389. /package/dist/interface/{uuid.DvF23Exx.0.0.30-alpha.0.js → uuid.DvF23Exx.0.0.30-alpha.3.js} +0 -0
  390. /package/dist/interface/{vue.l0sNRNKZ.0.0.30-alpha.0.js → vue.l0sNRNKZ.0.0.30-alpha.3.js} +0 -0
@@ -1,170 +0,0 @@
1
- import { ReplaySubject, Subject, fromEvent } from 'rxjs';
2
- import { concatMap } from 'rxjs/operators';
3
- import { WebSocket } from 'ws';
4
- import { Subscribed } from '../../utils/subscribed.js';
5
- import { WeriftPeerConnection } from './peer-connection.js';
6
- export class WebrtcConnection extends Subscribed {
7
- onCameraConnected = new ReplaySubject(1);
8
- onCallAnswered = new ReplaySubject(1);
9
- onCallEnded = new ReplaySubject(1);
10
- onError = new ReplaySubject(1);
11
- onMessage = new ReplaySubject();
12
- onWsOpen;
13
- onAudioRtp;
14
- onVideoRtp;
15
- pc;
16
- ws;
17
- onOfferSent = new ReplaySubject(1);
18
- hasEnded = false;
19
- cameraDevice;
20
- sourceName;
21
- logger;
22
- get logPrefix() {
23
- return `${this.cameraDevice.name} (${this.sourceName})`;
24
- }
25
- constructor(cameraDevice, sourceName, logger, options) {
26
- super();
27
- this.cameraDevice = cameraDevice;
28
- this.logger = logger;
29
- const sources = cameraDevice.sources
30
- .map((source) => {
31
- if (source.name === sourceName) {
32
- return { name: source.name, src: source.urls.ws.webrtc };
33
- }
34
- else if (source.urls.transcoded.aac.name === sourceName) {
35
- return { name: source.urls.transcoded.aac.name, src: source.urls.transcoded.aac.ws };
36
- }
37
- else if (source.urls.transcoded.opus.name === sourceName) {
38
- return { name: source.urls.transcoded.opus.name, src: source.urls.transcoded.opus.ws };
39
- }
40
- })
41
- .filter(Boolean);
42
- const webRtcSource = sources[0];
43
- if (!webRtcSource) {
44
- throw new Error(`Invalid source: ${sourceName}`);
45
- }
46
- this.sourceName = webRtcSource.name;
47
- this.ws = new WebSocket(webRtcSource.src);
48
- if (options.createPeerConnection) {
49
- // we were passed a custom peer connection factory
50
- this.pc = options.createPeerConnection();
51
- // passing rtp packets is not supported for custom peer connections
52
- this.onAudioRtp = new Subject();
53
- this.onVideoRtp = new Subject();
54
- }
55
- else {
56
- // no custom peer connection factory, use the werift and pass along rtp packets
57
- const pc = new WeriftPeerConnection(this.cameraDevice, options, this.logger, sourceName);
58
- this.pc = pc;
59
- this.onAudioRtp = pc.onAudioRtp;
60
- this.onVideoRtp = pc.onVideoRtp;
61
- }
62
- this.onWsOpen = fromEvent(this.ws, 'open');
63
- const onMessage = fromEvent(this.ws, 'message');
64
- const onError = fromEvent(this.ws, 'error');
65
- const onClose = fromEvent(this.ws, 'close');
66
- this.addSubscriptions(onMessage
67
- .pipe(concatMap((event) => {
68
- const message = JSON.parse(event.data);
69
- this.onMessage.next(message);
70
- return this.handleMessage(message).catch((error) => {
71
- this.onError.next(error);
72
- throw error;
73
- });
74
- }))
75
- .subscribe(), onError.subscribe((error) => {
76
- this.logger.error(this.logPrefix, error);
77
- this.callEnded();
78
- }), onClose.subscribe(() => {
79
- this.callEnded();
80
- }), this.cameraDevice.onConnected.subscribe((state) => {
81
- if (!state) {
82
- this.callEnded();
83
- }
84
- }), this.pc.onConnectionState.subscribe((state) => {
85
- if (state === 'failed') {
86
- this.logger.error(this.logPrefix, 'Stream connection failed');
87
- this.callEnded();
88
- }
89
- if (state === 'closed') {
90
- this.logger.debug(this.logPrefix, 'Stream connection closed');
91
- this.callEnded();
92
- }
93
- }), this.onError.subscribe((error) => {
94
- this.logger.error(this.logPrefix, error);
95
- this.callEnded();
96
- }), this.onWsOpen.subscribe(() => {
97
- this.initiateCall().catch((error) => {
98
- this.logger.error(this.logPrefix, error);
99
- this.callEnded();
100
- });
101
- }), this.pc.onIceCandidate.subscribe(async (iceCandidate) => {
102
- // await firstValueFrom(this.onOfferSent);
103
- this.sendMessage({
104
- type: 'webrtc/candidate',
105
- value: iceCandidate.toJSON().candidate || '',
106
- });
107
- }));
108
- }
109
- sendAudioPacket(rtp) {
110
- if (this.hasEnded) {
111
- return;
112
- }
113
- if (this.pc instanceof WeriftPeerConnection) {
114
- this.pc.returnAudioTrack.writeRtp(rtp);
115
- }
116
- else {
117
- throw new Error('Cannot send audio packets to a custom peer connection implementation');
118
- }
119
- }
120
- stop() {
121
- this.callEnded();
122
- }
123
- requestKeyFrame() {
124
- this.pc.requestKeyFrame?.();
125
- }
126
- async initiateCall() {
127
- const { sdp } = await this.pc.createOffer();
128
- this.sendMessage({
129
- type: 'webrtc/offer',
130
- value: sdp,
131
- });
132
- this.onOfferSent.next();
133
- }
134
- async handleMessage(message) {
135
- switch (message.type) {
136
- case 'webrtc/answer':
137
- const sdp = message.value;
138
- await this.pc.acceptAnswer({ type: 'answer', sdp });
139
- this.onCallAnswered.next(sdp);
140
- return;
141
- case 'webrtc/candidate':
142
- await this.pc.addIceCandidate({
143
- candidate: message.value,
144
- sdpMid: '0',
145
- });
146
- return;
147
- case 'error':
148
- throw new Error(message.value);
149
- default:
150
- throw new Error(message);
151
- }
152
- }
153
- sendMessage(message) {
154
- if (this.hasEnded) {
155
- return;
156
- }
157
- this.ws.send(JSON.stringify(message));
158
- }
159
- callEnded() {
160
- if (this.hasEnded) {
161
- return;
162
- }
163
- this.hasEnded = true;
164
- this.unsubscribe();
165
- this.onCallEnded.next();
166
- this.pc.close();
167
- this.ws.close();
168
- }
169
- }
170
- //# sourceMappingURL=webrtc-connection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webrtc-connection.js","sourceRoot":"","sources":["../../../../../src/camera/streaming/webrtc-connection.ts"],"names":[],"mappings":"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"}
@@ -1,41 +0,0 @@
1
- import { ReplaySubject, Subject } from 'rxjs';
2
- import { RtpPacket } from 'werift';
3
- import type { Subscription } from 'rxjs';
4
- import type { CameraDevice } from '../device.js';
5
- import type { BaseLogger, FfmpegOptions, SpawnInput } from '../types.js';
6
- import type { WebrtcConnection } from './webrtc-connection.js';
7
- declare class Subscribed {
8
- private readonly subscriptions;
9
- private readonly additionalSubscriptions;
10
- addSubscriptions(...subscriptions: Subscription[]): void;
11
- addAdditionalSubscriptions(...subscriptions: Subscription[]): void;
12
- unsubscribe(): void;
13
- unsubscribeAdditional(): void;
14
- }
15
- export declare class WeriftSession extends Subscribed {
16
- readonly onCallEnded: ReplaySubject<void>;
17
- readonly onVideoRtp: Subject<RtpPacket>;
18
- readonly onAudioRtp: Subject<RtpPacket>;
19
- private readonly audioSplitter;
20
- private readonly videoSplitter;
21
- private readonly returnAudioSplitter;
22
- private readonly onUsingOpus;
23
- private hasEnded;
24
- private cameraDevice;
25
- private connection;
26
- private logger;
27
- get isUsingOpus(): Promise<boolean>;
28
- constructor(cameraDevice: CameraDevice, logger: BaseLogger, connection: WebrtcConnection);
29
- reservePort(bufferPorts?: number): Promise<number>;
30
- startTranscoding(ffmpegOptions: FfmpegOptions): Promise<void>;
31
- transcodeReturnAudio(ffmpegOptions: {
32
- ffmpegPath: string;
33
- input: SpawnInput[];
34
- }): Promise<void>;
35
- stop(): void;
36
- sendAudioPacket(rtp: RtpPacket): void;
37
- requestKeyFrame(): void;
38
- private bindToConnection;
39
- private callEnded;
40
- }
41
- export {};
@@ -1,179 +0,0 @@
1
- import { FfmpegProcess, reservePorts, RtpSplitter } from '@homebridge/camera-utils';
2
- import { firstValueFrom, ReplaySubject, Subject } from 'rxjs';
3
- import { concatMap, map, mergeWith, take } from 'rxjs/operators';
4
- import { RtpPacket } from 'werift';
5
- function getCleanSdp(sdp, includeVideo) {
6
- return sdp
7
- .split('\nm=')
8
- .slice(1)
9
- .map((section) => 'm=' + section)
10
- .filter((section) => includeVideo || !section.startsWith('m=video'))
11
- .join('\n');
12
- }
13
- class Subscribed {
14
- subscriptions = [];
15
- additionalSubscriptions = [];
16
- addSubscriptions(...subscriptions) {
17
- this.subscriptions.push(...subscriptions);
18
- }
19
- addAdditionalSubscriptions(...subscriptions) {
20
- this.additionalSubscriptions.push(...subscriptions);
21
- }
22
- unsubscribe() {
23
- this.subscriptions.forEach((subscription) => subscription.unsubscribe());
24
- }
25
- unsubscribeAdditional() {
26
- this.additionalSubscriptions.forEach((subscription) => subscription.unsubscribe());
27
- }
28
- }
29
- export class WeriftSession extends Subscribed {
30
- onCallEnded = new ReplaySubject(1);
31
- onVideoRtp = new Subject();
32
- onAudioRtp = new Subject();
33
- audioSplitter = new RtpSplitter();
34
- videoSplitter = new RtpSplitter();
35
- returnAudioSplitter = new RtpSplitter();
36
- onUsingOpus = new ReplaySubject(1);
37
- hasEnded = false;
38
- cameraDevice;
39
- connection;
40
- logger;
41
- get isUsingOpus() {
42
- return firstValueFrom(this.onUsingOpus.pipe(mergeWith(this.connection.onError.pipe(map((error) => {
43
- throw error;
44
- })))));
45
- }
46
- constructor(cameraDevice, logger, connection) {
47
- super();
48
- this.cameraDevice = cameraDevice;
49
- this.logger = logger;
50
- this.connection = connection;
51
- this.bindToConnection(connection);
52
- }
53
- async reservePort(bufferPorts = 0) {
54
- const ports = await reservePorts({ count: bufferPorts + 1 });
55
- return ports[0];
56
- }
57
- async startTranscoding(ffmpegOptions) {
58
- if (this.hasEnded) {
59
- return;
60
- }
61
- const videoPort = await this.reservePort(1);
62
- const audioPort = await this.reservePort(1);
63
- const transcodeVideoStream = ffmpegOptions.video !== undefined && ffmpegOptions.video.length > 0;
64
- const sdp = await Promise.race([firstValueFrom(this.connection.onCallAnswered), firstValueFrom(this.onCallEnded)]);
65
- if (!sdp) {
66
- this.logger.debug(this.cameraDevice.name, 'No SDP received, ending session');
67
- return;
68
- }
69
- const usingOpus = await this.isUsingOpus;
70
- const ffmpegInputArguments = [
71
- '-hide_banner',
72
- '-protocol_whitelist',
73
- 'pipe,udp,rtp,file,crypto',
74
- ...(usingOpus ? ['-acodec', 'libopus'] : []),
75
- '-f',
76
- 'sdp',
77
- ...(ffmpegOptions.input || []),
78
- '-i',
79
- 'pipe:',
80
- ];
81
- const inputSdp = getCleanSdp(sdp, transcodeVideoStream)
82
- .replace(/m=audio \d+/, `m=audio ${audioPort}`)
83
- .replace(/m=video \d+/, `m=video ${videoPort}`);
84
- const ff = new FfmpegProcess({
85
- ffmpegArgs: ffmpegInputArguments.concat(...(ffmpegOptions.audio || ['-acodec', 'aac']), ...(transcodeVideoStream ? ffmpegOptions.video || ['-vcodec', 'copy'] : []), ...(ffmpegOptions.output || [])),
86
- ffmpegPath: ffmpegOptions.ffmpegPath,
87
- exitCallback: () => this.callEnded(),
88
- logger: {
89
- info: (message) => this.logger.trace(this.cameraDevice.name, 'Transcode:', message.trim()),
90
- error: (message) => this.logger.error(this.cameraDevice.name, 'Transcode:', message.trim()),
91
- },
92
- });
93
- this.addSubscriptions(this.onAudioRtp
94
- .pipe(concatMap((rtp) => {
95
- return this.audioSplitter.send(rtp.serialize(), {
96
- port: audioPort,
97
- });
98
- }))
99
- .subscribe());
100
- if (transcodeVideoStream) {
101
- this.addSubscriptions(this.onVideoRtp
102
- .pipe(concatMap((rtp) => {
103
- return this.videoSplitter.send(rtp.serialize(), {
104
- port: videoPort,
105
- });
106
- }))
107
- .subscribe());
108
- }
109
- this.onCallEnded.pipe(take(1)).subscribe(() => ff.stop());
110
- ff.writeStdin(inputSdp);
111
- // Request a key frame now that ffmpeg is ready to receive
112
- this.requestKeyFrame();
113
- }
114
- async transcodeReturnAudio(ffmpegOptions) {
115
- if (this.hasEnded) {
116
- return;
117
- }
118
- const audioOutForwarder = new RtpSplitter(({ message }) => {
119
- const rtp = RtpPacket.deSerialize(message);
120
- this.connection.sendAudioPacket(rtp);
121
- return null;
122
- });
123
- const usingOpus = await this.isUsingOpus;
124
- const ff = new FfmpegProcess({
125
- ffmpegArgs: [
126
- '-hide_banner',
127
- '-protocol_whitelist',
128
- 'pipe,udp,rtp,file,crypto',
129
- '-re',
130
- '-i',
131
- ...ffmpegOptions.input,
132
- '-acodec',
133
- ...(usingOpus ? ['libopus', '-ac', 2, '-ar', '48k'] : ['pcm_mulaw', '-ac', 1, '-ar', '8k']),
134
- '-flags',
135
- '+global_header',
136
- '-f',
137
- 'rtp',
138
- `rtp://127.0.0.1:${await audioOutForwarder.portPromise}`,
139
- ],
140
- ffmpegPath: ffmpegOptions.ffmpegPath,
141
- exitCallback: () => this.callEnded(),
142
- logger: {
143
- info: (message) => this.logger.trace(this.cameraDevice.name, 'Return Audio:', message),
144
- error: (message) => this.logger.error(this.cameraDevice.name, 'Return Audio:', message),
145
- },
146
- });
147
- this.onCallEnded.pipe(take(1)).subscribe(() => ff.stop());
148
- }
149
- stop() {
150
- this.callEnded();
151
- }
152
- sendAudioPacket(rtp) {
153
- if (this.hasEnded) {
154
- return;
155
- }
156
- this.connection.sendAudioPacket(rtp);
157
- }
158
- requestKeyFrame() {
159
- this.connection.requestKeyFrame();
160
- }
161
- bindToConnection(connection) {
162
- this.addSubscriptions(connection.onAudioRtp.subscribe(this.onAudioRtp), connection.onVideoRtp.subscribe(this.onVideoRtp), connection.onCallAnswered.subscribe((sdp) => {
163
- this.onUsingOpus.next(sdp.toLocaleLowerCase().includes(' opus/'));
164
- }), connection.onCallEnded.subscribe(() => this.callEnded()));
165
- }
166
- callEnded() {
167
- if (this.hasEnded) {
168
- return;
169
- }
170
- this.hasEnded = true;
171
- this.unsubscribe();
172
- this.onCallEnded.next();
173
- this.connection.stop();
174
- this.audioSplitter.close();
175
- this.videoSplitter.close();
176
- this.returnAudioSplitter.close();
177
- }
178
- }
179
- //# sourceMappingURL=werift-session.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"werift-session.js","sourceRoot":"","sources":["../../../../../src/camera/streaming/werift-session.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import type { DecoderFormat, FrameBuffer, FrameData, FrameImage, FrameMetadata, ImageOptions, MotionFrame as MotionFrameMethods, VideoFrame as VideoFrameMethods } from '../decoder/types.js';
2
- import type { ProxyConnection } from '../nats/connection.js';
3
- import type { MotionState } from './types.js';
4
- export declare class VideoFrame implements VideoFrameMethods {
5
- readonly frameData: FrameData;
6
- readonly metadata: FrameMetadata;
7
- private frameGeneratorSubject;
8
- private publisher;
9
- private prebufferDuration;
10
- get inputWidth(): number;
11
- get inputHeight(): number;
12
- get inputFormat(): DecoderFormat;
13
- constructor(cameraId: string, publisher: ProxyConnection, frameData: FrameData, metadata: FrameMetadata, prebufferDuration: number);
14
- toBuffer(options?: ImageOptions): Promise<FrameBuffer>;
15
- toImage(options?: ImageOptions): Promise<FrameImage>;
16
- save(path: string, options?: ImageOptions): Promise<void>;
17
- private send;
18
- private validateOptions;
19
- private getImageInformation;
20
- }
21
- export declare class MotionFrame extends VideoFrame implements MotionFrameMethods {
22
- readonly motion: MotionState;
23
- constructor(cameraId: string, publisher: ProxyConnection, frameData: FrameData, motionState: MotionState, metadata: FrameMetadata);
24
- }
@@ -1,104 +0,0 @@
1
- import sharp from 'sharp';
2
- export class VideoFrame {
3
- frameData;
4
- metadata;
5
- frameGeneratorSubject;
6
- publisher;
7
- prebufferDuration;
8
- get inputWidth() {
9
- return this.metadata.width;
10
- }
11
- get inputHeight() {
12
- return this.metadata.height;
13
- }
14
- get inputFormat() {
15
- return this.metadata.format;
16
- }
17
- constructor(cameraId, publisher, frameData, metadata, prebufferDuration) {
18
- this.frameGeneratorSubject = `${cameraId}.frameGenerator`;
19
- this.publisher = publisher;
20
- this.frameData = frameData;
21
- this.metadata = metadata;
22
- this.prebufferDuration = prebufferDuration;
23
- }
24
- async toBuffer(options = {}) {
25
- options = this.validateOptions('buffer', options);
26
- const imageInformation = this.getImageInformation(options);
27
- const data = await this.send(options);
28
- return {
29
- image: Buffer.from(data.buffer, data.byteOffset, data.byteLength),
30
- info: imageInformation,
31
- };
32
- }
33
- async toImage(options = {}) {
34
- options = this.validateOptions('image', options);
35
- const imageInformation = this.getImageInformation(options);
36
- const data = await this.send(options);
37
- return {
38
- image: sharp(data, { raw: imageInformation }),
39
- info: imageInformation,
40
- };
41
- }
42
- async save(path, options = {}) {
43
- const { image } = await this.toImage(options);
44
- await image.toFile(path);
45
- image.destroy();
46
- }
47
- async send(options) {
48
- if (!this.publisher) {
49
- throw new Error('Frame generator closed?');
50
- }
51
- const request = { options, metadata: this.metadata, frameData: this.frameData, prebufferDuration: this.prebufferDuration };
52
- return this.publisher.request(this.frameGeneratorSubject, request, { timeout: 10000 });
53
- }
54
- validateOptions(target, options = {}) {
55
- if (!options.format && target === 'image') {
56
- options.format = { to: 'rgb' };
57
- }
58
- if (options.crop) {
59
- options.crop.top = options.crop.top || 0;
60
- options.crop.left = options.crop.left || 0;
61
- options.crop.width = options.crop.width + options.crop.left > this.inputWidth ? this.inputWidth - options.crop.left : options.crop.width;
62
- options.crop.height = options.crop.height + options.crop.top > this.inputHeight ? this.inputHeight - options.crop.top : options.crop.height;
63
- }
64
- if (options.resize) {
65
- if (options.resize.width && !options.resize.height) {
66
- options.resize.height = Math.round((options.resize.width * this.inputHeight) / this.inputWidth);
67
- }
68
- else if (!options.resize.width && options.resize.height) {
69
- options.resize.width = Math.round((options.resize.height * this.inputWidth) / this.inputHeight);
70
- }
71
- options.resize.width = options.resize.width || this.inputWidth;
72
- options.resize.height = options.resize.height || this.inputHeight;
73
- }
74
- return options;
75
- }
76
- getImageInformation(options = {}) {
77
- let width = this.inputWidth;
78
- let height = this.inputHeight;
79
- const format = options.format?.to || this.inputFormat;
80
- const channels = options.format?.to === 'rgba' ? 4 : options.format?.to === 'gray' ? 1 : 3;
81
- if (options.resize) {
82
- width = options.resize.width || width;
83
- height = options.resize.height || height;
84
- }
85
- else if (options.crop) {
86
- width = options.crop.width + options.crop.left > this.inputWidth ? this.inputWidth - options.crop.left : options.crop.width;
87
- height = options.crop.height + options.crop.top > this.inputHeight ? this.inputHeight - options.crop.top : options.crop.height;
88
- }
89
- return {
90
- width,
91
- height,
92
- channels,
93
- format,
94
- };
95
- }
96
- }
97
- export class MotionFrame extends VideoFrame {
98
- motion;
99
- constructor(cameraId, publisher, frameData, motionState, metadata) {
100
- super(cameraId, publisher, frameData, metadata, 0);
101
- this.motion = motionState;
102
- }
103
- }
104
- //# sourceMappingURL=videoFrame.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"videoFrame.js","sourceRoot":"","sources":["../../../../src/camera/videoFrame.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- export type { Camera, CameraActivitySettings, CameraFrameWorkerDecoder, CameraFrameWorkerResolution, CameraFrameWorkerSettings, CameraInformation, CameraType, Go2RtcEndpoint, Go2RtcFFMPEGSource, Go2RtcRTSPSource, Go2RtcWSSource, Point, ZoneFilter, ZoneType, } from './api/database/types.js';
2
- export type { CameraDevice } from './camera/device.js';
3
- export type { BasicPeerConnection, PeerConnectionAudioCodecs, PeerConnectionVideoCodecs, StreamingConnectionOptions } from './camera/streaming/peer-connection.js';
4
- export type { WeriftSession } from './camera/streaming/werift-session.js';
5
- export type { CoreManager } from './polyglot/node/plugins/proxy/coreManager.js';
6
- export type { DeviceManager } from './polyglot/node/plugins/proxy/deviceManager.js';
7
- export type { AudioSetEvent, AudioState, AudioStreamOptions, BatterySetEvent, BatteryState, CameraConfig, CameraDelegate, CameraPrebufferDelegate, CameraSource, Container, Detection, DetectionZone, LightSetEvent, LightState, MotionSetEvent, MotionState, ObjectClass, ObjectSetEvent, ObjectState, PrebufferState, SirenSetEvent, SirenState, StreamInfo, VideoStreamOptions, } from './camera/types.js';
8
- export type { DecoderFormat, FrameBuffer, FrameData, FrameImage, FrameMetadata, ImageFormat, ImageInformation, ImageInputFormat, ImageMetadata, ImageOptions, ImageOutputFormat, ImageResize, VideoFrame, } from './decoder/types.js';
9
- export { AudioDetectionPlugin } from './plugins/interfaces/audioDetection.js';
10
- export { BasePlugin } from './plugins/interfaces/base.js';
11
- export { MotionDetectionPlugin } from './plugins/interfaces/motionDetection.js';
12
- export { ObjectDetectionPlugin } from './plugins/interfaces/objectDetection.js';
13
- export type { CameraExtension, FormSubmitResponse, JsonSchema, JsonSchemaBoolean, JsonSchemaEnum, JsonSchemaForm, JsonSchemaNumber, JsonSchemaString, PluginConfig, ToastMessage, } from './plugins/types.js';
14
- export type { CameraStorage } from './polyglot/node/plugins/cameraStorage.js';
15
- export type { PluginConfigService } from './polyglot/node/plugins/configService.js';
16
- export type { PluginAPI } from './polyglot/node/plugins/pluginApi.js';
17
- export type { PluginLogger } from './polyglot/node/plugins/pluginLogger.js';
18
- export type { StorageController } from './polyglot/node/plugins/storageController.js';
@@ -1,5 +0,0 @@
1
- export { AudioDetectionPlugin } from './plugins/interfaces/audioDetection.js';
2
- export { BasePlugin } from './plugins/interfaces/base.js';
3
- export { MotionDetectionPlugin } from './plugins/interfaces/motionDetection.js';
4
- export { ObjectDetectionPlugin } from './plugins/interfaces/objectDetection.js';
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAkEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC"}
@@ -1,17 +0,0 @@
1
- import { ProxySubscription } from './subscription.js';
2
- import type { NatsConnection, RequestOptions } from 'nats';
3
- import type { AuthConfig } from '../decoder/types.js';
4
- export declare class ProxyConnection {
5
- private name;
6
- private servers;
7
- private auth;
8
- private publisher?;
9
- private subscribers;
10
- private closed;
11
- constructor(name: string, servers: string[], auth: AuthConfig);
12
- connect(): Promise<NatsConnection>;
13
- subscribe(subject: string, skipListening?: boolean): ProxySubscription;
14
- publish(subject: string, message: any): void;
15
- request(subject: string, message: any, opts?: RequestOptions): Promise<any>;
16
- close(): Promise<void>;
17
- }