@homebridge-plugins/homebridge-eufy-security 4.6.0-beta.3 → 4.6.0-beta.30
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.
- package/.claude/CLAUDE.md +175 -0
- package/.claude/PRD.md +241 -0
- package/.claude/skills/architect/SKILL.md +76 -0
- package/.claude/skills/developer/SKILL.md +59 -0
- package/.claude/skills/new-device-support/SKILL.md +102 -51
- package/.claude/skills/new-device-support/check-device.mjs +363 -0
- package/.claude/skills/new-device-support/map-properties.mjs +144 -10
- package/.claude/skills/new-device-support/verify-device.mjs +272 -0
- package/.claude/skills/planner/SKILL.md +100 -0
- package/.claude/skills/qa/SKILL.md +79 -0
- package/.claude/skills/support/SKILL.md +175 -0
- package/dist/accessories/CameraAccessory.js +7 -0
- package/dist/accessories/CameraAccessory.js.map +1 -1
- package/dist/controller/LocalLivestreamManager.js +79 -8
- package/dist/controller/LocalLivestreamManager.js.map +1 -1
- package/dist/controller/recordingDelegate.js +19 -6
- package/dist/controller/recordingDelegate.js.map +1 -1
- package/dist/controller/streamingDelegate.js +6 -3
- package/dist/controller/streamingDelegate.js.map +1 -1
- package/dist/platform.js +3 -25
- package/dist/platform.js.map +1 -1
- package/dist/utils/configTypes.js +1 -0
- package/dist/utils/configTypes.js.map +1 -1
- package/dist/utils/ffmpeg.js +123 -15
- package/dist/utils/ffmpeg.js.map +1 -1
- package/dist/utils/utils.js +27 -2
- package/dist/utils/utils.js.map +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/homebridge-ui/public/assets/devices/eufyCamS4_large.png +0 -0
- package/homebridge-ui/public/assets/devices/homebase3_large.png +0 -0
- package/homebridge-ui/public/assets/devices/nvr_s4_max_T8N00_large.png +0 -0
- package/homebridge-ui/public/utils/device-images.js +1 -0
- package/homebridge-ui/public/views/device-detail.js +10 -0
- package/homebridge-ui/server.js +1 -25
- package/package.json +7 -7
- package/scripts/decrypt-diagnostics.mjs +6 -7
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: support
|
|
3
|
+
description: Triage a GitHub issue using diagnostics archives and logs. Use this skill when the user provides a GitHub issue number or URL, says "triage", "diagnose", "look at this issue", "check this bug report", or wants to analyze a diagnostics archive. Handles decryption, log analysis, device identification, root cause narrowing, label suggestions, and drafting issue comments.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Support / Issue Triage
|
|
7
|
+
|
|
8
|
+
You are a support triage agent for homebridge-eufy-security. Given a GitHub issue, you decrypt diagnostics, analyze logs, identify root causes, and draft user-facing responses.
|
|
9
|
+
|
|
10
|
+
Refer to CLAUDE.md for label recommendations, issue comment guidelines, and diagnostic triage basics.
|
|
11
|
+
|
|
12
|
+
## Input
|
|
13
|
+
|
|
14
|
+
The user provides `$ARGUMENTS` as either:
|
|
15
|
+
- A GitHub issue number (e.g. `423`)
|
|
16
|
+
- A GitHub issue URL (e.g. `https://github.com/homebridge-plugins/homebridge-eufy-security/issues/423`)
|
|
17
|
+
|
|
18
|
+
## Step 1 -- Fetch the issue
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
gh issue view <number> --repo homebridge-plugins/homebridge-eufy-security
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Extract:
|
|
25
|
+
- What the user reports (symptoms, expected vs actual behavior)
|
|
26
|
+
- Device model/type if mentioned
|
|
27
|
+
- Plugin version if mentioned
|
|
28
|
+
- Whether a diagnostics archive is attached
|
|
29
|
+
|
|
30
|
+
If no diagnostics attached, draft a comment asking the user to export diagnostics with debug mode enabled and stop.
|
|
31
|
+
|
|
32
|
+
## Step 2 -- Download and decrypt diagnostics
|
|
33
|
+
|
|
34
|
+
Download the `.tar.gz.enc` attachment, then:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
node scripts/decrypt-diagnostics.mjs <file>.tar.gz.enc
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
The script prints the archive creation date. Note if the archive is older than 90 days -- data may be stale.
|
|
41
|
+
|
|
42
|
+
## Step 3 -- Validate archive completeness
|
|
43
|
+
|
|
44
|
+
List the extracted files and check what's present:
|
|
45
|
+
|
|
46
|
+
| File | Required for |
|
|
47
|
+
|---|---|
|
|
48
|
+
| `accessories.json` | All issues |
|
|
49
|
+
| `eufy-security.log` | Runtime issues |
|
|
50
|
+
| `eufy-lib.log` | Runtime issues |
|
|
51
|
+
| `configui-server.log` | UI issues |
|
|
52
|
+
| `configui-lib.log` | UI issues |
|
|
53
|
+
| `ffmpeg.log` | Streaming/snapshot issues |
|
|
54
|
+
| `ffmpeg-<serial>.log` | Per-camera streaming issues |
|
|
55
|
+
| `ffmpeg-snapshots.log` | Snapshot issues |
|
|
56
|
+
| `unsupported.json` | Device support requests |
|
|
57
|
+
|
|
58
|
+
**Stop conditions:**
|
|
59
|
+
- Runtime logs missing (`eufy-security.log`, `eufy-lib.log`) -- ask user to restart Homebridge, wait for full load, re-export
|
|
60
|
+
- Only `accessories.json` present -- archive incomplete, can only confirm device presence
|
|
61
|
+
|
|
62
|
+
## Step 4 -- Check debug mode
|
|
63
|
+
|
|
64
|
+
In `eufy-security.log`, check the first lines:
|
|
65
|
+
- **Debug ON**: log level `DEBUG`, file/line references (e.g. `platform.ts:311`), logger name includes version (e.g. `[EufySecurity-4.4.2-beta.41]`)
|
|
66
|
+
- **Debug OFF**: log level starts at `INFO`, no file/line refs, logger name is just `[EufySecurity]`
|
|
67
|
+
|
|
68
|
+
Also check config dump for `"enableDetailedLogging":true`.
|
|
69
|
+
|
|
70
|
+
If debug is disabled, ask the user to enable `Detailed Logging` in plugin settings and re-export. Label `debug log missing`.
|
|
71
|
+
|
|
72
|
+
## Step 5 -- Extract environment
|
|
73
|
+
|
|
74
|
+
From the first lines of `eufy-security.log`:
|
|
75
|
+
- Plugin version
|
|
76
|
+
- eufy-security-client version
|
|
77
|
+
- Node.js version
|
|
78
|
+
- OS and architecture
|
|
79
|
+
|
|
80
|
+
**HOOBS check**: If the environment indicates HOOBS (storage path, OS, or user mentions it), label `hoobs` + `wontfix`, comment, and close per CLAUDE.md guidelines.
|
|
81
|
+
|
|
82
|
+
**Node.js check**: Plugin requires Node.js 20, 22, or 24. If on an unsupported version, note it.
|
|
83
|
+
|
|
84
|
+
**PKCS1 check**: Node.js 24.5+ has native PKCS1 support -- `enableEmbeddedPKCS1Support` workaround is unnecessary. For Node.js 20/22, the embedded fallback is still needed.
|
|
85
|
+
|
|
86
|
+
## Step 6 -- Check config for excluded devices
|
|
87
|
+
|
|
88
|
+
From the config dump in `eufy-security.log`:
|
|
89
|
+
- `ignoreDevices` -- serial numbers excluded
|
|
90
|
+
- `ignoreStations` -- station serials excluded
|
|
91
|
+
- `cleanCache` -- stale accessory pruning
|
|
92
|
+
|
|
93
|
+
In `accessories.json`:
|
|
94
|
+
- `disabled: true` on a station -- its devices won't load
|
|
95
|
+
- `ignored: true` on a device -- excluded
|
|
96
|
+
- `unsupported: true` -- device type not supported
|
|
97
|
+
|
|
98
|
+
## Step 7 -- Confirm device presence
|
|
99
|
+
|
|
100
|
+
Search `accessories.json` for the reported device by type, model, serial, or name. Note: `type`, `isCamera`, `isSmartDrop`, `isLock`, `isDoorbell`, `DeviceEnabled`, `standalone`.
|
|
101
|
+
|
|
102
|
+
## Step 8 -- Analyze logs
|
|
103
|
+
|
|
104
|
+
### Runtime issues (`eufy-security.log`)
|
|
105
|
+
- Device discovery: search for device name/serial, `register_device`
|
|
106
|
+
- Discovery warnings: `[DISCOVERY WARNING]`, `[DEVICE SKIP]`, `[STATION SKIP]`
|
|
107
|
+
- Accessory instantiation: `Constructed`, `REGISTER CHARACTERISTIC`, `SEED`
|
|
108
|
+
- Service pruning: `Pruning unused service`
|
|
109
|
+
- Property events: `Property Changes`, `ON '...`
|
|
110
|
+
- Errors: `Error`, stack traces
|
|
111
|
+
|
|
112
|
+
### Library issues (`eufy-lib.log`)
|
|
113
|
+
- Device serial presence -- did the library load it?
|
|
114
|
+
- `property changed` events
|
|
115
|
+
- Connection/authentication errors
|
|
116
|
+
- Push notification handling
|
|
117
|
+
|
|
118
|
+
### Boundary determination
|
|
119
|
+
|
|
120
|
+
| Symptom | Layer |
|
|
121
|
+
|---|---|
|
|
122
|
+
| Device missing from `eufy-lib.log` or API errors | `eufy-security-client` |
|
|
123
|
+
| Device loads in library but fails in accessory registration | `homebridge-eufy-security` |
|
|
124
|
+
| P2P/push/MQTT failures | `eufy-security-client` |
|
|
125
|
+
| HomeKit service wrong or missing | `homebridge-eufy-security` |
|
|
126
|
+
| Config not applied | `homebridge-eufy-security` |
|
|
127
|
+
|
|
128
|
+
### Streaming issues
|
|
129
|
+
|
|
130
|
+
Check per-camera FFmpeg log (`ffmpeg-<serial>.log`) first -- it isolates that camera's stderr. Look for codec errors, resolution mismatches, connection failures.
|
|
131
|
+
|
|
132
|
+
If logs are insufficient for livestream issues, consider requesting temporary device sharing:
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
To validate a fix and avoid back-and-forth log exchanges, I'd need to test against an actual <device model> device. Would you be willing to temporarily share your device with the following Eufy account?
|
|
136
|
+
|
|
137
|
+
homebridge.eufy.sec@gmail.com
|
|
138
|
+
|
|
139
|
+
Please also let me know which country your account is registered in.
|
|
140
|
+
|
|
141
|
+
This is entirely optional -- no obligation. I understand sharing device access requires trust. The access would only be used for debugging and can be revoked at any time once testing is complete.
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Step 9 -- Cross-reference with code
|
|
145
|
+
|
|
146
|
+
If needed, read the relevant source to confirm behavior. Use the Architecture section in CLAUDE.md to locate the right files.
|
|
147
|
+
|
|
148
|
+
## Step 10 -- Produce triage report
|
|
149
|
+
|
|
150
|
+
Output:
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
## Triage: #<issue-number> -- <title>
|
|
154
|
+
|
|
155
|
+
### Environment
|
|
156
|
+
- Plugin: <version>
|
|
157
|
+
- eufy-security-client: <version>
|
|
158
|
+
- Node.js: <version>
|
|
159
|
+
- OS: <os>
|
|
160
|
+
|
|
161
|
+
### Root cause
|
|
162
|
+
<concise explanation with file:line references if applicable>
|
|
163
|
+
|
|
164
|
+
### Layer
|
|
165
|
+
homebridge-eufy-security / eufy-security-client / configuration issue / inconclusive
|
|
166
|
+
|
|
167
|
+
### Suggested labels
|
|
168
|
+
<comma-separated labels from CLAUDE.md label table>
|
|
169
|
+
|
|
170
|
+
### Suggested action
|
|
171
|
+
<what to do next: fix, upstream issue, request more info, close>
|
|
172
|
+
|
|
173
|
+
### Draft comment
|
|
174
|
+
<user-facing comment ready to post -- formal, concise, first person, simple language, no jargon>
|
|
175
|
+
```
|
|
@@ -2,6 +2,7 @@ import { DeviceAccessory } from './Device.js';
|
|
|
2
2
|
// @ts-ignore
|
|
3
3
|
import { PropertyName, CommandName } from 'eufy-security-client';
|
|
4
4
|
import { DEFAULT_CAMERACONFIG_VALUES } from '../utils/configTypes.js';
|
|
5
|
+
import { probeHardwareEncoder } from '../utils/ffmpeg.js';
|
|
5
6
|
import { CHAR, SERV } from '../utils/utils.js';
|
|
6
7
|
import { StreamingDelegate } from '../controller/streamingDelegate.js';
|
|
7
8
|
import { RecordingDelegate } from '../controller/recordingDelegate.js';
|
|
@@ -55,6 +56,12 @@ export class CameraAccessory extends DeviceAccessory {
|
|
|
55
56
|
this.cameraStatus = { isEnabled: false, timestamp: 0 }; // Initialize the cameraStatus object
|
|
56
57
|
this.log.debug(`Constructed Camera`);
|
|
57
58
|
this.cameraConfig = this.getCameraConfig();
|
|
59
|
+
const hw = probeHardwareEncoder(this.platform.hostSystem);
|
|
60
|
+
this.hardwareTranscoding = hw !== null;
|
|
61
|
+
this.hardwareDecoding = hw?.decoder !== undefined;
|
|
62
|
+
if (hw) {
|
|
63
|
+
this.log.debug(`Using hardware encoder: ${hw.encoder}`);
|
|
64
|
+
}
|
|
58
65
|
this.standalone = device.getSerial() === device.getStationSerial();
|
|
59
66
|
this.log.debug(`Is standalone?`, this.standalone);
|
|
60
67
|
if (this.cameraConfig.enableCamera) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CameraAccessory.js","sourceRoot":"","sources":["../../src/accessories/CameraAccessory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CameraAccessory.js","sourceRoot":"","sources":["../../src/accessories/CameraAccessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
|
+
import { PassThrough } from 'stream';
|
|
1
2
|
import { Deferred } from '../utils/utils.js';
|
|
2
3
|
const P2P_TIMEOUT_MS = 15_000;
|
|
3
4
|
const DUPLICATE_STREAM_GUARD_S = 5;
|
|
4
5
|
const MAX_RETRIES = 3;
|
|
5
6
|
const BASE_RETRY_DELAY_MS = 2_000;
|
|
6
7
|
const MAX_RETRY_DELAY_MS = 10_000;
|
|
8
|
+
/** Grace period before actually stopping a P2P stream after the last consumer releases. */
|
|
9
|
+
const STOP_GRACE_MS = 5_000;
|
|
7
10
|
export class LocalLivestreamManager {
|
|
8
11
|
stationStream = null;
|
|
9
12
|
pending = null;
|
|
10
13
|
retryCount = 0;
|
|
14
|
+
stopGraceTimer = null;
|
|
15
|
+
/** Number of consumers currently holding a forked copy of the stream. */
|
|
16
|
+
activeConsumers = 0;
|
|
11
17
|
eufyClient;
|
|
12
18
|
log;
|
|
13
19
|
serialNumber;
|
|
@@ -27,16 +33,50 @@ export class LocalLivestreamManager {
|
|
|
27
33
|
this.stationStream.videostream.unpipe();
|
|
28
34
|
this.stationStream.videostream.destroy();
|
|
29
35
|
this.stationStream = null;
|
|
36
|
+
this.activeConsumers = 0;
|
|
30
37
|
}
|
|
31
38
|
}
|
|
32
|
-
/**
|
|
39
|
+
/**
|
|
40
|
+
* Return a forked copy of the active livestream, or start a new one.
|
|
41
|
+
* Each caller gets its own PassThrough fork so that when one consumer's
|
|
42
|
+
* FFmpeg exits and destroys its input, the underlying P2P stream survives
|
|
43
|
+
* for other consumers. A consumer count tracks active forks so the P2P
|
|
44
|
+
* session is only stopped when the last consumer calls stopLocalLiveStream().
|
|
45
|
+
*/
|
|
33
46
|
async getLocalLiveStream() {
|
|
34
|
-
if (this.
|
|
35
|
-
|
|
36
|
-
this.
|
|
37
|
-
|
|
47
|
+
if (this.stopGraceTimer) {
|
|
48
|
+
clearTimeout(this.stopGraceTimer);
|
|
49
|
+
this.stopGraceTimer = null;
|
|
50
|
+
this.log.debug('Cancelled deferred stop — reusing active stream.');
|
|
51
|
+
}
|
|
52
|
+
if (!this.stationStream) {
|
|
53
|
+
await this.startLocalLiveStream();
|
|
54
|
+
}
|
|
55
|
+
if (!this.stationStream) {
|
|
56
|
+
throw new Error('Livestream failed to start.');
|
|
38
57
|
}
|
|
39
|
-
|
|
58
|
+
const runtime = ((Date.now() - this.stationStream.createdAt) / 1000).toFixed(1);
|
|
59
|
+
this.activeConsumers++;
|
|
60
|
+
this.log.debug(`Providing forked stream (consumers: ${this.activeConsumers}, ` +
|
|
61
|
+
`stream age: ${runtime}s).`);
|
|
62
|
+
return this.forkStream(this.stationStream);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Create PassThrough forks of the video and audio streams. The forks
|
|
66
|
+
* automatically unpipe when closed so the originals stay healthy.
|
|
67
|
+
*/
|
|
68
|
+
forkStream(source) {
|
|
69
|
+
const videoFork = new PassThrough();
|
|
70
|
+
const audioFork = new PassThrough();
|
|
71
|
+
source.videostream.pipe(videoFork);
|
|
72
|
+
source.audiostream.pipe(audioFork);
|
|
73
|
+
videoFork.on('close', () => source.videostream.unpipe(videoFork));
|
|
74
|
+
audioFork.on('close', () => source.audiostream.unpipe(audioFork));
|
|
75
|
+
return {
|
|
76
|
+
videostream: videoFork,
|
|
77
|
+
audiostream: audioFork,
|
|
78
|
+
metadata: source.metadata,
|
|
79
|
+
};
|
|
40
80
|
}
|
|
41
81
|
/** True when a P2P livestream is currently active. */
|
|
42
82
|
isStreamActive() {
|
|
@@ -103,11 +143,42 @@ export class LocalLivestreamManager {
|
|
|
103
143
|
this.pending = null;
|
|
104
144
|
this.log.error(`Livestream failed after ${MAX_RETRIES + 1} attempts.`);
|
|
105
145
|
p.deferred.reject(payload instanceof Error ? payload : new Error(String(payload)));
|
|
106
|
-
this.
|
|
146
|
+
this.forceStopLocalLiveStream();
|
|
107
147
|
}
|
|
108
148
|
}
|
|
149
|
+
/**
|
|
150
|
+
* Signal that a consumer is done with its forked stream. When the last
|
|
151
|
+
* consumer releases, the P2P session is stopped after a short grace period
|
|
152
|
+
* to allow a subsequent consumer (e.g. a livestream right after a snapshot)
|
|
153
|
+
* to reuse the session without a stop/start cycle.
|
|
154
|
+
*/
|
|
109
155
|
stopLocalLiveStream() {
|
|
156
|
+
this.activeConsumers = Math.max(0, this.activeConsumers - 1);
|
|
157
|
+
this.log.debug(`Consumer released (remaining: ${this.activeConsumers}).`);
|
|
158
|
+
if (this.activeConsumers > 0) {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
// Last consumer — schedule a deferred stop
|
|
162
|
+
if (this.stopGraceTimer)
|
|
163
|
+
return;
|
|
164
|
+
this.log.debug(`Deferring stream stop by ${STOP_GRACE_MS / 1000}s to allow reuse.`);
|
|
165
|
+
this.stopGraceTimer = setTimeout(() => {
|
|
166
|
+
this.stopGraceTimer = null;
|
|
167
|
+
if (this.activeConsumers > 0) {
|
|
168
|
+
this.log.debug('Grace period expired but new consumer(s) present — not stopping.');
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
this.log.debug('Grace period expired — stopping stream now.');
|
|
172
|
+
this.forceStopLocalLiveStream();
|
|
173
|
+
}, STOP_GRACE_MS);
|
|
174
|
+
}
|
|
175
|
+
/** Unconditionally tear down the P2P session and all state. */
|
|
176
|
+
forceStopLocalLiveStream() {
|
|
110
177
|
this.log.debug('Stopping station livestream.');
|
|
178
|
+
if (this.stopGraceTimer) {
|
|
179
|
+
clearTimeout(this.stopGraceTimer);
|
|
180
|
+
this.stopGraceTimer = null;
|
|
181
|
+
}
|
|
111
182
|
this.retryCount = 0;
|
|
112
183
|
if (this.pending) {
|
|
113
184
|
clearTimeout(this.pending.timer);
|
|
@@ -143,7 +214,7 @@ export class LocalLivestreamManager {
|
|
|
143
214
|
this.destroyStreams();
|
|
144
215
|
this.log.debug(`${station.getName()} P2P livestream for ${device.getName()} started.`);
|
|
145
216
|
this.log.debug('Stream metadata:', JSON.stringify(metadata));
|
|
146
|
-
this.stationStream = { videostream, audiostream, createdAt: Date.now() };
|
|
217
|
+
this.stationStream = { videostream, audiostream, metadata, createdAt: Date.now() };
|
|
147
218
|
this.settlePending('resolve', this.stationStream);
|
|
148
219
|
};
|
|
149
220
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalLivestreamManager.js","sourceRoot":"","sources":["../../src/controller/LocalLivestreamManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LocalLivestreamManager.js","sourceRoot":"","sources":["../../src/controller/LocalLivestreamManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { PropertyName } from 'eufy-security-client';
|
|
2
2
|
import { FFmpeg, FFmpegParameters } from '../utils/ffmpeg.js';
|
|
3
|
-
import { CHAR, SERV, isRtspReady, log, ffmpegLoggerFactory } from '../utils/utils.js';
|
|
3
|
+
import { CHAR, SERV, isRtspReady, applyP2PAudioFormat, log, ffmpegLoggerFactory } from '../utils/utils.js';
|
|
4
4
|
const MAX_RECORDING_MINUTES = 1; // should never be used
|
|
5
5
|
/** Max time (ms) to wait for the next fMP4 box before considering the stream stalled. */
|
|
6
6
|
const SEGMENT_HEARTBEAT_TIMEOUT_MS = 10_000;
|
|
7
|
+
/** Minimum moof+mdat fragments before honouring motion-stopped to avoid ultra-short recordings. */
|
|
8
|
+
const MIN_FRAGMENTS_BEFORE_STOP = 2;
|
|
7
9
|
const HKSVQuitReason = [
|
|
8
10
|
'Normal',
|
|
9
11
|
'Not allowed',
|
|
@@ -74,6 +76,7 @@ export class RecordingDelegate {
|
|
|
74
76
|
else {
|
|
75
77
|
const streamData = await this.localLivestreamManager.getLocalLiveStream();
|
|
76
78
|
await videoParams.setInputStream(streamData.videostream);
|
|
79
|
+
applyP2PAudioFormat(audioParams, streamData.metadata.audioCodec);
|
|
77
80
|
await audioParams.setInputStream(streamData.audiostream);
|
|
78
81
|
}
|
|
79
82
|
}
|
|
@@ -87,7 +90,8 @@ export class RecordingDelegate {
|
|
|
87
90
|
yield { data: Buffer.alloc(0), isLast: true };
|
|
88
91
|
return;
|
|
89
92
|
}
|
|
90
|
-
const audioEnabled = this.
|
|
93
|
+
const audioEnabled = this.cameraConfig.audio !== false
|
|
94
|
+
&& this.controller?.recordingManagement?.recordingManagementService.getCharacteristic(CHAR.RecordingAudioActive).value;
|
|
91
95
|
log.debug(this.camera.getName(), `HKSV audio recording: ${audioEnabled ? 'enabled' : 'disabled'}.`);
|
|
92
96
|
const videoParams = await FFmpegParameters.forVideoRecording();
|
|
93
97
|
const audioParams = await FFmpegParameters.forAudioRecording();
|
|
@@ -148,6 +152,7 @@ export class RecordingDelegate {
|
|
|
148
152
|
let moofBuffer = null;
|
|
149
153
|
let isInit = true;
|
|
150
154
|
let fragmentCount = 0;
|
|
155
|
+
let sentLast = false;
|
|
151
156
|
let heartbeatTimer;
|
|
152
157
|
const resetHeartbeat = () => {
|
|
153
158
|
if (heartbeatTimer)
|
|
@@ -184,14 +189,22 @@ export class RecordingDelegate {
|
|
|
184
189
|
const fragment = Buffer.concat([moofBuffer, header, data]);
|
|
185
190
|
moofBuffer = null;
|
|
186
191
|
fragmentCount++;
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
192
|
+
const motionStopped = !this.isMotionDetected() && fragmentCount >= MIN_FRAGMENTS_BEFORE_STOP;
|
|
193
|
+
const isLast = motionStopped || !this.handlingStreamingRequest;
|
|
194
|
+
log.debug(cameraName, `HKSV: Fragment #${fragmentCount}, size: ${fragment.length}${isLast ? ' (final)' : ''}`);
|
|
195
|
+
yield { data: fragment, isLast };
|
|
196
|
+
if (isLast) {
|
|
197
|
+
sentLast = true;
|
|
198
|
+
log.debug(cameraName, motionStopped
|
|
199
|
+
? 'Ending recording session due to motion stopped.'
|
|
200
|
+
: 'Ending recording session due to stream close.');
|
|
191
201
|
break;
|
|
192
202
|
}
|
|
193
203
|
}
|
|
194
204
|
}
|
|
205
|
+
if (!sentLast && !isInit) {
|
|
206
|
+
log.warn(cameraName, `HKSV: Recording ended after ${fragmentCount} fragment(s) without signalling end-of-stream to HomeKit.`);
|
|
207
|
+
}
|
|
195
208
|
}
|
|
196
209
|
finally {
|
|
197
210
|
if (heartbeatTimer)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recordingDelegate.js","sourceRoot":"","sources":["../../src/controller/recordingDelegate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAW5D,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"recordingDelegate.js","sourceRoot":"","sources":["../../src/controller/recordingDelegate.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { pickPort } from 'pick-port';
|
|
|
3
3
|
import { PropertyName } from 'eufy-security-client';
|
|
4
4
|
import { FFmpeg, FFmpegParameters } from '../utils/ffmpeg.js';
|
|
5
5
|
import { TalkbackStream } from '../utils/Talkback.js';
|
|
6
|
-
import { HAP, isRtspReady, ffmpegLoggerFactory } from '../utils/utils.js';
|
|
6
|
+
import { HAP, isRtspReady, applyP2PAudioFormat, ffmpegLoggerFactory } from '../utils/utils.js';
|
|
7
7
|
import { LocalLivestreamManager } from './LocalLivestreamManager.js';
|
|
8
8
|
import { snapshotDelegate } from './snapshotDelegate.js';
|
|
9
9
|
/** Grace period (ms) before the first RTCP keep-alive is expected. */
|
|
@@ -173,7 +173,7 @@ export class StreamingDelegate {
|
|
|
173
173
|
this.log.warn(`An unsupported audio codec (type: ${request.audio.codec}) was requested. Audio streaming will be omitted.`);
|
|
174
174
|
}
|
|
175
175
|
let audioParams;
|
|
176
|
-
if (isCodecSupported) {
|
|
176
|
+
if (isCodecSupported && this.camera.cameraConfig.audio !== false) {
|
|
177
177
|
audioParams = await FFmpegParameters.forAudio(this.videoConfig.debug);
|
|
178
178
|
audioParams.setup(this.camera.cameraConfig, request);
|
|
179
179
|
audioParams.setRTPTarget(sessionInfo, request);
|
|
@@ -198,7 +198,10 @@ export class StreamingDelegate {
|
|
|
198
198
|
const streamData = await this.localLivestreamManager.getLocalLiveStream();
|
|
199
199
|
this.log.debug('Livestream obtained successfully. Setting up FFmpeg input streams...');
|
|
200
200
|
await videoParams.setInputStream(streamData.videostream);
|
|
201
|
-
|
|
201
|
+
if (audioParams) {
|
|
202
|
+
applyP2PAudioFormat(audioParams, streamData.metadata.audioCodec);
|
|
203
|
+
await audioParams.setInputStream(streamData.audiostream);
|
|
204
|
+
}
|
|
202
205
|
this.log.debug('FFmpeg input streams configured.');
|
|
203
206
|
return true;
|
|
204
207
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streamingDelegate.js","sourceRoot":"","sources":["../../src/controller/streamingDelegate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"streamingDelegate.js","sourceRoot":"","sources":["../../src/controller/streamingDelegate.ts"],"names":[],"mappings":"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"}
|