@scrypted/server 0.0.134 → 0.0.135
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.
- package/.vscode/settings.json +1 -1
- package/dist/event-registry.js +1 -1
- package/dist/event-registry.js.map +1 -1
- package/dist/infer-defaults.js +1 -1
- package/dist/infer-defaults.js.map +1 -1
- package/dist/media-helpers.js +9 -25
- package/dist/media-helpers.js.map +1 -1
- package/dist/plugin/descriptor.js +1 -1
- package/dist/plugin/descriptor.js.map +1 -1
- package/dist/plugin/media.js +207 -101
- package/dist/plugin/media.js.map +1 -1
- package/dist/plugin/plugin-device.js +1 -1
- package/dist/plugin/plugin-device.js.map +1 -1
- package/dist/plugin/plugin-host-api.js +1 -1
- package/dist/plugin/plugin-host-api.js.map +1 -1
- package/dist/plugin/plugin-host.js +15 -6
- package/dist/plugin/plugin-host.js.map +1 -1
- package/dist/plugin/plugin-remote.js +1 -1
- package/dist/plugin/plugin-remote.js.map +1 -1
- package/dist/plugin/system.js +1 -1
- package/dist/plugin/system.js.map +1 -1
- package/dist/runtime.js +9 -3
- package/dist/runtime.js.map +1 -1
- package/dist/services/plugin.js +1 -1
- package/dist/services/plugin.js.map +1 -1
- package/dist/state.js +1 -1
- package/dist/state.js.map +1 -1
- package/package.json +5 -5
- package/python/plugin-remote.py +5 -5
- package/src/db-types.ts +1 -1
- package/src/event-registry.ts +1 -1
- package/src/http-interfaces.ts +1 -1
- package/src/infer-defaults.ts +1 -1
- package/src/media-helpers.ts +6 -27
- package/src/plugin/descriptor.ts +1 -1
- package/src/plugin/media.ts +232 -116
- package/src/plugin/plugin-api.ts +1 -1
- package/src/plugin/plugin-console.ts +1 -1
- package/src/plugin/plugin-device.ts +2 -2
- package/src/plugin/plugin-host-api.ts +1 -1
- package/src/plugin/plugin-host.ts +17 -7
- package/src/plugin/plugin-http.ts +1 -1
- package/src/plugin/plugin-lazy-remote.ts +1 -1
- package/src/plugin/plugin-remote-worker.ts +1 -1
- package/src/plugin/plugin-remote.ts +1 -1
- package/src/plugin/plugin-repl.ts +1 -1
- package/src/plugin/system.ts +1 -1
- package/src/runtime.ts +11 -3
- package/src/services/plugin.ts +1 -1
- package/src/state.ts +1 -1
- package/dist/convert.js +0 -117
- package/dist/convert.js.map +0 -1
- package/src/convert.ts +0 -122
package/.vscode/settings.json
CHANGED
package/dist/event-registry.js
CHANGED
|
@@ -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/
|
|
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":";;;AAAA
|
|
1
|
+
{"version":3,"file":"event-registry.js","sourceRoot":"","sources":["../src/event-registry.ts"],"names":[],"mappings":"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"}
|
package/dist/infer-defaults.js
CHANGED
|
@@ -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/
|
|
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":";;;AAAA
|
|
1
|
+
{"version":3,"file":"infer-defaults.js","sourceRoot":"","sources":["../src/infer-defaults.ts"],"names":[],"mappings":"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"}
|
package/dist/media-helpers.js
CHANGED
|
@@ -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.safePrintFFmpegArguments = exports.
|
|
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,33 +36,12 @@ 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() || [];
|
|
38
|
-
}
|
|
39
|
-
catch (e) {
|
|
40
|
-
}
|
|
41
|
-
// todo: uses the first stream to determine audio availability. buggy! fix this!
|
|
42
|
-
const noAudio = options && options.length && options[0].audio === null;
|
|
43
|
-
return {
|
|
44
|
-
options,
|
|
45
|
-
noAudio,
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
exports.probeVideoCamera = probeVideoCamera;
|
|
49
39
|
function safePrintFFmpegArguments(console, args) {
|
|
50
40
|
const ret = [];
|
|
51
41
|
for (const arg of args) {
|
|
52
42
|
try {
|
|
53
43
|
const url = new URL(arg);
|
|
54
|
-
|
|
55
|
-
url.password = 'REDACTED';
|
|
56
|
-
ret.push(url.toString());
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
ret.push(arg);
|
|
60
|
-
}
|
|
44
|
+
ret.push(`${url.protocol}[REDACTED]`);
|
|
61
45
|
}
|
|
62
46
|
catch (e) {
|
|
63
47
|
ret.push(arg);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-helpers.js","sourceRoot":"","sources":["../src/media-helpers.ts"],"names":[],"mappings":"
|
|
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/
|
|
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
|
|
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"}
|
package/dist/plugin/media.js
CHANGED
|
@@ -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/
|
|
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
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
142
|
-
return
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
const
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
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
|
-
|
|
182
|
-
|
|
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
|
-
|
|
185
|
-
|
|
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
|
|
290
|
+
return {
|
|
291
|
+
data: value,
|
|
292
|
+
mimeType: valueMime.essence,
|
|
293
|
+
};
|
|
188
294
|
}
|
|
189
295
|
}
|
|
190
296
|
exports.MediaManagerBase = MediaManagerBase;
|
package/dist/plugin/media.js.map
CHANGED
|
@@ -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/
|
|
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");
|