From 34f0529691e8d6af1dec7a3a3d26ab0e3b1a2cff Mon Sep 17 00:00:00 2001 From: Koushik Dutta Date: Sun, 9 Nov 2025 08:33:18 -0800 Subject: [PATCH] videoanalysis: prefer libav for stability --- plugins/objectdetector/package-lock.json | 98 +++++++++++++----------- plugins/objectdetector/package.json | 4 +- plugins/objectdetector/src/main.ts | 2 +- 3 files changed, 56 insertions(+), 48 deletions(-) diff --git a/plugins/objectdetector/package-lock.json b/plugins/objectdetector/package-lock.json index feeb48f8b..3dad1b14d 100644 --- a/plugins/objectdetector/package-lock.json +++ b/plugins/objectdetector/package-lock.json @@ -1,19 +1,19 @@ { "name": "@scrypted/objectdetector", - "version": "0.1.73", + "version": "0.1.75", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@scrypted/objectdetector", - "version": "0.1.73", + "version": "0.1.75", "license": "Apache-2.0", "dependencies": { "@scrypted/common": "file:../../common", "@scrypted/sdk": "file:../../sdk" }, "devDependencies": { - "@types/node": "^20.11.0" + "@types/node": "^22.19.0" } }, "../../common": { @@ -22,39 +22,42 @@ "license": "ISC", "dependencies": { "@scrypted/sdk": "file:../sdk", + "@scrypted/types": "^0.5.27", "http-auth-utils": "^5.0.1", "typescript": "^5.5.3" }, "devDependencies": { - "@types/node": "^20.11.0", + "@types/node": "^20.19.11", "monaco-editor": "^0.50.0", "ts-node": "^10.9.2" } }, "../../sdk": { "name": "@scrypted/sdk", - "version": "0.3.106", + "version": "0.5.51", "license": "ISC", "dependencies": { - "@babel/preset-typescript": "^7.26.0", - "@rollup/plugin-commonjs": "^28.0.1", + "@babel/preset-typescript": "^7.27.1", + "@rollup/plugin-commonjs": "^28.0.9", "@rollup/plugin-json": "^6.1.0", - "@rollup/plugin-node-resolve": "^15.3.0", - "@rollup/plugin-typescript": "^12.1.1", + "@rollup/plugin-node-resolve": "^16.0.1", + "@rollup/plugin-terser": "^0.4.4", + "@rollup/plugin-typescript": "^12.3.0", "@rollup/plugin-virtual": "^3.0.2", "adm-zip": "^0.5.16", - "axios": "^1.7.8", - "babel-loader": "^9.2.1", + "axios": "^1.10.0", + "babel-loader": "^10.0.0", "babel-plugin-const-enum": "^1.2.0", "ncp": "^2.0.0", + "openai": "^6.1.0", "raw-loader": "^4.0.2", "rimraf": "^6.0.1", - "rollup": "^4.27.4", + "rollup": "^4.52.5", "tmp": "^0.2.3", - "ts-loader": "^9.5.1", + "ts-loader": "^9.5.4", "tslib": "^2.8.1", - "typescript": "^5.6.3", - "webpack": "^5.96.1", + "typescript": "^5.9.3", + "webpack": "^5.99.9", "webpack-bundle-analyzer": "^4.10.2" }, "bin": { @@ -67,9 +70,9 @@ "scrypted-webpack": "bin/scrypted-webpack.js" }, "devDependencies": { - "@types/node": "^22.10.1", + "@types/node": "^24.9.2", "ts-node": "^10.9.2", - "typedoc": "^0.26.11" + "typedoc": "^0.28.14" } }, "node_modules/@scrypted/common": { @@ -81,19 +84,21 @@ "link": true }, "node_modules/@types/node": { - "version": "20.11.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.0.tgz", - "integrity": "sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ==", + "version": "22.19.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.0.tgz", + "integrity": "sha512-xpr/lmLPQEj+TUnHmR+Ab91/glhJvsqcjB+yY0Ix9GO70H6Lb4FHH5GeqdOE5btAx7eIMwuHkp4H2MSkLcqWbA==", "dev": true, + "license": "MIT", "dependencies": { - "undici-types": "~5.26.4" + "undici-types": "~6.21.0" } }, "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "node-moving-things-tracker": { "version": "0.9.1", @@ -118,7 +123,8 @@ "version": "file:../../common", "requires": { "@scrypted/sdk": "file:../sdk", - "@types/node": "^20.11.0", + "@scrypted/types": "^0.5.27", + "@types/node": "^20.19.11", "http-auth-utils": "^5.0.1", "monaco-editor": "^0.50.0", "ts-node": "^10.9.2", @@ -128,44 +134,46 @@ "@scrypted/sdk": { "version": "file:../../sdk", "requires": { - "@babel/preset-typescript": "^7.26.0", - "@rollup/plugin-commonjs": "^28.0.1", + "@babel/preset-typescript": "^7.27.1", + "@rollup/plugin-commonjs": "^28.0.9", "@rollup/plugin-json": "^6.1.0", - "@rollup/plugin-node-resolve": "^15.3.0", - "@rollup/plugin-typescript": "^12.1.1", + "@rollup/plugin-node-resolve": "^16.0.1", + "@rollup/plugin-terser": "^0.4.4", + "@rollup/plugin-typescript": "^12.3.0", "@rollup/plugin-virtual": "^3.0.2", - "@types/node": "^22.10.1", + "@types/node": "^24.9.2", "adm-zip": "^0.5.16", - "axios": "^1.7.8", - "babel-loader": "^9.2.1", + "axios": "^1.10.0", + "babel-loader": "^10.0.0", "babel-plugin-const-enum": "^1.2.0", "ncp": "^2.0.0", + "openai": "^6.1.0", "raw-loader": "^4.0.2", "rimraf": "^6.0.1", - "rollup": "^4.27.4", + "rollup": "^4.52.5", "tmp": "^0.2.3", - "ts-loader": "^9.5.1", + "ts-loader": "^9.5.4", "ts-node": "^10.9.2", "tslib": "^2.8.1", - "typedoc": "^0.26.11", - "typescript": "^5.6.3", - "webpack": "^5.96.1", + "typedoc": "^0.28.14", + "typescript": "^5.9.3", + "webpack": "^5.99.9", "webpack-bundle-analyzer": "^4.10.2" } }, "@types/node": { - "version": "20.11.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.0.tgz", - "integrity": "sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ==", + "version": "22.19.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.0.tgz", + "integrity": "sha512-xpr/lmLPQEj+TUnHmR+Ab91/glhJvsqcjB+yY0Ix9GO70H6Lb4FHH5GeqdOE5btAx7eIMwuHkp4H2MSkLcqWbA==", "dev": true, "requires": { - "undici-types": "~5.26.4" + "undici-types": "~6.21.0" } }, "undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "dev": true } } diff --git a/plugins/objectdetector/package.json b/plugins/objectdetector/package.json index 6f90444b4..1ef77e326 100644 --- a/plugins/objectdetector/package.json +++ b/plugins/objectdetector/package.json @@ -1,6 +1,6 @@ { "name": "@scrypted/objectdetector", - "version": "0.1.73", + "version": "0.1.75", "description": "Scrypted Video Analysis Plugin. Installed alongside a detection service like OpenCV or TensorFlow.", "author": "Scrypted", "license": "Apache-2.0", @@ -49,6 +49,6 @@ "@scrypted/sdk": "file:../../sdk" }, "devDependencies": { - "@types/node": "^20.11.0" + "@types/node": "^22.19.0" } } diff --git a/plugins/objectdetector/src/main.ts b/plugins/objectdetector/src/main.ts index abaf79a52..750473177 100644 --- a/plugins/objectdetector/src/main.ts +++ b/plugins/objectdetector/src/main.ts @@ -697,7 +697,7 @@ class ObjectDetectionMixin extends SettingsMixinDeviceBase p.name === frameGenerator) || webassembly || gstreamer || libav || ffmpeg; + const use = pipelines.find(p => p.name === frameGenerator) || webassembly || libav || gstreamer || ffmpeg; return use.id; }