diff --git a/plugins/snapshot/fs/black.jpg b/plugins/snapshot/fs/black.jpg deleted file mode 100644 index dd39e540e5..0000000000 Binary files a/plugins/snapshot/fs/black.jpg and /dev/null differ diff --git a/plugins/snapshot/src/main.ts b/plugins/snapshot/src/main.ts index a8a326e490..1c4f9facc3 100644 --- a/plugins/snapshot/src/main.ts +++ b/plugins/snapshot/src/main.ts @@ -2,7 +2,7 @@ import { AutoenableMixinProvider } from "@scrypted/common/src/autoenable-mixin-p import { AuthFetchCredentialState, authHttpFetch } from '@scrypted/common/src/http-auth-fetch'; import { RefreshPromise, TimeoutError, createMapPromiseDebouncer, singletonPromise, timeoutPromise } from "@scrypted/common/src/promise-utils"; import { SettingsMixinDeviceBase, SettingsMixinDeviceOptions } from "@scrypted/common/src/settings-mixin"; -import sdk, { BufferConverter, Camera, DeviceManifest, DeviceProvider, FFmpegInput, HttpRequest, HttpRequestHandler, HttpResponse, MediaObject, MediaObjectOptions, MixinProvider, RequestMediaStreamOptions, RequestPictureOptions, ResponsePictureOptions, ScryptedDevice, ScryptedDeviceType, ScryptedInterface, ScryptedMimeTypes, Setting, SettingValue, Settings, VideoCamera } from "@scrypted/sdk"; +import sdk, { BufferConverter, Camera, DeviceManifest, DeviceProvider, FFmpegInput, HttpRequest, HttpRequestHandler, HttpResponse, MediaObject, MediaObjectOptions, MixinProvider, RequestMediaStreamOptions, RequestPictureOptions, ResponsePictureOptions, ScryptedDevice, ScryptedDeviceType, ScryptedInterface, ScryptedMimeTypes, Setting, SettingValue, Settings, VideoCamera, WritableDeviceState } from "@scrypted/sdk"; import { StorageSettings } from "@scrypted/sdk/storage-settings"; import https from 'https'; import os from 'os'; @@ -519,13 +519,12 @@ class SnapshotMixin extends SettingsMixinDeviceBase implements Camera { const fontFile = path.join(unzippedFs, 'Lato-Bold.ttf'); if (!errorBackground) { - const black = path.join(unzippedFs, 'black.jpg'); return ffmpegFilterImage([ - '-i', black, + '-f', 'lavfi', + '-i', 'color=black:size=1920x1080', ], { console: this.debugConsole, ffmpegPath: await mediaManager.getFFmpegPath(), - blur: true, text: { fontFile, text, @@ -723,7 +722,7 @@ export class SnapshotPlugin extends AutoenableMixinProvider implements MixinProv return undefined; } - async getMixin(mixinDevice: any, mixinDeviceInterfaces: ScryptedInterface[], mixinDeviceState: { [key: string]: any; }): Promise { + async getMixin(mixinDevice: any, mixinDeviceInterfaces: ScryptedInterface[], mixinDeviceState: WritableDeviceState): Promise { const ret = new SnapshotMixin(this, { mixinDevice, mixinDeviceInterfaces, diff --git a/plugins/snapshot/tsconfig.json b/plugins/snapshot/tsconfig.json index 34a847ad82..a976b26c4c 100644 --- a/plugins/snapshot/tsconfig.json +++ b/plugins/snapshot/tsconfig.json @@ -1,9 +1,9 @@ { "compilerOptions": { - "module": "commonjs", - "target": "ES2021", + "module": "NodeNext", + "target": "ESNext", "resolveJsonModule": true, - "moduleResolution": "Node16", + "moduleResolution": "NodeNext", "esModuleInterop": true, "sourceMap": true },