@scrypted/server 0.0.132 → 0.0.137

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.

Potentially problematic release.


This version of @scrypted/server might be problematic. Click here for more details.

Files changed (53) hide show
  1. package/.vscode/settings.json +1 -1
  2. package/dist/event-registry.js +1 -1
  3. package/dist/event-registry.js.map +1 -1
  4. package/dist/infer-defaults.js +1 -1
  5. package/dist/infer-defaults.js.map +1 -1
  6. package/dist/media-helpers.js +20 -15
  7. package/dist/media-helpers.js.map +1 -1
  8. package/dist/plugin/descriptor.js +1 -1
  9. package/dist/plugin/descriptor.js.map +1 -1
  10. package/dist/plugin/media.js +207 -101
  11. package/dist/plugin/media.js.map +1 -1
  12. package/dist/plugin/plugin-device.js +5 -1
  13. package/dist/plugin/plugin-device.js.map +1 -1
  14. package/dist/plugin/plugin-host-api.js +1 -1
  15. package/dist/plugin/plugin-host-api.js.map +1 -1
  16. package/dist/plugin/plugin-host.js +15 -6
  17. package/dist/plugin/plugin-host.js.map +1 -1
  18. package/dist/plugin/plugin-remote.js +10 -3
  19. package/dist/plugin/plugin-remote.js.map +1 -1
  20. package/dist/plugin/system.js +1 -1
  21. package/dist/plugin/system.js.map +1 -1
  22. package/dist/runtime.js +36 -8
  23. package/dist/runtime.js.map +1 -1
  24. package/dist/services/plugin.js +2 -10
  25. package/dist/services/plugin.js.map +1 -1
  26. package/dist/state.js +1 -1
  27. package/dist/state.js.map +1 -1
  28. package/package.json +7 -5
  29. package/python/plugin-remote.py +5 -5
  30. package/src/db-types.ts +1 -1
  31. package/src/event-registry.ts +1 -1
  32. package/src/http-interfaces.ts +1 -1
  33. package/src/infer-defaults.ts +1 -1
  34. package/src/media-helpers.ts +16 -15
  35. package/src/plugin/descriptor.ts +1 -1
  36. package/src/plugin/media.ts +232 -116
  37. package/src/plugin/plugin-api.ts +1 -1
  38. package/src/plugin/plugin-console.ts +1 -1
  39. package/src/plugin/plugin-device.ts +7 -2
  40. package/src/plugin/plugin-host-api.ts +1 -1
  41. package/src/plugin/plugin-host.ts +17 -7
  42. package/src/plugin/plugin-http.ts +1 -1
  43. package/src/plugin/plugin-lazy-remote.ts +1 -1
  44. package/src/plugin/plugin-remote-worker.ts +1 -1
  45. package/src/plugin/plugin-remote.ts +12 -4
  46. package/src/plugin/plugin-repl.ts +1 -1
  47. package/src/plugin/system.ts +1 -1
  48. package/src/runtime.ts +42 -10
  49. package/src/services/plugin.ts +2 -10
  50. package/src/state.ts +1 -1
  51. package/dist/convert.js +0 -117
  52. package/dist/convert.js.map +0 -1
  53. package/src/convert.ts +0 -122
@@ -2,7 +2,7 @@
2
2
  // could be useful for vscode ssh remote debugging. it forwards 10443, etc. to the remote host.
3
3
  "remote.autoForwardPorts": false,
4
4
  "python.analysis.extraPaths": [
5
- "./node_modules/@scrypted/sdk",
5
+ "./node_modules/@scrypted/types",
6
6
  "./python",
7
7
  ]
8
8
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EventRegistry = exports.EventListenerRegisterImpl = void 0;
4
- const types_1 = require("@scrypted/sdk/types");
4
+ const types_1 = require("@scrypted/types");
5
5
  class EventListenerRegisterImpl {
6
6
  removeListener;
7
7
  constructor(removeListener) {
@@ -1 +1 @@
1
- {"version":3,"file":"event-registry.js","sourceRoot":"","sources":["../src/event-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-registry.js","sourceRoot":"","sources":["../src/event-registry.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getDisplayRoom = exports.getProvidedRoomOrDefault = exports.inferRoomFromName = exports.getDisplayType = exports.getProvidedTypeOrDefault = exports.getDisplayName = exports.getProvidedNameOrDefault = exports.inferTypesFromInterfaces = exports.inferTypeFromInterfaces = void 0;
4
- const types_1 = require("@scrypted/sdk/types");
4
+ const types_1 = require("@scrypted/types");
5
5
  const state_1 = require("./state");
6
6
  const inferenceTable = {};
7
7
  function addType(iface, ...type) {
@@ -1 +1 @@
1
- {"version":3,"file":"infer-defaults.js","sourceRoot":"","sources":["../src/infer-defaults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"infer-defaults.js","sourceRoot":"","sources":["../src/infer-defaults.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,17 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.probeVideoCamera = exports.ffmpegLogInitialOutput = void 0;
6
+ exports.safePrintFFmpegArguments = exports.ffmpegLogInitialOutput = void 0;
7
+ const process_1 = __importDefault(require("process"));
4
8
  const filtered = [
5
9
  'decode_slice_header error',
6
10
  'no frame!',
7
11
  'non-existing PPS',
8
12
  ];
9
- function ffmpegLogInitialOutput(console, cp, forever) {
13
+ function ffmpegLogInitialOutput(console, cp, forever, storage) {
14
+ const SCRYPTED_FFMPEG_NOISY = !!process_1.default.env.SCRYPTED_FFMPEG_NOISY || !!storage?.getItem('SCRYPTED_FFMPEG_NOISY');
10
15
  function logger(log) {
11
16
  const ret = (buffer) => {
12
17
  const str = buffer.toString();
@@ -14,7 +19,7 @@ function ffmpegLogInitialOutput(console, cp, forever) {
14
19
  if (str.indexOf(filter) !== -1)
15
20
  return;
16
21
  }
17
- if (!forever && (str.indexOf('frame=') !== -1 || str.indexOf('size=') !== -1)) {
22
+ if (!SCRYPTED_FFMPEG_NOISY && !forever && (str.indexOf('frame=') !== -1 || str.indexOf('size=') !== -1)) {
18
23
  log(str);
19
24
  log('video/audio detected, discarding further input');
20
25
  cp.stdout.removeListener('data', ret);
@@ -31,18 +36,18 @@ function ffmpegLogInitialOutput(console, cp, forever) {
31
36
  cp.on('exit', () => console.log('ffmpeg exited'));
32
37
  }
33
38
  exports.ffmpegLogInitialOutput = ffmpegLogInitialOutput;
34
- async function probeVideoCamera(device) {
35
- let options;
36
- try {
37
- options = await device.getVideoStreamOptions() || [];
39
+ function safePrintFFmpegArguments(console, args) {
40
+ const ret = [];
41
+ for (const arg of args) {
42
+ try {
43
+ const url = new URL(arg);
44
+ ret.push(`${url.protocol}[REDACTED]`);
45
+ }
46
+ catch (e) {
47
+ ret.push(arg);
48
+ }
38
49
  }
39
- catch (e) {
40
- }
41
- const noAudio = options && options.length && options[0].audio === null;
42
- return {
43
- options,
44
- noAudio,
45
- };
50
+ console.log(ret.join(' '));
46
51
  }
47
- exports.probeVideoCamera = probeVideoCamera;
52
+ exports.safePrintFFmpegArguments = safePrintFFmpegArguments;
48
53
  //# sourceMappingURL=media-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"media-helpers.js","sourceRoot":"","sources":["../src/media-helpers.ts"],"names":[],"mappings":";;;AAIA,MAAM,QAAQ,GAAG;IACb,2BAA2B;IAC3B,WAAW;IACX,kBAAkB;CACrB,CAAC;AAEF,SAAgB,sBAAsB,CAAC,OAAgB,EAAE,EAAgB,EAAE,OAAiB;IACxF,SAAS,MAAM,CAAC,GAA0B;QACtC,MAAM,GAAG,GAAG,CAAC,MAAc,EAAE,EAAE;YAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAE9B,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE;gBAC3B,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC1B,OAAO;aACd;YAED,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBAC3E,GAAG,CAAC,GAAG,CAAC,CAAC;gBACT,GAAG,CAAC,gDAAgD,CAAC,CAAC;gBACtD,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACtC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACtC,OAAO;aACV;YAED,GAAG,CAAC,GAAG,CAAC,CAAC;QACb,CAAC,CAAA;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAAA,CAAC;IACF,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;AACtD,CAAC;AA1BD,wDA0BC;AAEM,KAAK,UAAU,gBAAgB,CAAC,MAAmB;IACtD,IAAI,OAA6B,CAAC;IAClC,IAAI;QACF,OAAO,GAAG,MAAM,MAAM,CAAC,qBAAqB,EAAE,IAAI,EAAE,CAAC;KACtD;IACD,OAAO,CAAC,EAAE;KACT;IAED,MAAM,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC;IACvE,OAAO;QACH,OAAO;QACP,OAAO;KACV,CAAC;AACN,CAAC;AAbD,4CAaC"}
1
+ {"version":3,"file":"media-helpers.js","sourceRoot":"","sources":["../src/media-helpers.ts"],"names":[],"mappings":";;;;;;AACA,sDAA8B;AAE9B,MAAM,QAAQ,GAAG;IACb,2BAA2B;IAC3B,WAAW;IACX,kBAAkB;CACrB,CAAC;AAEF,SAAgB,sBAAsB,CAAC,OAAgB,EAAE,EAAgB,EAAE,OAAiB,EAAE,OAAiB;IAC3G,MAAM,qBAAqB,GAAG,CAAC,CAAC,iBAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAEjH,SAAS,MAAM,CAAC,GAA0B;QACtC,MAAM,GAAG,GAAG,CAAC,MAAc,EAAE,EAAE;YAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YAE9B,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE;gBAC3B,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC1B,OAAO;aACd;YAED,IAAI,CAAC,qBAAqB,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBACrG,GAAG,CAAC,GAAG,CAAC,CAAC;gBACT,GAAG,CAAC,gDAAgD,CAAC,CAAC;gBACtD,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACtC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACtC,OAAO;aACV;YAED,GAAG,CAAC,GAAG,CAAC,CAAC;QACb,CAAC,CAAA;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAAA,CAAC;IACF,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;AACtD,CAAC;AA5BD,wDA4BC;AAED,SAAgB,wBAAwB,CAAC,OAAgB,EAAE,IAAc;IACrE,MAAM,GAAG,GAAG,EAAE,CAAC;IACf,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACpB,IAAI;YACA,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YACzB,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,YAAY,CAAC,CAAA;SACxC;QACD,OAAO,CAAC,EAAE;YACN,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACjB;KACJ;IAED,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/B,CAAC;AAbD,4DAaC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isValidInterfaceProperty = exports.isValidInterfaceMethod = exports.propertyInterfaces = exports.methodInterfaces = exports.deviceMethods = exports.allInterfaceProperties = exports.allInterfaceMethods = void 0;
4
- const types_1 = require("@scrypted/sdk/types");
4
+ const types_1 = require("@scrypted/types");
5
5
  exports.allInterfaceMethods = [].concat(...Object.values(types_1.ScryptedInterfaceDescriptors).map((type) => type.methods));
6
6
  exports.allInterfaceProperties = [].concat(...Object.values(types_1.ScryptedInterfaceDescriptors).map((type) => type.properties));
7
7
  exports.deviceMethods = ['listen', 'setName', 'setRoom', 'setType'];
@@ -1 +1 @@
1
- {"version":3,"file":"descriptor.js","sourceRoot":"","sources":["../../src/plugin/descriptor.ts"],"names":[],"mappings":";;;AAAA,+CAAsF;AAEzE,QAAA,mBAAmB,GAAa,EAAE,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,oCAA4B,CAAC,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3H,QAAA,sBAAsB,GAAa,EAAE,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,oCAA4B,CAAC,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AACjI,QAAA,aAAa,GAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAEtE,QAAA,gBAAgB,GAAiC,EAAE,CAAC;AACjE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,oCAA4B,CAAC,EAAE;IAC5D,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;QAC/B,wBAAgB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;KACxC;CACJ;AAEY,QAAA,kBAAkB,GAA8C,EAAE,CAAC;AAChF,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,oCAA4B,CAAC,EAAE;IAClE,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,UAAU,EAAE;QAC1C,0BAAkB,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,IAAyB,CAAC;KACvE;CACJ;AAED,SAAgB,sBAAsB,CAAC,UAAoB,EAAE,MAAc;IACvE,MAAM,gBAAgB,GAAa,EAAE,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,oCAA4B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9K,OAAO,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,oCAA4B,CAAC,yBAAiB,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACxI,CAAC;AAHD,wDAGC;AAED,SAAgB,wBAAwB,CAAC,UAAoB,EAAE,QAAgB;IAC3E,MAAM,mBAAmB,GAAa,EAAE,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,oCAA4B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpL,OAAO,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAClD,CAAC;AAHD,4DAGC"}
1
+ {"version":3,"file":"descriptor.js","sourceRoot":"","sources":["../../src/plugin/descriptor.ts"],"names":[],"mappings":";;;AAAA,2CAAkF;AAErE,QAAA,mBAAmB,GAAa,EAAE,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,oCAA4B,CAAC,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3H,QAAA,sBAAsB,GAAa,EAAE,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,oCAA4B,CAAC,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;AACjI,QAAA,aAAa,GAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAEtE,QAAA,gBAAgB,GAAiC,EAAE,CAAC;AACjE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,oCAA4B,CAAC,EAAE;IAC5D,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;QAC/B,wBAAgB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;KACxC;CACJ;AAEY,QAAA,kBAAkB,GAA8C,EAAE,CAAC;AAChF,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,oCAA4B,CAAC,EAAE;IAClE,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,UAAU,EAAE;QAC1C,0BAAkB,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,IAAyB,CAAC;KACvE;CACJ;AAED,SAAgB,sBAAsB,CAAC,UAAoB,EAAE,MAAc;IACvE,MAAM,gBAAgB,GAAa,EAAE,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,oCAA4B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9K,OAAO,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,oCAA4B,CAAC,yBAAiB,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACxI,CAAC;AAHD,wDAGC;AAED,SAAgB,wBAAwB,CAAC,UAAoB,EAAE,QAAgB;IAC3E,MAAM,mBAAmB,GAAa,EAAE,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,oCAA4B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACpL,OAAO,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAClD,CAAC;AAHD,4DAGC"}
@@ -4,8 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.MediaManagerHostImpl = exports.MediaManagerImpl = exports.MediaManagerBase = void 0;
7
- const types_1 = require("@scrypted/sdk/types");
8
- const convert_1 = require("../convert");
7
+ const types_1 = require("@scrypted/types");
9
8
  const mime_1 = __importDefault(require("mime"));
10
9
  const child_process_1 = __importDefault(require("child_process"));
11
10
  const events_1 = require("events");
@@ -14,89 +13,113 @@ const tmp_1 = __importDefault(require("tmp"));
14
13
  const os_1 = __importDefault(require("os"));
15
14
  const ffmpeg_1 = require("@scrypted/ffmpeg");
16
15
  const media_helpers_1 = require("../media-helpers");
17
- function addBuiltins(console, mediaManager) {
18
- mediaManager.builtinConverters.push({
19
- fromMimeType: `${types_1.ScryptedMimeTypes.Url};${types_1.ScryptedMimeTypes.AcceptUrlParameter}=true`,
20
- toMimeType: types_1.ScryptedMimeTypes.FFmpegInput,
21
- async convert(data, fromMimeType) {
22
- const url = data.toString();
23
- const args = {
24
- url,
25
- inputArguments: [
26
- '-i',
27
- url,
28
- ],
29
- };
30
- return Buffer.from(JSON.stringify(args));
31
- }
32
- });
33
- mediaManager.builtinConverters.push({
34
- fromMimeType: types_1.ScryptedMimeTypes.FFmpegInput,
35
- toMimeType: types_1.ScryptedMimeTypes.MediaStreamUrl,
36
- async convert(data, fromMimeType) {
37
- return data;
38
- }
39
- });
40
- mediaManager.builtinConverters.push({
41
- fromMimeType: types_1.ScryptedMimeTypes.MediaStreamUrl,
42
- toMimeType: types_1.ScryptedMimeTypes.FFmpegInput,
43
- async convert(data, fromMimeType) {
44
- const mediaUrl = JSON.parse(data.toString());
45
- const inputArguments = [
46
- '-i',
47
- mediaUrl.url,
48
- ];
49
- if (mediaUrl.url.startsWith('rtsp://')) {
50
- inputArguments.unshift(
51
- // should this be set here? configurable?
52
- // do we ever want udp?
53
- "-rtsp_transport", "tcp",
54
- // 10 seconds
55
- '-analyzeduration', '10000000',
56
- // 20mb
57
- '-probesize', '20000000', "-reorder_queue_size", "1024", "-max_delay",
58
- // 10 second delay
59
- "10000000");
60
- }
61
- const ret = Object.assign({
62
- inputArguments,
63
- }, mediaUrl);
64
- return Buffer.from(JSON.stringify(ret));
65
- }
66
- });
67
- mediaManager.builtinConverters.push({
68
- fromMimeType: types_1.ScryptedMimeTypes.FFmpegInput,
69
- toMimeType: 'image/jpeg',
70
- async convert(data, fromMimeType) {
71
- const ffInput = JSON.parse(data.toString());
72
- const args = [
73
- '-hide_banner',
74
- ];
75
- args.push(...ffInput.inputArguments);
76
- const tmpfile = tmp_1.default.fileSync();
77
- args.push('-y', "-vframes", "1", '-f', 'image2', tmpfile.name);
78
- const cp = child_process_1.default.spawn(await mediaManager.getFFmpegPath(), args);
79
- (0, media_helpers_1.ffmpegLogInitialOutput)(console, cp);
80
- cp.on('error', (code) => {
81
- console.error('ffmpeg error code', code);
82
- });
83
- const to = setTimeout(() => {
84
- console.log('ffmpeg stream to image convesion timed out.');
85
- cp.kill('SIGKILL');
86
- }, 10000);
87
- await (0, events_1.once)(cp, 'exit');
88
- clearTimeout(to);
89
- const ret = fs_1.default.readFileSync(tmpfile.name);
90
- return ret;
91
- }
92
- });
16
+ const node_dijkstra_1 = __importDefault(require("node-dijkstra"));
17
+ const whatwg_mimetype_1 = __importDefault(require("whatwg-mimetype"));
18
+ const axios_1 = __importDefault(require("axios"));
19
+ const https_1 = __importDefault(require("https"));
20
+ function typeMatches(target, candidate) {
21
+ // candidate will accept anything
22
+ if (candidate === '*')
23
+ return true;
24
+ return target === candidate;
25
+ }
26
+ function mimeMatches(target, candidate) {
27
+ return typeMatches(target.type, candidate.type) && typeMatches(target.subtype, candidate.subtype);
93
28
  }
29
+ const httpsAgent = new https_1.default.Agent({
30
+ rejectUnauthorized: false
31
+ });
94
32
  class MediaManagerBase {
95
33
  console;
96
34
  builtinConverters = [];
97
35
  constructor(console) {
98
36
  this.console = console;
99
- addBuiltins(this.console, this);
37
+ for (const h of ['http', 'https']) {
38
+ this.builtinConverters.push({
39
+ fromMimeType: types_1.ScryptedMimeTypes.SchemePrefix + h,
40
+ toMimeType: types_1.ScryptedMimeTypes.MediaObject,
41
+ convert: async (data, fromMimeType, toMimeType) => {
42
+ const ab = await axios_1.default.get(data.toString(), {
43
+ responseType: 'arraybuffer',
44
+ httpsAgent,
45
+ });
46
+ const mimeType = ab.headers['content-type'] || toMimeType;
47
+ const mo = this.createMediaObject(Buffer.from(ab.data), mimeType);
48
+ return mo;
49
+ }
50
+ });
51
+ }
52
+ this.builtinConverters.push({
53
+ fromMimeType: `${types_1.ScryptedMimeTypes.Url};${types_1.ScryptedMimeTypes.AcceptUrlParameter}=true`,
54
+ toMimeType: types_1.ScryptedMimeTypes.FFmpegInput,
55
+ async convert(data, fromMimeType) {
56
+ const url = data.toString();
57
+ const args = {
58
+ url,
59
+ inputArguments: [
60
+ '-i', url,
61
+ ],
62
+ };
63
+ return Buffer.from(JSON.stringify(args));
64
+ }
65
+ });
66
+ this.builtinConverters.push({
67
+ fromMimeType: types_1.ScryptedMimeTypes.FFmpegInput,
68
+ toMimeType: types_1.ScryptedMimeTypes.MediaStreamUrl,
69
+ async convert(data, fromMimeType) {
70
+ return data;
71
+ }
72
+ });
73
+ this.builtinConverters.push({
74
+ fromMimeType: types_1.ScryptedMimeTypes.MediaStreamUrl,
75
+ toMimeType: types_1.ScryptedMimeTypes.FFmpegInput,
76
+ async convert(data, fromMimeType) {
77
+ const mediaUrl = JSON.parse(data.toString());
78
+ const inputArguments = [
79
+ '-i', mediaUrl.url,
80
+ ];
81
+ if (mediaUrl.url.startsWith('rtsp://')) {
82
+ inputArguments.unshift("-rtsp_transport", "tcp", "-max_delay", "1000000");
83
+ }
84
+ const ret = Object.assign({
85
+ inputArguments,
86
+ }, mediaUrl);
87
+ return Buffer.from(JSON.stringify(ret));
88
+ }
89
+ });
90
+ this.builtinConverters.push({
91
+ fromMimeType: 'image/*',
92
+ toMimeType: 'image/*',
93
+ convert: async (data, fromMimeType) => {
94
+ return data;
95
+ }
96
+ });
97
+ this.builtinConverters.push({
98
+ fromMimeType: types_1.ScryptedMimeTypes.FFmpegInput,
99
+ toMimeType: 'image/jpeg',
100
+ convert: async (data, fromMimeType) => {
101
+ const ffInput = JSON.parse(data.toString());
102
+ const args = [
103
+ '-hide_banner',
104
+ ];
105
+ args.push(...ffInput.inputArguments);
106
+ const tmpfile = tmp_1.default.fileSync();
107
+ args.push('-y', "-vframes", "1", '-f', 'image2', tmpfile.name);
108
+ const cp = child_process_1.default.spawn(await this.getFFmpegPath(), args);
109
+ (0, media_helpers_1.ffmpegLogInitialOutput)(console, cp);
110
+ cp.on('error', (code) => {
111
+ console.error('ffmpeg error code', code);
112
+ });
113
+ const to = setTimeout(() => {
114
+ console.log('ffmpeg stream to image convesion timed out.');
115
+ cp.kill('SIGKILL');
116
+ }, 10000);
117
+ await (0, events_1.once)(cp, 'exit');
118
+ clearTimeout(to);
119
+ const ret = fs_1.default.readFileSync(tmpfile.name);
120
+ return ret;
121
+ }
122
+ });
100
123
  }
101
124
  async getFFmpegPath() {
102
125
  // try to get the ffmpeg path as a value of another variable
@@ -132,25 +155,25 @@ class MediaManagerBase {
132
155
  return mediaObject;
133
156
  }
134
157
  async convertMediaObjectToInsecureLocalUrl(mediaObject, toMimeType) {
135
- const intermediate = await (0, convert_1.convert)(this.getConverters(), this.ensureMediaObjectRemote(mediaObject), toMimeType);
158
+ const intermediate = await this.convert(this.getConverters(), this.ensureMediaObjectRemote(mediaObject), toMimeType);
136
159
  const converted = this.createMediaObject(intermediate.data, intermediate.mimeType);
137
- const url = await (0, convert_1.convert)(this.getConverters(), converted, types_1.ScryptedMimeTypes.InsecureLocalUrl);
160
+ const url = await this.convert(this.getConverters(), converted, types_1.ScryptedMimeTypes.InsecureLocalUrl);
138
161
  return url.data.toString();
139
162
  }
140
163
  async convertMediaObjectToBuffer(mediaObject, toMimeType) {
141
- const intermediate = await (0, convert_1.convert)(this.getConverters(), this.ensureMediaObjectRemote(mediaObject), toMimeType);
142
- return (0, convert_1.ensureBuffer)(intermediate.data);
164
+ const intermediate = await this.convert(this.getConverters(), this.ensureMediaObjectRemote(mediaObject), toMimeType);
165
+ return intermediate.data;
143
166
  }
144
167
  async convertMediaObjectToLocalUrl(mediaObject, toMimeType) {
145
- const intermediate = await (0, convert_1.convert)(this.getConverters(), this.ensureMediaObjectRemote(mediaObject), toMimeType);
168
+ const intermediate = await this.convert(this.getConverters(), this.ensureMediaObjectRemote(mediaObject), toMimeType);
146
169
  const converted = this.createMediaObject(intermediate.data, intermediate.mimeType);
147
- const url = await (0, convert_1.convert)(this.getConverters(), converted, types_1.ScryptedMimeTypes.LocalUrl);
170
+ const url = await this.convert(this.getConverters(), converted, types_1.ScryptedMimeTypes.LocalUrl);
148
171
  return url.data.toString();
149
172
  }
150
173
  async convertMediaObjectToUrl(mediaObject, toMimeType) {
151
- const intermediate = await (0, convert_1.convert)(this.getConverters(), this.ensureMediaObjectRemote(mediaObject), toMimeType);
174
+ const intermediate = await this.convert(this.getConverters(), this.ensureMediaObjectRemote(mediaObject), toMimeType);
152
175
  const converted = this.createMediaObject(intermediate.data, intermediate.mimeType);
153
- const url = await (0, convert_1.convert)(this.getConverters(), converted, types_1.ScryptedMimeTypes.Url);
176
+ const url = await this.convert(this.getConverters(), converted, types_1.ScryptedMimeTypes.Url);
154
177
  return url.data.toString();
155
178
  }
156
179
  createFFmpegMediaObject(ffMpegInput) {
@@ -168,23 +191,106 @@ class MediaManagerBase {
168
191
  }
169
192
  return new MediaObjectImpl();
170
193
  }
171
- async createMediaObjectFromUrl(data, mimeType) {
172
- if (!data.startsWith(types_1.SCRYPTED_MEDIA_SCHEME))
173
- return this.createMediaObject(data, mimeType || types_1.ScryptedMimeTypes.Url);
174
- const url = new URL(data.toString());
175
- const id = url.hostname;
176
- const path = url.pathname.split('/')[1];
177
- let mo;
178
- if (path === types_1.ScryptedInterface.VideoCamera) {
179
- mo = await this.getDeviceById(id).getVideoStream();
194
+ async createMediaObjectFromUrl(data) {
195
+ const url = new URL(data);
196
+ const scheme = url.protocol.slice(0, -1);
197
+ const fromMimeType = types_1.ScryptedMimeTypes.SchemePrefix + scheme;
198
+ return this.createMediaObject(data, fromMimeType);
199
+ }
200
+ async convert(converters, mediaObject, toMimeType) {
201
+ // console.log('converting', mediaObject.mimeType, toMimeType);
202
+ const mediaMime = new whatwg_mimetype_1.default(mediaObject.mimeType);
203
+ const outputMime = new whatwg_mimetype_1.default(toMimeType);
204
+ if (mimeMatches(mediaMime, outputMime)) {
205
+ return {
206
+ mimeType: outputMime.essence,
207
+ data: await mediaObject.getData(),
208
+ };
209
+ }
210
+ const converterIds = new Map();
211
+ const converterReverseids = new Map();
212
+ let id = 0;
213
+ for (const converter of converters) {
214
+ const cid = (id++).toString();
215
+ converterIds.set(converter, cid);
216
+ converterReverseids.set(cid, converter);
217
+ }
218
+ const nodes = {};
219
+ const mediaNode = {};
220
+ nodes['mediaObject'] = mediaNode;
221
+ nodes['output'] = {};
222
+ for (const converter of converters) {
223
+ try {
224
+ const inputMime = new whatwg_mimetype_1.default(converter.fromMimeType);
225
+ const convertedMime = new whatwg_mimetype_1.default(converter.toMimeType);
226
+ const targetId = converterIds.get(converter);
227
+ const node = nodes[targetId] = {};
228
+ for (const candidate of converters) {
229
+ try {
230
+ const candidateMime = new whatwg_mimetype_1.default(candidate.fromMimeType);
231
+ if (!mimeMatches(convertedMime, candidateMime))
232
+ continue;
233
+ const candidateId = converterIds.get(candidate);
234
+ node[candidateId] = 1;
235
+ }
236
+ catch (e) {
237
+ console.warn('skipping converter due to error', e);
238
+ }
239
+ }
240
+ if (mimeMatches(mediaMime, inputMime)) {
241
+ mediaNode[targetId] = 1;
242
+ }
243
+ if (mimeMatches(outputMime, convertedMime) || converter.toMimeType === types_1.ScryptedMimeTypes.MediaObject) {
244
+ node['output'] = 1;
245
+ }
246
+ }
247
+ catch (e) {
248
+ console.warn('skipping converter due to error', e);
249
+ }
180
250
  }
181
- else if (path === types_1.ScryptedInterface.Camera) {
182
- mo = await this.getDeviceById(id).takePicture();
251
+ const graph = new node_dijkstra_1.default();
252
+ for (const id of Object.keys(nodes)) {
253
+ graph.addNode(id, nodes[id]);
183
254
  }
184
- else {
185
- throw new Error('Unrecognized Scrypted Media interface.');
255
+ const route = graph.path('mediaObject', 'output');
256
+ if (!route || !route.length)
257
+ throw new Error('no converter found');
258
+ // pop off the mediaObject start node, no conversion necessary.
259
+ route.shift();
260
+ // also remove the output node.
261
+ route.splice(route.length - 1);
262
+ let value = await mediaObject.getData();
263
+ let valueMime = new whatwg_mimetype_1.default(mediaObject.mimeType);
264
+ for (const node of route) {
265
+ const converter = converterReverseids.get(node);
266
+ const converterToMimeType = new whatwg_mimetype_1.default(converter.toMimeType);
267
+ const converterFromMimeType = new whatwg_mimetype_1.default(converter.fromMimeType);
268
+ const type = converterToMimeType.type === '*' ? valueMime.type : converterToMimeType.type;
269
+ const subtype = converterToMimeType.subtype === '*' ? valueMime.subtype : converterToMimeType.subtype;
270
+ const targetMimeType = `${type}/${subtype}`;
271
+ if (typeof value === 'string' && !converterFromMimeType.parameters.has(types_1.ScryptedMimeTypes.AcceptUrlParameter)) {
272
+ const url = new URL(value);
273
+ const scheme = url.protocol.slice(0, -1);
274
+ const fromMimeType = types_1.ScryptedMimeTypes.SchemePrefix + scheme;
275
+ for (const converter of this.getConverters()) {
276
+ if (converter.fromMimeType !== fromMimeType || converter.toMimeType !== types_1.ScryptedMimeTypes.MediaObject)
277
+ continue;
278
+ const mo = await converter.convert(value, fromMimeType, toMimeType);
279
+ const found = await this.convertMediaObjectToBuffer(mo, toMimeType);
280
+ return {
281
+ data: found,
282
+ mimeType: mo.mimeType,
283
+ };
284
+ }
285
+ throw new Error(`no ${types_1.ScryptedInterface.BufferConverter} exists for scheme: ${scheme}`);
286
+ }
287
+ value = await converter.convert(value, valueMime.essence, targetMimeType);
288
+ valueMime = new whatwg_mimetype_1.default(targetMimeType);
186
289
  }
187
- return mo;
290
+ return {
291
+ data: value,
292
+ mimeType: valueMime.essence,
293
+ };
188
294
  }
189
295
  }
190
296
  exports.MediaManagerBase = MediaManagerBase;
@@ -1 +1 @@
1
- {"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/plugin/media.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/plugin/media.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.PluginDeviceProxyHandler = exports.QueryInterfaceSymbol = exports.RefreshSymbol = void 0;
7
- const types_1 = require("@scrypted/sdk/types");
7
+ const types_1 = require("@scrypted/types");
8
8
  const rpc_1 = require("../rpc");
9
9
  const state_1 = require("../state");
10
10
  const infer_defaults_1 = require("../infer-defaults");
@@ -337,6 +337,10 @@ class PluginDeviceProxyHandler {
337
337
  }
338
338
  }
339
339
  }
340
+ if (method === 'getPluginJson'
341
+ && (0, state_1.getState)(pluginDevice, types_1.ScryptedInterfaceProperty.providedInterfaces)?.includes(types_1.ScryptedInterface.ScryptedPlugin)) {
342
+ return this.scrypted.getPackageJson(pluginDevice.pluginId);
343
+ }
340
344
  if (!(0, descriptor_1.isValidInterfaceMethod)(pluginDevice.state.interfaces.value, method))
341
345
  throw new plugin_error_1.PluginError(`device ${this.id} does not support method ${method}`);
342
346
  if (method === 'refresh') {