@camera.ui/camera-ui-eufy 0.0.12 → 0.0.14

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.
@@ -312,6 +312,14 @@
312
312
  "defaultValue": "camera.ui",
313
313
  "store": true
314
314
  },
315
+ "useP2P": {
316
+ "type": "boolean",
317
+ "title": "Use P2P",
318
+ "description": "Use P2P for live stream",
319
+ "required": false,
320
+ "defaultValue": false,
321
+ "store": true
322
+ },
315
323
  "maxLiveStreamDuration": {
316
324
  "type": "number",
317
325
  "title": "Max Live Stream Duration",
package/dist/camera.d.ts CHANGED
@@ -12,6 +12,7 @@ export declare class Camera implements CameraDelegate {
12
12
  private ffmpegPath?;
13
13
  private rtspServer;
14
14
  private localLivestreamManager;
15
+ private talkbackStream;
15
16
  constructor(platform: Eufy, home: EufyHome, eufyClient: EufySecurity, eufyDevice: EufyCamera, logger: PluginLogger);
16
17
  createCameraDevice(): Promise<void>;
17
18
  snapshot(): Promise<ArrayBuffer | undefined>;
package/dist/camera.js CHANGED
@@ -3,7 +3,6 @@ import { RTSPSingleServer } from '@camera.ui/rtsp';
3
3
  import { PropertyName } from 'eufy-security-client';
4
4
  import { LocalLivestreamManager } from './eufy/LocalLiveStreamManager.js';
5
5
  import { TalkbackStream } from './eufy/Talkback.js';
6
- import { is_rtsp_ready } from './eufy/utils.js';
7
6
  export class Camera {
8
7
  cameraDevice;
9
8
  platform;
@@ -14,6 +13,7 @@ export class Camera {
14
13
  ffmpegPath;
15
14
  rtspServer;
16
15
  localLivestreamManager;
16
+ talkbackStream;
17
17
  constructor(platform, home, eufyClient, eufyDevice, logger) {
18
18
  this.platform = platform;
19
19
  this.home = home;
@@ -56,19 +56,7 @@ export class Camera {
56
56
  }
57
57
  this.cameraDevice.setDelegate('cameraDelegate', this);
58
58
  this.localLivestreamManager = new LocalLivestreamManager(this.home, this.eufyClient, this.eufyDevice, this.cameraDevice, this.logger);
59
- if (!is_rtsp_ready(this.eufyDevice)) {
60
- const client = this.rtspServer.getClient();
61
- client.streamProcess.then(async (streamProcess) => {
62
- const stationStream = await this.localLivestreamManager.getLocalLivestream();
63
- stationStream.videostream.pipe(streamProcess.cp.stdio[4]);
64
- stationStream.audiostream.pipe(streamProcess.cp.stdio[5]);
65
- streamProcess.cp.on('exit', () => this.localLivestreamManager.stopLocalLiveStream());
66
- });
67
- client.talkbackProcess.then(async (talkbackProcess) => {
68
- const talkbackStream = new TalkbackStream(this.home, this.eufyClient, this.eufyDevice, this.cameraDevice, this.logger);
69
- talkbackProcess.cp.stdout?.pipe(talkbackStream);
70
- });
71
- }
59
+ this.talkbackStream = new TalkbackStream(this.home, this.eufyClient, this.eufyDevice, this.cameraDevice, this.logger);
72
60
  const ffmpegPath = await this.platform.api.coreManager.getFFmpegPath();
73
61
  this.rtspServer.changeFFmpegPath(ffmpegPath);
74
62
  await this.cameraDevice.connect();
@@ -82,13 +70,7 @@ export class Camera {
82
70
  }
83
71
  async createRTSPServer() {
84
72
  let stream;
85
- if (is_rtsp_ready(this.eufyDevice)) {
86
- stream = {
87
- name: 'Eufy',
88
- url: this.eufyDevice.getPropertyValue(PropertyName.DeviceRTSPStreamUrl),
89
- };
90
- }
91
- else {
73
+ if (this.home.useP2P) {
92
74
  stream = {
93
75
  name: 'Eufy',
94
76
  addBackchannel: true,
@@ -103,15 +85,40 @@ export class Camera {
103
85
  },
104
86
  };
105
87
  }
88
+ else {
89
+ stream = {
90
+ name: 'Eufy',
91
+ url: this.eufyDevice.getPropertyValue(PropertyName.DeviceRTSPStreamUrl),
92
+ };
93
+ }
106
94
  const rtspLogger = {
107
95
  // log: this.logger.log.bind(this.logger),
108
96
  warn: this.logger.warn.bind(this.logger),
109
97
  error: this.logger.error.bind(this.logger),
110
- // debug: this.logger.debug.bind(this.logger),
111
- // trace: this.logger.trace.bind(this.logger),
98
+ debug: this.logger.trace.bind(this.logger),
112
99
  };
113
100
  this.rtspServer = await RTSPSingleServer.initialize({ stream }, rtspLogger);
114
101
  await this.rtspServer.listen();
102
+ if (this.home.useP2P) {
103
+ const client = this.rtspServer.getClient();
104
+ client.onStreamStarted.subscribe(async (streamProcess) => {
105
+ try {
106
+ const stationStream = await this.localLivestreamManager.getLocalLivestream();
107
+ stationStream.videostream.pipe(streamProcess.cp.stdio[4]);
108
+ stationStream.audiostream.pipe(streamProcess.cp.stdio[5]);
109
+ }
110
+ catch (error) {
111
+ this.logger.error(this.home.name, this.cameraDevice.name, 'Failed to start local livestream:', error);
112
+ streamProcess.kill();
113
+ }
114
+ });
115
+ client.onStreamStopped.subscribe(() => {
116
+ this.localLivestreamManager.stopLocalLiveStream();
117
+ });
118
+ client.onTalkbackProcessStarted.subscribe((talkbackProcess) => {
119
+ talkbackProcess.cp.stdout?.pipe(this.talkbackStream);
120
+ });
121
+ }
115
122
  }
116
123
  checkStates() {
117
124
  this.logger.debug(`${this.cameraDevice.name}: Checking states...`);
@@ -1 +1 @@
1
- {"version":3,"file":"camera.js","sourceRoot":"","sources":["../src/camera.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"camera.js","sourceRoot":"","sources":["../src/camera.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -20,6 +20,7 @@ export interface EufyHome {
20
20
  deviceName?: string;
21
21
  debug?: boolean;
22
22
  maxLiveStreamDuration?: number;
23
+ useP2P?: boolean;
23
24
  ignoreDevices?: string[];
24
25
  }
25
26
  export interface Config {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "displayName": "Eufy",
3
3
  "name": "@camera.ui/camera-ui-eufy",
4
- "version": "0.0.12",
4
+ "version": "0.0.14",
5
5
  "description": "camera.ui eufy plugin",
6
6
  "author": "seydx (https://github.com/seydx/camera.ui)",
7
7
  "main": "./dist/index.js",
@@ -16,16 +16,16 @@
16
16
  },
17
17
  "dependencies": {
18
18
  "@camera.ui/common": "^0.0.5",
19
- "@camera.ui/rtsp": "^0.0.32",
20
- "eufy-security-client": "^3.0.0"
19
+ "@camera.ui/rtsp": "^0.0.35",
20
+ "eufy-security-client": "^3.1.0"
21
21
  },
22
22
  "devDependencies": {
23
- "@camera.ui/types": "^0.0.59",
23
+ "@camera.ui/types": "^0.0.60",
24
24
  "@rushstack/eslint-patch": "^1.10.4",
25
- "@types/node": "^22.5.0",
25
+ "@types/node": "^22.5.3",
26
26
  "@types/ws": "^8.5.12",
27
- "@typescript-eslint/eslint-plugin": "^8.3.0",
28
- "@typescript-eslint/parser": "^8.3.0",
27
+ "@typescript-eslint/eslint-plugin": "^8.4.0",
28
+ "@typescript-eslint/parser": "^8.4.0",
29
29
  "concurrently": "^8.2.2",
30
30
  "eslint": "8.57.0",
31
31
  "eslint-config-prettier": "^9.1.0",
@@ -39,7 +39,7 @@
39
39
  "url": "https://github.com/seydx/camera.ui/issues"
40
40
  },
41
41
  "engines": {
42
- "camera.ui": ">=0.0.17",
42
+ "camera.ui": ">=0.0.30-alpha.0",
43
43
  "node": ">=18.12.0"
44
44
  },
45
45
  "homepage": "https://github.com/seydx/camera.ui#readme",