@camera.ui/server 0.0.33 → 0.0.35

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 (153) hide show
  1. package/dist/interface/{@tanstack.Bn7ONsFE.0.0.33.js → @tanstack.CPdMhQJA.0.0.35.js} +1 -1
  2. package/dist/interface/{@vee-validate.CVOhlvT1.0.0.33.js → @vee-validate.CJWK7-QJ.0.0.35.js} +1 -1
  3. package/dist/interface/{@vue.CKTzReHw.0.0.33.js → @vue.D3faHw_p.0.0.35.js} +1 -1
  4. package/dist/interface/{@vueform.Bxj7hSsA.0.0.33.js → @vueform.CM45V3aK.0.0.35.js} +1 -1
  5. package/dist/interface/{@vueuse.gCLhD0yk.0.0.33.js → @vueuse.B82NMNOO.0.0.35.js} +1 -1
  6. package/dist/interface/{Account.CWbHPiu-.0.0.33.js → Account.BdfsK3VU.0.0.35.js} +1 -1
  7. package/dist/interface/{Adminpanel.z-UHYa4g.0.0.33.js → Adminpanel.CLVaO_8q.0.0.35.js} +2 -2
  8. package/dist/interface/{Appearance.I8-hZ0yO.0.0.33.js → Appearance.DHxABbCS.0.0.35.js} +1 -1
  9. package/dist/interface/{Backup.DzXiUk8l.0.0.33.js → Backup.BHRInPzq.0.0.35.js} +1 -1
  10. package/dist/interface/{Camera.D9KBZefY.0.0.33.js → Camera.BO0Akyex.0.0.35.js} +1 -1
  11. package/dist/interface/{Cameras.-4rDjdQ4.0.0.33.js → Cameras.B2-VpQhj.0.0.35.js} +1 -1
  12. package/dist/interface/{Camview.DftwhAUg.0.0.33.js → Camview.DPI2mxVR.0.0.35.js} +1 -1
  13. package/dist/interface/{Config.DhA_rGC0.0.0.33.js → Config.DMlBFHR6.0.0.35.js} +1 -1
  14. package/dist/interface/{Console.Clp12nX9.0.0.33.js → Console.BtpWS8JB.0.0.35.js} +1 -1
  15. package/dist/interface/{FirstSteps.Bq01IH6F.0.0.33.js → FirstSteps.BzlNqD0p.0.0.35.js} +1 -1
  16. package/dist/interface/{NewCamera.BrO7Ap9x.0.0.33.js → NewCamera.CGbdXq3a.0.0.35.js} +1 -1
  17. package/dist/interface/{Plugin.UE6IWsNo.0.0.33.js → Plugin.nScSrs_L.0.0.35.js} +1 -1
  18. package/dist/interface/{Plugins.DW9sNc2M.0.0.33.js → Plugins.DKPey31K.0.0.35.js} +1 -1
  19. package/dist/interface/Recordings.DS_U3-jD.0.0.35.js +1 -0
  20. package/dist/interface/Recordings.e5CrjtTP.0.0.35.js +1 -0
  21. package/dist/interface/{Settings.Ty_cwkdv.0.0.33.js → Settings.CsMvl02v.0.0.35.js} +1 -1
  22. package/dist/interface/{System.BU9eQKID.0.0.33.js → System.B2FRbCfU.0.0.35.js} +1 -1
  23. package/dist/interface/{User.DpRMp-qe.0.0.33.js → User.CcoT1zWP.0.0.35.js} +1 -1
  24. package/dist/interface/{VConfigEditor.vue_vue_type_script_setup_true_lang.CMbluYQQ.0.0.33.js → VConfigEditor.vue_vue_type_script_setup_true_lang.BwA0QXRL.0.0.35.js} +2 -2
  25. package/dist/interface/{VConsole.DU5-Eez0.0.0.33.js → VConsole.CyfMSuPf.0.0.35.js} +1 -1
  26. package/dist/interface/{VPlayer.DUQsEmwu.0.0.33.js → VPlayer.RJp0YZQ0.0.0.35.js} +1 -1
  27. package/dist/interface/{VPluginCard.BEDq_pda.0.0.33.js → VPluginCard.BkF9w58r.0.0.35.js} +1 -1
  28. package/dist/interface/{ace-builds.BHcCyE6O.0.0.33.js → ace-builds.Cif5VP1j.0.0.35.js} +39 -39
  29. package/dist/interface/{apexcharts.rXmEU4v_.0.0.33.js → apexcharts.CpcWeSt-.0.0.35.js} +1 -1
  30. package/dist/interface/assets/{VPlayer.0.0.33.DNtDNhfg.css → VPlayer.0.0.35.BYt3H056.css} +1 -1
  31. package/dist/interface/{backup.c9VOE5WJ.0.0.33.js → backup.D5iOmF0d.0.0.35.js} +1 -1
  32. package/dist/interface/{dnd-core.CmBpsKMn.0.0.33.js → dnd-core.BAetuYLg.0.0.35.js} +1 -1
  33. package/dist/interface/{draggabilly.BSk931Y8.0.0.33.js → draggabilly.CNS65Y-g.0.0.35.js} +1 -1
  34. package/dist/interface/{engine.io-client.DDFwxmTi.0.0.33.js → engine.io-client.DID1Gi0P.0.0.35.js} +1 -1
  35. package/dist/interface/{ev-emitter.BTIstChl.0.0.33.js → ev-emitter.RQQX1hXW.0.0.35.js} +1 -1
  36. package/dist/interface/{fast-deep-equal.XstPW1Wq.0.0.33.js → fast-deep-equal.B4lecdU3.0.0.35.js} +1 -1
  37. package/dist/interface/{highlight.js.DaOWSZ7B.0.0.33.js → highlight.js.C7Ow26Hk.0.0.35.js} +1 -1
  38. package/dist/interface/index.html +32 -32
  39. package/dist/interface/{linkify-it.Dv9aY5q8.0.0.33.js → linkify-it.D-6UzBVj.0.0.35.js} +1 -1
  40. package/dist/interface/main.BEqkX0V2.0.0.35.js +5 -0
  41. package/dist/interface/{markdown-it.D9MLaG-w.0.0.33.js → markdown-it.Dbkx6Dot.0.0.35.js} +1 -1
  42. package/dist/interface/{nprogress.3HciDHQO.0.0.33.js → nprogress.C5XxOxB7.0.0.35.js} +1 -1
  43. package/dist/interface/{pinia.Br3sCQcG.0.0.33.js → pinia.5X5MHLu-.0.0.35.js} +3 -3
  44. package/dist/interface/{plugins.BnV5jB0N.0.0.33.js → plugins.pgSGySL7.0.0.35.js} +1 -1
  45. package/dist/interface/{qrcode.hk1zRA62.0.0.33.js → qrcode.CTIH5Uuh.0.0.35.js} +1 -1
  46. package/dist/interface/{react-dnd-touch-backend.BeXmxi8o.0.0.33.js → react-dnd-touch-backend.B1m761Xd.0.0.35.js} +1 -1
  47. package/dist/interface/{rxjs.B6rmXItN.0.0.33.js → rxjs.D3MMpuwm.0.0.35.js} +1 -1
  48. package/dist/interface/{socket.io-client.BFWnk007.0.0.33.js → socket.io-client.DStxZJaW.0.0.35.js} +1 -1
  49. package/dist/interface/{socket.io-parser.CayG1SIb.0.0.33.js → socket.io-parser.Bu59a6yj.0.0.35.js} +1 -1
  50. package/dist/interface/sw.js +1 -1
  51. package/dist/interface/{system.BUjEWiuz.0.0.33.js → system.CrtJGfyt.0.0.35.js} +1 -1
  52. package/dist/interface/{unidragger.D0TMFaUW.0.0.33.js → unidragger.C4h_hc5V.0.0.35.js} +1 -1
  53. package/dist/interface/{vee-validate.Du7Lzkv1.0.0.33.js → vee-validate.DXuKpF9H.0.0.35.js} +1 -1
  54. package/dist/interface/{vue-i18n.DyM9PJxL.0.0.33.js → vue-i18n.CSHG5POd.0.0.35.js} +1 -1
  55. package/dist/interface/{vue-inline-svg.5Dn4CwMZ.0.0.33.js → vue-inline-svg.ZwVRfyPJ.0.0.35.js} +1 -1
  56. package/dist/interface/{vue-router.By_mkKfe.0.0.33.js → vue-router.DeKO-TI6.0.0.35.js} +1 -1
  57. package/dist/interface/{vue3-apexcharts.6yp1mySi.0.0.33.js → vue3-apexcharts.fn58K6eo.0.0.35.js} +1 -1
  58. package/dist/interface/{vue3-dnd.4_xGvIwR.0.0.33.js → vue3-dnd.Cs1Zm8do.0.0.35.js} +1 -1
  59. package/dist/interface/{vue3-toastify.CQ-2s-IE.0.0.33.js → vue3-toastify.Zbp9eYzV.0.0.35.js} +1 -1
  60. package/dist/interface/{vuetify.C21gLyM0.0.0.33.js → vuetify.DVA-3FxH.0.0.35.js} +1 -1
  61. package/dist/interface/{workbox-3e911b1d.js → workbox-5ffe50d4.js} +1 -1
  62. package/dist/server/package.json +16 -16
  63. package/dist/server/requirements.txt +2 -2
  64. package/dist/server/src/api/controllers/cameras.controller.js +1 -1
  65. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  66. package/dist/server/src/api/database/index.d.ts +1 -1
  67. package/dist/server/src/api/database/index.js +10 -43
  68. package/dist/server/src/api/database/index.js.map +1 -1
  69. package/dist/server/src/api/database/migration.js +6 -0
  70. package/dist/server/src/api/database/migration.js.map +1 -1
  71. package/dist/server/src/api/database/selfcheck.js +3 -3
  72. package/dist/server/src/api/database/selfcheck.js.map +1 -1
  73. package/dist/server/src/api/go2rtc/api/streams.d.ts +2 -1
  74. package/dist/server/src/api/go2rtc/api/streams.js +11 -5
  75. package/dist/server/src/api/go2rtc/api/streams.js.map +1 -1
  76. package/dist/server/src/api/go2rtc/types.d.ts +6 -6
  77. package/dist/server/src/api/schemas/go2rtc.schema.d.ts +4 -4
  78. package/dist/server/src/api/schemas/go2rtc.schema.js +1 -1
  79. package/dist/server/src/api/schemas/go2rtc.schema.js.map +1 -1
  80. package/dist/server/src/api/services/cameras.service.d.ts +2 -4
  81. package/dist/server/src/api/services/cameras.service.js +38 -118
  82. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  83. package/dist/server/src/api/utils/cameraSource.d.ts +6 -2
  84. package/dist/server/src/api/utils/cameraSource.js +35 -18
  85. package/dist/server/src/api/utils/cameraSource.js.map +1 -1
  86. package/dist/server/src/camera/controller.d.ts +2 -6
  87. package/dist/server/src/camera/controller.js +114 -227
  88. package/dist/server/src/camera/controller.js.map +1 -1
  89. package/dist/server/src/nats/proxy/cameraDevice.d.ts +2 -2
  90. package/dist/server/src/nats/proxy/cameraDevice.js +3 -2
  91. package/dist/server/src/nats/proxy/cameraDevice.js.map +1 -1
  92. package/dist/server/src/plugins/worker.js +1 -1
  93. package/dist/server/src/services/config/types.d.ts +1 -1
  94. package/package.json +16 -16
  95. package/dist/interface/Recordings.C9Ryu3Sl.0.0.33.js +0 -1
  96. package/dist/interface/Recordings.QL-Bpgsf.0.0.33.js +0 -1
  97. package/dist/interface/main.8cYeI-zT.0.0.33.js +0 -5
  98. /package/dist/interface/{@babel.l0sNRNKZ.0.0.33.js → @babel.l0sNRNKZ.0.0.35.js} +0 -0
  99. /package/dist/interface/{@intlify.DXtFJcML.0.0.33.js → @intlify.DXtFJcML.0.0.35.js} +0 -0
  100. /package/dist/interface/{@mdi.D-fmakQN.0.0.33.js → @mdi.D-fmakQN.0.0.35.js} +0 -0
  101. /package/dist/interface/{@react-dnd.CcwRs9xb.0.0.33.js → @react-dnd.CcwRs9xb.0.0.35.js} +0 -0
  102. /package/dist/interface/{@socket.io.Dkula2eQ.0.0.33.js → @socket.io.Dkula2eQ.0.0.35.js} +0 -0
  103. /package/dist/interface/{@turf.l0sNRNKZ.0.0.33.js → @turf.l0sNRNKZ.0.0.35.js} +0 -0
  104. /package/dist/interface/{@xterm.CECGCAs9.0.0.33.js → @xterm.DaOfJRbL.0.0.35.js} +0 -0
  105. /package/dist/interface/assets/{@vueform.0.0.33.CroAHJs8.css → @vueform.0.0.35.CroAHJs8.css} +0 -0
  106. /package/dist/interface/assets/{@xterm.0.0.33.CFbL2ovg.css → @xterm.0.0.35.CFbL2ovg.css} +0 -0
  107. /package/dist/interface/assets/{Account.0.0.33.J7oAjogS.css → Account.0.0.35.J7oAjogS.css} +0 -0
  108. /package/dist/interface/assets/{Adminpanel.0.0.33.a3t1v3MB.css → Adminpanel.0.0.35.a3t1v3MB.css} +0 -0
  109. /package/dist/interface/assets/{Backup.0.0.33.CX0rT0QJ.css → Backup.0.0.35.CX0rT0QJ.css} +0 -0
  110. /package/dist/interface/assets/{Camera.0.0.33.DurX54CO.css → Camera.0.0.35.DurX54CO.css} +0 -0
  111. /package/dist/interface/assets/{Cameras.0.0.33.Buf1Dgce.css → Cameras.0.0.35.Buf1Dgce.css} +0 -0
  112. /package/dist/interface/assets/{Camview.0.0.33.B7Cja2ry.css → Camview.0.0.35.B7Cja2ry.css} +0 -0
  113. /package/dist/interface/assets/{Config.0.0.33.DNGo2krN.css → Config.0.0.35.DNGo2krN.css} +0 -0
  114. /package/dist/interface/assets/{Console.0.0.33.Bh8l9QnM.css → Console.0.0.35.Bh8l9QnM.css} +0 -0
  115. /package/dist/interface/assets/{FirstSteps.0.0.33.BHh3CorE.css → FirstSteps.0.0.35.BHh3CorE.css} +0 -0
  116. /package/dist/interface/assets/{NewCamera.0.0.33.Cq8GzeJ7.css → NewCamera.0.0.35.Cq8GzeJ7.css} +0 -0
  117. /package/dist/interface/assets/{Plugin.0.0.33.DJbgaQc1.css → Plugin.0.0.35.DJbgaQc1.css} +0 -0
  118. /package/dist/interface/assets/{Plugins.0.0.33.DXSoO9M1.css → Plugins.0.0.35.DXSoO9M1.css} +0 -0
  119. /package/dist/interface/assets/{Settings.0.0.33.CVmui2kE.css → Settings.0.0.35.CVmui2kE.css} +0 -0
  120. /package/dist/interface/assets/{User.0.0.33.BiGtIFqt.css → User.0.0.35.BiGtIFqt.css} +0 -0
  121. /package/dist/interface/assets/{VConsole.0.0.33.BCqKHpmJ.css → VConsole.0.0.35.BCqKHpmJ.css} +0 -0
  122. /package/dist/interface/assets/{VPluginCard.0.0.33.C8Lj6X-J.css → VPluginCard.0.0.35.C8Lj6X-J.css} +0 -0
  123. /package/dist/interface/assets/{highlight.0.0.33.Ch2EwETz.css → highlight.0.0.35.Ch2EwETz.css} +0 -0
  124. /package/dist/interface/assets/{logo-256.0.0.33.BCQk9H1-.png → logo-256.0.0.35.BCQk9H1-.png} +0 -0
  125. /package/dist/interface/assets/{logo-512.0.0.33.DLKVOU2S.png → logo-512.0.0.35.DLKVOU2S.png} +0 -0
  126. /package/dist/interface/assets/{logo.0.0.33.DmEiRk0z.png → logo.0.0.35.DmEiRk0z.png} +0 -0
  127. /package/dist/interface/assets/{main.0.0.33.k2hmg3ho.css → main.0.0.35.k2hmg3ho.css} +0 -0
  128. /package/dist/interface/assets/{mode-json.0.0.33.Br7xisR1.js → mode-json.0.0.35.Br7xisR1.js} +0 -0
  129. /package/dist/interface/assets/{mode-yaml.0.0.33.CIYL8U3d.js → mode-yaml.0.0.35.CIYL8U3d.js} +0 -0
  130. /package/dist/interface/assets/{vue3-toastify.0.0.33.DHXAGmwn.css → vue3-toastify.0.0.35.DHXAGmwn.css} +0 -0
  131. /package/dist/interface/assets/{vuetify.0.0.33.CgGsw6iO.css → vuetify.0.0.35.CgGsw6iO.css} +0 -0
  132. /package/dist/interface/{axios.C-n2IhIP.0.0.33.js → axios.C-n2IhIP.0.0.35.js} +0 -0
  133. /package/dist/interface/{birpc.l0sNRNKZ.0.0.33.js → birpc.l0sNRNKZ.0.0.35.js} +0 -0
  134. /package/dist/interface/{compare-versions.DqEOhma6.0.0.33.js → compare-versions.DqEOhma6.0.0.35.js} +0 -0
  135. /package/dist/interface/{dijkstrajs.D_NXgYpA.0.0.33.js → dijkstrajs.D_NXgYpA.0.0.35.js} +0 -0
  136. /package/dist/interface/{engine.io-parser.BiEtp6m2.0.0.33.js → engine.io-parser.BiEtp6m2.0.0.35.js} +0 -0
  137. /package/dist/interface/{entities.C20TfXL6.0.0.33.js → entities.C20TfXL6.0.0.35.js} +0 -0
  138. /package/dist/interface/{get-size.D1dS-IaP.0.0.33.js → get-size.D1dS-IaP.0.0.35.js} +0 -0
  139. /package/dist/interface/{hookable.B8xFkYCm.0.0.33.js → hookable.B8xFkYCm.0.0.35.js} +0 -0
  140. /package/dist/interface/{mdurl.k9Sl0PQj.0.0.33.js → mdurl.k9Sl0PQj.0.0.35.js} +0 -0
  141. /package/dist/interface/{perfect-debounce.Cp2ysxOb.0.0.33.js → perfect-debounce.Cp2ysxOb.0.0.35.js} +0 -0
  142. /package/dist/interface/{point-in-polygon-hao.l0sNRNKZ.0.0.33.js → point-in-polygon-hao.l0sNRNKZ.0.0.35.js} +0 -0
  143. /package/dist/interface/{punycode.js.Dj65hjkv.0.0.33.js → punycode.js.Dj65hjkv.0.0.35.js} +0 -0
  144. /package/dist/interface/{react-dnd-html5-backend.1HQjlkwI.0.0.33.js → react-dnd-html5-backend.1HQjlkwI.0.0.35.js} +0 -0
  145. /package/dist/interface/{redux.CuxFRhX_.0.0.33.js → redux.CuxFRhX_.0.0.35.js} +0 -0
  146. /package/dist/interface/{sweepline-intersections.l0sNRNKZ.0.0.33.js → sweepline-intersections.l0sNRNKZ.0.0.35.js} +0 -0
  147. /package/dist/interface/{tslib.9k7AwCpt.0.0.33.js → tslib.9k7AwCpt.0.0.35.js} +0 -0
  148. /package/dist/interface/{types.Cz9TaZAP.0.0.33.js → types.Cz9TaZAP.0.0.35.js} +0 -0
  149. /package/dist/interface/{uc.micro.kMc2yuuw.0.0.33.js → uc.micro.kMc2yuuw.0.0.35.js} +0 -0
  150. /package/dist/interface/{utils.mAKpSMLY.0.0.33.js → utils.mAKpSMLY.0.0.35.js} +0 -0
  151. /package/dist/interface/{uuid.Ch9TGLTe.0.0.33.js → uuid.Ch9TGLTe.0.0.35.js} +0 -0
  152. /package/dist/interface/{vue.l0sNRNKZ.0.0.33.js → vue.l0sNRNKZ.0.0.35.js} +0 -0
  153. /package/dist/interface/{zod.DnW1_kUe.0.0.33.js → zod.DnW1_kUe.0.0.35.js} +0 -0
@@ -1,5 +1,6 @@
1
+ import { generateSdp, getAudioCodecProperties, getVideoCodecProperties, isSameAudioStreamInfo, isSameVideoStreamInfo, normalizeAudioCodecs, normalizeVideoCodecs, } from '@camera.ui/common/camera';
1
2
  import { createSourceName, isEqual } from '@camera.ui/common/utils';
2
- import { CameraDevice, CameraInterface, CameraPrebufferInterface, CameraPTZInterface, WeriftSession } from '@camera.ui/plugineer';
3
+ import { CameraDevice, CameraInterface, CameraPrebufferInterface, CameraPTZInterface, RTSPSession, WeriftSession } from '@camera.ui/plugineer';
3
4
  import { pathExists } from 'fs-extra/esm';
4
5
  import { createWriteStream, ftruncate, read, rmSync } from 'node:fs';
5
6
  import { open, stat } from 'node:fs/promises';
@@ -39,32 +40,47 @@ export class CameraController extends CameraDevice {
39
40
  return this.cameraObject;
40
41
  }
41
42
  get sources() {
42
- return this._sources.filter((source) => !source.internal);
43
- }
44
- get internalSources() {
45
- return this._sources
43
+ const sources = JSON.parse(JSON.stringify(this.cameraSubject.getValue().sources));
44
+ return sources
45
+ .filter((source) => !source.internal)
46
46
  .map((source) => {
47
47
  return {
48
48
  ...source,
49
- type: source.name.endsWith(' AAC') ? 'aac' : source.name.endsWith(' OPUS') ? 'opus' : 'pcma',
49
+ getPrebufferingState: (container) => {
50
+ return this.prebufferDelegate.getPrebufferingState(source.name, container);
51
+ },
52
+ probeStream: (probeConfig, refresh = false) => {
53
+ return this.probeStream(source._id, probeConfig, refresh);
54
+ },
55
+ createWebRTCSession: (options) => {
56
+ return new WeriftSession(this, source, options);
57
+ },
58
+ createRTSPSession: (options) => {
59
+ return new RTSPSession(this, source, options);
60
+ },
61
+ getInternalSource: (type) => {
62
+ return this.internalSources.find((s) => s._id === `${source._id}-${type}`);
63
+ },
50
64
  };
51
- })
52
- .filter((source) => source.internal);
65
+ });
53
66
  }
54
- get _sources() {
67
+ get internalSources() {
55
68
  const sources = JSON.parse(JSON.stringify(this.cameraSubject.getValue().sources));
56
- return sources.map((source) => {
69
+ return sources
70
+ .filter((source) => source.internal)
71
+ .map((source) => {
57
72
  return {
58
73
  ...source,
59
- getPrebufferingState: (container) => {
60
- return this.prebufferDelegate.getPrebufferingState(source.name, container);
74
+ probeStream: (probeConfig, refresh = false) => {
75
+ return this.probeStream(source._id, probeConfig, refresh);
61
76
  },
62
- probeStream: (refresh = false) => {
63
- return this.probeStream(source._id, refresh);
77
+ createWebRTCSession: (options) => {
78
+ return new WeriftSession(this, source, options);
64
79
  },
65
- createSession: (options) => {
66
- return new WeriftSession(this, source, this.logger, options);
80
+ createRTSPSession: (options) => {
81
+ return new RTSPSession(this, source, options);
67
82
  },
83
+ type: source.name.endsWith(' AAC') ? 'aac' : source.name.endsWith(' OPUS') ? 'opus' : 'pcma',
68
84
  };
69
85
  });
70
86
  }
@@ -108,7 +124,7 @@ export class CameraController extends CameraDevice {
108
124
  async updateState(stateName, eventData) {
109
125
  super.updateStateInternal(stateName, eventData, false);
110
126
  }
111
- async probeStream(sourceId, refresh = false) {
127
+ async probeStream(sourceId, probeConfig, refresh = false) {
112
128
  let streamInfo = this.streamInfos.get(sourceId);
113
129
  if (streamInfo && !refresh) {
114
130
  return Promise.resolve(streamInfo);
@@ -119,11 +135,10 @@ export class CameraController extends CameraDevice {
119
135
  }
120
136
  try {
121
137
  const src = createSourceName(this.name, cameraSource?.name);
122
- const probe = await this.go2rtcApi.streamsApi.probeStreamSource({ src });
123
- const producer = probe.producers[0];
124
- const videoStreamInfo = this.generateVideoStreamInfo(producer);
125
- const audioStreamInfo = this.generateAudioStreamInfo(producer);
126
- const sdp = this.generateSdp(videoStreamInfo, audioStreamInfo);
138
+ const probe = await this.go2rtcApi.streamsApi.probeStreamSource({ src }, probeConfig);
139
+ const videoStreamInfo = this.generateVideoStreamInfo(probe.producers);
140
+ const audioStreamInfo = this.generateAudioStreamInfo(probe.producers);
141
+ const sdp = generateSdp(videoStreamInfo, audioStreamInfo);
127
142
  streamInfo = {
128
143
  sdp,
129
144
  video: videoStreamInfo,
@@ -131,8 +146,8 @@ export class CameraController extends CameraDevice {
131
146
  };
132
147
  this.streamInfos.set(sourceId, streamInfo);
133
148
  }
134
- catch {
135
- //
149
+ catch (err) {
150
+ this.logger.error('Error while probing stream source', err);
136
151
  }
137
152
  return streamInfo;
138
153
  }
@@ -277,213 +292,85 @@ export class CameraController extends CameraDevice {
277
292
  isCameraEvent(stateName) {
278
293
  return stateName === 'updated' || stateName === 'removed' || stateName === 'cameraState';
279
294
  }
280
- generateAudioStreamInfo(producer) {
281
- const infos = producer.medias
282
- .filter((m) => m.startsWith('audio'))
283
- .map((m) => {
284
- const audioCodec = m.split(', ')[2].split('/')[0];
285
- const baseDirection = m.split(', ')[1];
286
- let codec;
287
- let ffmpegCodec;
288
- const direction = baseDirection === 'recvonly' ? 'sendonly' : 'recvonly';
289
- const isTalkback = m.startsWith('audio') && m.includes('sendonly');
290
- switch (audioCodec) {
291
- case 'PCMU':
292
- codec = 'PCMU';
293
- ffmpegCodec = 'pcm_mulaw';
294
- break;
295
- case 'PCMA':
296
- codec = 'PCMA';
297
- ffmpegCodec = 'pcm_alaw';
298
- break;
299
- case 'MPEG4-GENERIC':
300
- case 'ELD':
301
- codec = 'MPEG4-GENERIC';
302
- ffmpegCodec = 'aac';
303
- break;
304
- case 'OPUS':
305
- codec = 'opus';
306
- ffmpegCodec = 'libopus';
307
- break;
308
- case 'G722':
309
- codec = 'G722';
310
- ffmpegCodec = 'g722';
311
- break;
312
- case 'MPA':
313
- codec = 'MPA';
314
- ffmpegCodec = 'mp3';
315
- break;
316
- case 'L16':
317
- codec = 'PCM';
318
- ffmpegCodec = 'pcm_s16be';
319
- break;
320
- case 'PCML':
321
- codec = 'PCM';
322
- ffmpegCodec = 'pcm_s16le';
323
- break;
324
- case 'FLAC':
325
- codec = 'FLAC';
326
- ffmpegCodec = 'flac';
327
- break;
328
- default:
329
- codec = 'PCM';
330
- ffmpegCodec = 'pcm_s16le';
331
- break;
332
- }
333
- let properties;
334
- if (isTalkback) {
335
- const sender = producer.senders?.[0];
336
- const go2rtcCodec = sender?.codec;
337
- properties = this.getAudioCodecProperties(codec, go2rtcCodec);
338
- }
339
- else {
340
- const receiver = producer.receivers?.find((r) => r.codec.codec_name === codec);
341
- const go2rtcCodec = receiver?.codec;
342
- properties = this.getAudioCodecProperties(codec, go2rtcCodec);
343
- }
344
- return {
345
- codec,
346
- ffmpegCodec,
347
- properties,
348
- isTalkback,
349
- direction,
350
- };
351
- });
352
- return infos;
353
- }
354
- generateVideoStreamInfo(producer) {
355
- const infos = producer.medias
356
- .filter((m) => m.startsWith('video'))
357
- .map((m) => {
358
- // "medias": [
359
- // "video, recvonly, H264",
360
- // "audio, recvonly, OPUS/48000/2",
361
- // "audio, sendonly, OPUS/48000/2"
362
- // ],
363
- const videoCodec = m.split(', ')[2].split('/')[0];
364
- let codec;
365
- let ffmpegCodec;
366
- const direction = 'sendonly';
367
- switch (videoCodec) {
368
- case 'H264':
369
- codec = 'H264';
370
- ffmpegCodec = 'h264';
371
- break;
372
- case 'H265':
373
- codec = 'H265';
374
- ffmpegCodec = 'hevc';
375
- break;
376
- case 'VP8':
377
- codec = 'VP8';
378
- ffmpegCodec = 'vp8';
379
- break;
380
- case 'VP9':
381
- codec = 'VP9';
382
- ffmpegCodec = 'vp9';
383
- break;
384
- case 'AV1':
385
- codec = 'AV1';
386
- ffmpegCodec = 'av1';
387
- break;
388
- case 'JPEG':
389
- codec = 'JPEG';
390
- ffmpegCodec = 'mjpeg';
391
- break;
392
- case 'RAW':
393
- codec = 'RAW';
394
- ffmpegCodec = 'rawvideo';
395
- break;
396
- default:
397
- codec = 'H264';
398
- ffmpegCodec = 'h264';
399
- break;
295
+ generateAudioStreamInfo(producers) {
296
+ const audioStreamInfos = [];
297
+ for (const producer of producers) {
298
+ for (const media of producer.medias ?? []) {
299
+ if (media.startsWith('audio')) {
300
+ const audioCodec = media.split(', ')[2].split('/')[0];
301
+ const baseDirection = media.split(', ')[1];
302
+ const direction = baseDirection === 'recvonly' ? 'sendonly' : 'recvonly';
303
+ const isTalkback = media.startsWith('audio') && media.includes('sendonly');
304
+ const { codec, ffmpegCodec } = normalizeAudioCodecs(audioCodec);
305
+ let go2rtcCodec;
306
+ if (isTalkback) {
307
+ const sender = producer.senders?.find((r) => r.codec.codec_name === codec);
308
+ go2rtcCodec = sender?.codec;
309
+ }
310
+ else {
311
+ const receiver = producer.receivers?.find((r) => r.codec.codec_name === codec);
312
+ go2rtcCodec = receiver?.codec;
313
+ }
314
+ const rtpInfo = go2rtcCodec
315
+ ? {
316
+ codec: go2rtcCodec.codec_name,
317
+ encoding: go2rtcCodec.channels,
318
+ rate: go2rtcCodec.sample_rate,
319
+ }
320
+ : undefined;
321
+ const properties = getAudioCodecProperties(codec, rtpInfo);
322
+ const info = {
323
+ codec,
324
+ ffmpegCodec,
325
+ properties,
326
+ direction,
327
+ };
328
+ const audioStreamExist = audioStreamInfos.some((audioStreamInfo) => isSameAudioStreamInfo(audioStreamInfo, info));
329
+ if (!audioStreamExist) {
330
+ audioStreamInfos.push(info);
331
+ }
332
+ }
400
333
  }
401
- const receiver = producer.receivers?.find((r) => r.codec.codec_name === codec);
402
- const go2rtcCodec = receiver?.codec;
403
- const properties = this.getVideoCodecProperties(codec, go2rtcCodec);
404
- return {
405
- codec,
406
- ffmpegCodec,
407
- properties,
408
- direction,
409
- };
410
- });
411
- return infos[0];
412
- }
413
- getAudioCodecProperties(codecName, codec) {
414
- const defaultCodecProperties = {
415
- PCMU: { sampleRate: 8000, channels: 1, payloadType: 0 },
416
- PCMA: { sampleRate: 8000, channels: 1, payloadType: 8 },
417
- 'MPEG4-GENERIC': { sampleRate: 16000, channels: 1, payloadType: 97 },
418
- opus: { sampleRate: 48000, channels: 2, payloadType: 101 },
419
- G722: { sampleRate: 8000, channels: 1, payloadType: 9 },
420
- MPA: { sampleRate: 48000, channels: 2, payloadType: 14 },
421
- PCM: { sampleRate: 48000, channels: 1, payloadType: 10 },
422
- FLAC: { sampleRate: 48000, channels: 2, payloadType: 98 },
423
- };
424
- const fallbackProperties = defaultCodecProperties.PCM;
425
- if (!codec) {
426
- return defaultCodecProperties[codecName] || fallbackProperties;
427
334
  }
428
- const defaultProps = defaultCodecProperties[codecName] || fallbackProperties;
429
- return {
430
- sampleRate: codec.sample_rate ?? defaultProps.sampleRate,
431
- channels: codec.channels ?? defaultProps.channels,
432
- payloadType: defaultProps.payloadType,
433
- };
434
- }
435
- getVideoCodecProperties(codecName, codec) {
436
- const defaultCodecProperties = {
437
- H264: { clockRate: 90000, payloadType: 96 },
438
- H265: { clockRate: 90000, payloadType: 96 },
439
- VP8: { clockRate: 90000, payloadType: 96 },
440
- VP9: { clockRate: 90000, payloadType: 96 },
441
- AV1: { clockRate: 90000, payloadType: 96 },
442
- JPEG: { clockRate: 90000, payloadType: 96 },
443
- RAW: { clockRate: 90000, payloadType: 96 },
444
- };
445
- const fallbackProperties = defaultCodecProperties.H264;
446
- if (!codec) {
447
- return defaultCodecProperties[codecName] || fallbackProperties;
448
- }
449
- const defaultProps = defaultCodecProperties[codecName] || fallbackProperties;
450
- return {
451
- clockRate: codec.sample_rate ?? defaultProps.clockRate,
452
- payloadType: defaultProps.payloadType,
453
- };
454
- }
455
- generateSdp(video, audios) {
456
- const sdpLines = ['v=0', 'o=- ' + Date.now() + ' ' + Math.floor(Date.now() / 1000) + ' IN IP4 127.0.0.1', 's=Stream', 'c=IN IP4 0.0.0.0', 't=0 0'];
457
- // Video track
458
- const videoCodec = video.codec;
459
- const videoPayloadType = video.properties.payloadType;
460
- const videoClockRate = video.properties.clockRate;
461
- const videoDirection = video.direction;
462
- sdpLines.push(`m=video 0 RTP/AVP ${videoPayloadType}`);
463
- sdpLines.push('c=IN IP4 0.0.0.0');
464
- sdpLines.push(`a=rtpmap:${videoPayloadType} ${videoCodec}/${videoClockRate}`);
465
- // Add any codec-specific attributes
466
- if (videoCodec === 'H264') {
467
- sdpLines.push(`a=fmtp:${videoPayloadType} profile-level-id=42e01f;packetization-mode=1`);
468
- }
469
- sdpLines.push(`a=${videoDirection}`);
470
- // Audio track
471
- for (const audio of audios) {
472
- const audioCodec = audio.codec;
473
- const audioPayloadType = audio.properties.payloadType;
474
- const audioSampleRate = audio.properties.sampleRate;
475
- const audioChannels = audio.properties.channels;
476
- const audioDirection = audio.direction;
477
- sdpLines.push(`m=audio 0 RTP/AVP ${audioPayloadType}`);
478
- sdpLines.push('c=IN IP4 0.0.0.0');
479
- sdpLines.push(`a=rtpmap:${audioPayloadType} ${audioCodec}/${audioSampleRate}${audioChannels > 1 ? `/${audioChannels}` : ''}`);
480
- // Add any codec-specific attributes
481
- if (audioCodec === 'opus') {
482
- sdpLines.push(`a=fmtp:${audioPayloadType} minptime=10;useinbandfec=1`);
335
+ return audioStreamInfos;
336
+ }
337
+ generateVideoStreamInfo(producers) {
338
+ const videoStreamInfos = [];
339
+ for (const producer of producers) {
340
+ for (const media of producer.medias ?? []) {
341
+ if (media.startsWith('video')) {
342
+ // "medias": [
343
+ // "video, recvonly, H264",
344
+ // "audio, recvonly, OPUS/48000/2",
345
+ // "audio, sendonly, OPUS/48000/2"
346
+ // ],
347
+ const videoCodec = media.split(', ')[2].split('/')[0];
348
+ const direction = 'sendonly';
349
+ const { codec, ffmpegCodec } = normalizeVideoCodecs(videoCodec);
350
+ const receiver = producer.receivers?.find((r) => r.codec.codec_name === codec);
351
+ const go2rtcCodec = receiver?.codec;
352
+ const rtpInfo = go2rtcCodec
353
+ ? {
354
+ codec: go2rtcCodec.codec_name,
355
+ encoding: go2rtcCodec.channels,
356
+ rate: go2rtcCodec.sample_rate,
357
+ }
358
+ : undefined;
359
+ const properties = getVideoCodecProperties(codec, rtpInfo);
360
+ const info = {
361
+ codec,
362
+ ffmpegCodec,
363
+ properties,
364
+ direction,
365
+ };
366
+ const videoStreamExist = videoStreamInfos.some((videoStreamInfo) => isSameVideoStreamInfo(videoStreamInfo, info));
367
+ if (!videoStreamExist) {
368
+ videoStreamInfos.push(info);
369
+ }
370
+ }
483
371
  }
484
- sdpLines.push(`a=${audioDirection}`);
485
372
  }
486
- return sdpLines.join('\n');
373
+ return videoStreamInfos;
487
374
  }
488
375
  writeHeader() {
489
376
  const date = new Date().toLocaleString('en-US');
@@ -1 +1 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../src/camera/controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../src/camera/controller.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { MessageQueue, ProxyMessageStructure } from '@camera.ui/common';
2
2
  import type { CameraDeviceProxyMethods, CameraInterfaces, RefreshedStates } from '@camera.ui/plugineer';
3
- import type { CameraConfigInputSettings, ProbeStream, SetValues } from '@camera.ui/types';
3
+ import type { CameraConfigInputSettings, ProbeConfig, ProbeStream, SetValues } from '@camera.ui/types';
4
4
  import type { MethodKeys, MethodType } from '../../types.js';
5
5
  export declare class CameraDeviceProxy implements CameraDeviceProxyMethods {
6
6
  private api;
@@ -12,7 +12,7 @@ export declare class CameraDeviceProxy implements CameraDeviceProxyMethods {
12
12
  connect(cameraId: string, pluginId: string): void;
13
13
  disconnect(cameraId: string, pluginId: string): void;
14
14
  updateState<T extends keyof SetValues>(stateName: T, eventData: SetValues[T], cameraId: string, pluginId: string): Promise<void>;
15
- probeStream(sourceId: string, refresh: boolean, cameraId: string): Promise<ProbeStream | undefined>;
15
+ probeStream(sourceId: string, probeConfig: ProbeConfig | undefined, refresh: boolean, cameraId: string): Promise<ProbeStream | undefined>;
16
16
  addCameraSource(source: CameraConfigInputSettings, cameraId: string, pluginId: string): Promise<void>;
17
17
  updateCameraSource(sourceId: string, source: Partial<CameraConfigInputSettings>, cameraId: string, pluginId: string): Promise<void>;
18
18
  removeCameraSource(sourceId: string, cameraId: string, pluginId: string): Promise<void>;
@@ -17,6 +17,7 @@ export class CameraDeviceProxy {
17
17
  this.pluginsService = new PluginsService();
18
18
  this.messageQueue = messageQueue;
19
19
  }
20
+ // TODO: fix ts-ignore
20
21
  // @ts-ignore
21
22
  connect(cameraId, pluginId) {
22
23
  const cameraController = this.api.getCamera(cameraId);
@@ -69,12 +70,12 @@ export class CameraDeviceProxy {
69
70
  await cameraController.updateState(stateName, eventData);
70
71
  }
71
72
  // @ts-ignore
72
- async probeStream(sourceId, refresh, cameraId) {
73
+ async probeStream(sourceId, probeConfig, refresh, cameraId) {
73
74
  const cameraController = this.api.getCamera(cameraId);
74
75
  if (!cameraController) {
75
76
  return;
76
77
  }
77
- return cameraController.probeStream(sourceId, refresh);
78
+ return cameraController.probeStream(sourceId, probeConfig, refresh);
78
79
  }
79
80
  // @ts-ignore
80
81
  async addCameraSource(source, cameraId, pluginId) {
@@ -1 +1 @@
1
- {"version":3,"file":"cameraDevice.js","sourceRoot":"","sources":["../../../../../src/nats/proxy/cameraDevice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cameraDevice.js","sourceRoot":"","sources":["../../../../../src/nats/proxy/cameraDevice.ts"],"names":[],"mappings":"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"}
@@ -297,7 +297,7 @@ export class PluginWorker {
297
297
  if (existsSync(requirementsPath) && statSync(requirementsPath).size > 0) {
298
298
  await this.py.updatePluginDependencies(requirementsPath);
299
299
  }
300
- if (!this.pluginManager.installedPythonVersions.has(this.plugin.contract.pythonVersion || DEFAULT_PY_VERSION)) {
300
+ if (!this.pluginManager.installedPythonVersions.has(this.plugin.contract.pythonVersion ?? DEFAULT_PY_VERSION)) {
301
301
  throw new Error(`Python version ${this.plugin.contract.pythonVersion ?? DEFAULT_PY_VERSION} is not installed! Cannot start ${this.plugin.pluginName}.`);
302
302
  }
303
303
  }
@@ -98,7 +98,7 @@ export interface API {
98
98
  username?: string;
99
99
  password?: string;
100
100
  }
101
- export type Streams = Record<string, string | string[] | null>;
101
+ export type Streams = Record<string, string | string[]>;
102
102
  export interface SRTP {
103
103
  listen: string;
104
104
  }