{ "name": "live", "version": "1.0.0", "description": "OpenVibe.Live — free & open live streaming. Part of the OpenVibe network (media by OpenVibe.Media, identity by OpenVibe.Network).", "main": "server/index.js", "scripts": { "start": "node server/index.js", "dev": "NODE_ENV=development node server/index.js", "test": "node test/run.js", "test:unit": "node test/run.js", "test:pg": "LIVE_TEST_STORE=pg node test/run.js", "test:analytics-pg": "LIVE_TEST_STORE=pg node test/analytics-store.test.js && LIVE_TEST_STORE=pg node test/analytics-privacy.test.js", "test:powerchat": "for f in test/powerchat-*.test.js; do node \"$f\" || exit 1; done", "test:browser": "node test/browser/smoke.js", "test:bot-overlay": "node test/browser/bot-overlay.js", "perf:page": "node scripts/perf/measure-page.js", "perf:budget": "node scripts/perf/check-budgets.js", "n-1:record": "node scripts/n-1-record.js" }, "keywords": [ "streaming", "live", "webrtc", "jsmpeg", "rtmp", "mediasoup", "openvibe" ], "author": "OpenVibe.Live Community", "license": "MIT", "dependencies": { "@roamhq/wrtc": "^0.8.0", "bcryptjs": "^2.4.3", "cookie-parser": "^1.4.6", "cors": "^2.8.5", "dotenv": "^16.4.5", "esbuild": "^0.28.2", "express": "^4.21.0", "express-rate-limit": "^7.4.0", "geoip-lite": "^2.0.0", "helmet": "^7.1.0", "mediasoup": "^3.14.14", "mediasoup-client": "^3.15.7", "multer": "^1.4.5-lts.1", "node-media-server": "^2.7.1", "onnxruntime-node": "^1.20.0", "openvibe-contracts": "https://codeload.github.com/OpenVibers/OpenVibe.Contracts/tar.gz/refs/tags/v0.419.0", "openvibe-sdk": "https://codeload.github.com/OpenVibers/OpenVibe.SDK/tar.gz/refs/tags/v0.161.0", "openvibe-shared": "https://codeload.github.com/OpenVibers/OpenVibe.Shared/tar.gz/refs/tags/v4.238.0", "pg": "^8.23.1", "sanitize-html": "^2.17.7", "sdp-transform": "^3.0.0", "sharp": "^0.33.0", "uuid": "^10.0.0", "werift": "^0.24.4", "ws": "^8.18.0" }, "engines": { "node": ">=18.0.0" }, "devDependencies": { "@electric-sql/pglite": "^0.5.8", "jsonwebtoken": "^9.0.3" } }