homebridge-unifi-protect 6.19.0 → 6.21.0
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/README.md +35 -49
- package/dist/devices/protect-camera-package.js +1 -1
- package/dist/devices/protect-camera-package.js.map +1 -1
- package/dist/devices/protect-camera.d.ts +6 -4
- package/dist/devices/protect-camera.js +144 -218
- package/dist/devices/protect-camera.js.map +1 -1
- package/dist/devices/protect-chime.d.ts +3 -0
- package/dist/devices/protect-chime.js +100 -28
- package/dist/devices/protect-chime.js.map +1 -1
- package/dist/devices/protect-device.d.ts +9 -2
- package/dist/devices/protect-device.js +162 -105
- package/dist/devices/protect-device.js.map +1 -1
- package/dist/devices/protect-doorbell.js +48 -81
- package/dist/devices/protect-doorbell.js.map +1 -1
- package/dist/devices/protect-light.js +33 -43
- package/dist/devices/protect-light.js.map +1 -1
- package/dist/devices/protect-liveviews.js +10 -20
- package/dist/devices/protect-liveviews.js.map +1 -1
- package/dist/devices/protect-nvr-systeminfo.js +3 -9
- package/dist/devices/protect-nvr-systeminfo.js.map +1 -1
- package/dist/devices/protect-securitysystem.d.ts +1 -2
- package/dist/devices/protect-securitysystem.js +31 -58
- package/dist/devices/protect-securitysystem.js.map +1 -1
- package/dist/devices/protect-sensor.d.ts +2 -3
- package/dist/devices/protect-sensor.js +154 -204
- package/dist/devices/protect-sensor.js.map +1 -1
- package/dist/devices/protect-viewer.js +21 -28
- package/dist/devices/protect-viewer.js.map +1 -1
- package/dist/ffmpeg/protect-ffmpeg-options.d.ts +14 -2
- package/dist/ffmpeg/protect-ffmpeg-options.js +61 -46
- package/dist/ffmpeg/protect-ffmpeg-options.js.map +1 -1
- package/dist/ffmpeg/protect-ffmpeg-record.js +11 -2
- package/dist/ffmpeg/protect-ffmpeg-record.js.map +1 -1
- package/dist/ffmpeg/protect-ffmpeg-stream.js +2 -2
- package/dist/ffmpeg/protect-ffmpeg-stream.js.map +1 -1
- package/dist/ffmpeg/protect-ffmpeg.js +2 -2
- package/dist/ffmpeg/protect-ffmpeg.js.map +1 -1
- package/dist/protect-events.js +25 -20
- package/dist/protect-events.js.map +1 -1
- package/dist/protect-mqtt.d.ts +2 -2
- package/dist/protect-mqtt.js +17 -3
- package/dist/protect-mqtt.js.map +1 -1
- package/dist/protect-nvr.d.ts +5 -0
- package/dist/protect-nvr.js +46 -24
- package/dist/protect-nvr.js.map +1 -1
- package/dist/protect-options.d.ts +7 -2
- package/dist/protect-options.js +24 -12
- package/dist/protect-options.js.map +1 -1
- package/dist/protect-record.d.ts +3 -1
- package/dist/protect-record.js +29 -15
- package/dist/protect-record.js.map +1 -1
- package/dist/protect-rtp.d.ts +2 -2
- package/dist/protect-rtp.js +8 -9
- package/dist/protect-rtp.js.map +1 -1
- package/dist/protect-snapshot.js +13 -1
- package/dist/protect-snapshot.js.map +1 -1
- package/dist/protect-stream.js +26 -8
- package/dist/protect-stream.js.map +1 -1
- package/dist/protect-types.d.ts +10 -0
- package/dist/protect-types.js +6 -1
- package/dist/protect-types.js.map +1 -1
- package/dist/settings.d.ts +1 -0
- package/dist/settings.js +2 -0
- package/dist/settings.js.map +1 -1
- package/homebridge-ui/public/index.html +11 -12
- package/package.json +12 -12
package/dist/protect-options.js
CHANGED
|
@@ -45,7 +45,7 @@ export const featureOptions = {
|
|
|
45
45
|
// Logging options.
|
|
46
46
|
"Log": [
|
|
47
47
|
{ default: true, description: "Log doorbell ring events in Homebridge.", hasFeature: ["hasMotionZones"], name: "Doorbell" },
|
|
48
|
-
{ default:
|
|
48
|
+
{ default: false, description: "Log HomeKit Secure Video recording events in Homebridge.", hasFeature: ["hasMotionZones"], name: "HKSV" },
|
|
49
49
|
{ default: false, description: "Log motion events in Homebridge.", hasProperty: ["isMotionDetected", "isPirMotionDetected"], name: "Motion" }
|
|
50
50
|
],
|
|
51
51
|
// Motion options.
|
|
@@ -54,6 +54,9 @@ export const featureOptions = {
|
|
|
54
54
|
{ default: false, description: "Add an occupancy sensor accessory using motion sensor activity to determine occupancy. By default, any motion will trigger occupancy. If the smart motion detection feature option is enabled, it will be used instead.", hasProperty: ["isMotionDetected", "isPirMotionDetected"], name: "OccupancySensor" },
|
|
55
55
|
{ default: false, defaultValue: PROTECT_OCCUPANCY_DURATION, description: "Duration, in seconds, to wait without receiving a motion event to determine when occupancy is no longer detected.", group: "OccupancySensor", name: "OccupancySensor.Duration" },
|
|
56
56
|
{ default: false, description: "When using both the occupancy sensor and smart motion detection feature options, use UniFi Protect's animal detection to trigger occupancy.", group: "OccupancySensor", hasFeature: ["hasSmartDetect"], name: "OccupancySensor.Animal" },
|
|
57
|
+
{ default: false, description: "When using both the occupancy sensor and smart motion detection feature options, use UniFi Protect's face detection to trigger occupancy.", group: "OccupancySensor", hasFeature: ["hasSmartDetect"], name: "OccupancySensor.Face" },
|
|
58
|
+
{ default: false, description: "When using both the occupancy sensor and smart motion detection feature options, use UniFi Protect's license plate detection to trigger occupancy.", group: "OccupancySensor", hasFeature: ["hasSmartDetect"], name: "OccupancySensor.LicensePlate" },
|
|
59
|
+
{ default: false, description: "When using both the occupancy sensor and smart motion detection feature options, use UniFi Protect's package detection to trigger occupancy.", group: "OccupancySensor", hasFeature: ["hasSmartDetect"], name: "OccupancySensor.Package" },
|
|
57
60
|
{ default: true, description: "When using both the occupancy sensor and smart motion detection feature options, use UniFi Protect's person detection to trigger occupancy.", group: "OccupancySensor", hasFeature: ["hasSmartDetect"], name: "OccupancySensor.Person" },
|
|
58
61
|
{ default: false, description: "When using both the occupancy sensor and smart motion detection feature options, use UniFi Protect's vehicle detection to trigger occupancy.", group: "OccupancySensor", hasFeature: ["hasSmartDetect"], name: "OccupancySensor.Vehicle" },
|
|
59
62
|
{ default: false, description: "Use UniFi Protect smart motion detection for HomeKit motion events when on a supported device.", hasFeature: ["hasSmartDetect"], name: "SmartDetect" },
|
|
@@ -88,20 +91,21 @@ export const featureOptions = {
|
|
|
88
91
|
{ default: false, defaultValue: 0, description: "Left offset of the crop window, as a percentage of the original image width.", group: "Crop", name: "Crop.X" },
|
|
89
92
|
{ default: false, defaultValue: 0, description: "Top offset of the crop window, as a percentage of the original image height.", group: "Crop", name: "Crop.Y" },
|
|
90
93
|
{ default: false, defaultValue: 100, description: "Width of the crop window, as a percentage of original image width.", group: "Crop", name: "Crop.Width" },
|
|
91
|
-
{ default: false, defaultValue: 100, description: "Height of the crop window, as a percentage of original image height.", group: "Crop", name: "Crop.Height" }
|
|
94
|
+
{ default: false, defaultValue: 100, description: "Height of the crop window, as a percentage of original image height.", group: "Crop", name: "Crop.Height" },
|
|
95
|
+
{ default: true, description: "Enable higher quality snapshots using the timeshift buffer or the livestream.", name: "HighResSnapshots" }
|
|
92
96
|
],
|
|
93
97
|
// HomeKit Secure Video options.
|
|
94
98
|
"Video.HKSV": [
|
|
95
|
-
{ default:
|
|
99
|
+
{ default: true, description: "Enable the timeshift buffer for HomeKit Secure Video.", name: "TimeshiftBuffer" },
|
|
96
100
|
{ default: false, description: "Add a switch accessory to enable or disable HKSV event recording.", name: "Recording.Switch" },
|
|
101
|
+
{ default: false, defaultValue: 0, description: "Maximum HomeKit Secure Video event duration, in seconds.", name: "Recording.MaxDuration" },
|
|
97
102
|
{ default: false, description: "When recording HomeKit Secure Video events, force the use of the high quality video stream from the Protect controller.", name: "Record.Only.High" },
|
|
98
103
|
{ default: false, description: "When recording HomeKit Secure Video events, force the use of the medium quality video stream from the Protect controller.", name: "Record.Only.Medium" },
|
|
99
|
-
{ default: false, description: "When recording HomeKit Secure Video events, force the use of the low quality video stream from the Protect controller.", name: "Record.Only.Low" }
|
|
100
|
-
{ default: true, description: "Enable the timeshift buffer for HomeKit Secure Video.", name: "TimeshiftBuffer" }
|
|
104
|
+
{ default: false, description: "When recording HomeKit Secure Video events, force the use of the low quality video stream from the Protect controller.", name: "Record.Only.Low" }
|
|
101
105
|
]
|
|
102
106
|
};
|
|
103
|
-
// Utility function to
|
|
104
|
-
|
|
107
|
+
// Utility function to return the setting of a particular option and it's position in the scoping hierarchy.
|
|
108
|
+
function getOptionInfo(configOptions, nvrUfp, device, option = "", defaultReturnValue = true) {
|
|
105
109
|
// There are a couple of ways to enable and disable options. The rules of the road are:
|
|
106
110
|
//
|
|
107
111
|
// 1. Explicitly disabling, or enabling an option on the NVR propogates to all the devices
|
|
@@ -113,7 +117,7 @@ export function isOptionEnabled(configOptions, nvrUfp, device, option = "", defa
|
|
|
113
117
|
// device that it's managing.
|
|
114
118
|
// Nothing configured - we assume the default return value.
|
|
115
119
|
if (!configOptions.length) {
|
|
116
|
-
return defaultReturnValue;
|
|
120
|
+
return { scope: "global", value: defaultReturnValue };
|
|
117
121
|
}
|
|
118
122
|
const isOptionSet = (checkOption, checkMac = undefined) => {
|
|
119
123
|
// This regular expression is a bit more intricate than you might think it should be due to the need to ensure we capture values at the very end of the option.
|
|
@@ -133,23 +137,31 @@ export function isOptionEnabled(configOptions, nvrUfp, device, option = "", defa
|
|
|
133
137
|
if (device?.mac) {
|
|
134
138
|
const value = isOptionSet(option, device.mac);
|
|
135
139
|
if (value !== undefined) {
|
|
136
|
-
return value;
|
|
140
|
+
return { scope: "device", value: value };
|
|
137
141
|
}
|
|
138
142
|
}
|
|
139
143
|
// Now check to see if we have an NVR-level option.
|
|
140
144
|
if (nvrUfp?.mac) {
|
|
141
145
|
const value = isOptionSet(option, nvrUfp.mac);
|
|
142
146
|
if (value !== undefined) {
|
|
143
|
-
return value;
|
|
147
|
+
return { scope: "nvr", value: value };
|
|
144
148
|
}
|
|
145
149
|
}
|
|
146
150
|
// Finally, we check for a global-level value.
|
|
147
151
|
const value = isOptionSet(option);
|
|
148
152
|
if (value !== undefined) {
|
|
149
|
-
return value;
|
|
153
|
+
return { scope: "global", value: value };
|
|
150
154
|
}
|
|
151
155
|
// The option hasn't been set at any scope, return our default value.
|
|
152
|
-
return defaultReturnValue;
|
|
156
|
+
return { scope: "global", value: defaultReturnValue };
|
|
157
|
+
}
|
|
158
|
+
// Utility function to let us know whether a feature option should be enabled or not, traversing the scope hierarchy.
|
|
159
|
+
export function isOptionEnabled(configOptions, nvrUfp, device, option = "", defaultReturnValue = true) {
|
|
160
|
+
return getOptionInfo(configOptions, nvrUfp, device, option, defaultReturnValue).value;
|
|
161
|
+
}
|
|
162
|
+
// Utility function to let us know where an option is within the scope heirarchy.
|
|
163
|
+
export function getOptionScope(configOptions, nvrUfp, device, option = "", defaultReturnValue = true) {
|
|
164
|
+
return getOptionInfo(configOptions, nvrUfp, device, option, defaultReturnValue).scope;
|
|
153
165
|
}
|
|
154
166
|
// Utility function to return a value-based feature option for a Protect device.
|
|
155
167
|
export function getOptionValue(configOptions, nvrUfp, device, option) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protect-options.js","sourceRoot":"","sources":["../src/protect-options.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"protect-options.js","sourceRoot":"","sources":["../src/protect-options.ts"],"names":[],"mappings":"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"}
|
package/dist/protect-record.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export declare class ProtectRecordingDelegate implements CameraRecordingDelegate
|
|
|
5
5
|
private _isRecording;
|
|
6
6
|
private readonly accessory;
|
|
7
7
|
private readonly api;
|
|
8
|
+
errors: number;
|
|
8
9
|
private readonly hap;
|
|
9
10
|
private ffmpegStream;
|
|
10
11
|
private isInitialized;
|
|
@@ -15,10 +16,10 @@ export declare class ProtectRecordingDelegate implements CameraRecordingDelegate
|
|
|
15
16
|
private readonly protectCamera;
|
|
16
17
|
private recordingConfig;
|
|
17
18
|
rtspEntry: RtspEntry | null;
|
|
18
|
-
private transmittedSegments;
|
|
19
19
|
private readonly timeshift;
|
|
20
20
|
private timeshiftedSegments;
|
|
21
21
|
private transmitListener;
|
|
22
|
+
private transmittedSegments;
|
|
22
23
|
constructor(protectCamera: ProtectCamera);
|
|
23
24
|
updateRecordingActive(active: boolean): Promise<void>;
|
|
24
25
|
updateRecordingConfiguration(configuration: CameraRecordingConfiguration | undefined): void;
|
|
@@ -29,6 +30,7 @@ export declare class ProtectRecordingDelegate implements CameraRecordingDelegate
|
|
|
29
30
|
private startTransmitting;
|
|
30
31
|
private stopTransmitting;
|
|
31
32
|
restartTimeshifting(): Promise<void>;
|
|
33
|
+
reset(): Promise<void>;
|
|
32
34
|
getTimeshiftBuffer(): Buffer | null;
|
|
33
35
|
get isRecording(): boolean;
|
|
34
36
|
get recordingConfiguration(): CameraRecordingConfiguration | null;
|
package/dist/protect-record.js
CHANGED
|
@@ -6,6 +6,7 @@ export class ProtectRecordingDelegate {
|
|
|
6
6
|
_isRecording;
|
|
7
7
|
accessory;
|
|
8
8
|
api;
|
|
9
|
+
errors;
|
|
9
10
|
hap;
|
|
10
11
|
ffmpegStream;
|
|
11
12
|
isInitialized;
|
|
@@ -16,15 +17,16 @@ export class ProtectRecordingDelegate {
|
|
|
16
17
|
protectCamera;
|
|
17
18
|
recordingConfig;
|
|
18
19
|
rtspEntry;
|
|
19
|
-
transmittedSegments;
|
|
20
20
|
timeshift;
|
|
21
21
|
timeshiftedSegments;
|
|
22
22
|
transmitListener;
|
|
23
|
+
transmittedSegments;
|
|
23
24
|
// Create an instance of the HKSV recording delegate.
|
|
24
25
|
constructor(protectCamera) {
|
|
25
26
|
this._isRecording = false;
|
|
26
27
|
this.accessory = protectCamera.accessory;
|
|
27
28
|
this.api = protectCamera.api;
|
|
29
|
+
this.errors = 0;
|
|
28
30
|
this.hap = protectCamera.api.hap;
|
|
29
31
|
this.ffmpegStream = null;
|
|
30
32
|
this.isInitialized = false;
|
|
@@ -66,9 +68,9 @@ export class ProtectRecordingDelegate {
|
|
|
66
68
|
// Inform the user of the state change, if needed.
|
|
67
69
|
if (!this.isInitialized) {
|
|
68
70
|
this.isInitialized = true;
|
|
69
|
-
this.log.info("HKSV
|
|
70
|
-
"(" + (this.timeshift.length / 1000).toString() + " second timeshift buffer)
|
|
71
|
-
"with no timeshift buffer. This will provide a suboptimal HKSV experience
|
|
71
|
+
this.log.info("HKSV: %s%s, %s kbps %s.", this.protectCamera.hints.hardwareTranscoding ? "hardware-accelerated " : "", this.rtspEntry?.name, this.recordingConfig?.videoCodec.parameters.bitRate.toLocaleString("en-US"), this.protectCamera.hints.timeshift ?
|
|
72
|
+
"(" + (this.timeshift.length / 1000).toString() + " second timeshift buffer)" :
|
|
73
|
+
"with no timeshift buffer. This will provide a suboptimal HKSV experience");
|
|
72
74
|
// Inform the user if there's a maximum event recording duration set.
|
|
73
75
|
if (this.maxRecordingDuration) {
|
|
74
76
|
this.log.info("HKSV recordings will be no longer than ~%s seconds.", this.maxRecordingDuration);
|
|
@@ -199,7 +201,7 @@ export class ProtectRecordingDelegate {
|
|
|
199
201
|
}
|
|
200
202
|
// If there's a prior instance of our transmit handler, clean it up.
|
|
201
203
|
if (this.transmitListener) {
|
|
202
|
-
this.timeshift.
|
|
204
|
+
this.timeshift.off("segment", this.transmitListener);
|
|
203
205
|
this.transmitListener = null;
|
|
204
206
|
}
|
|
205
207
|
// If we don't have a recording configuration from HomeKit or an RTSP profile, we can't continue.
|
|
@@ -272,7 +274,7 @@ export class ProtectRecordingDelegate {
|
|
|
272
274
|
}
|
|
273
275
|
this.isTransmitting = false;
|
|
274
276
|
if (this.transmitListener) {
|
|
275
|
-
this.timeshift.
|
|
277
|
+
this.timeshift.off("segment", this.transmitListener);
|
|
276
278
|
this.transmitListener = null;
|
|
277
279
|
}
|
|
278
280
|
// We actually have one less segment than we think we do since we counted the fMP4 stream header as well, which shouldn't count toward our total of transmitted video
|
|
@@ -287,6 +289,10 @@ export class ProtectRecordingDelegate {
|
|
|
287
289
|
const recordedSeconds = this.timeshiftedSegments ?
|
|
288
290
|
((this.timeshiftedSegments * this.timeshift.segmentLength) / 1000) : (this.transmittedSegments / this.rtspEntry?.channel.idrInterval);
|
|
289
291
|
let recordedTime = "";
|
|
292
|
+
// Calculate the time elements.
|
|
293
|
+
const hours = Math.floor(recordedSeconds / 3600);
|
|
294
|
+
const minutes = Math.floor((recordedSeconds % 3600) / 60);
|
|
295
|
+
const seconds = Math.floor((recordedSeconds % 3600) % 60);
|
|
290
296
|
// Create a nicely formatted string for end users. Yes, the author recognizes this isn't essential, but it does bring a smile to their face.
|
|
291
297
|
if (recordedSeconds < 1) {
|
|
292
298
|
recordedTime = recordedSeconds.toString();
|
|
@@ -295,10 +301,6 @@ export class ProtectRecordingDelegate {
|
|
|
295
301
|
recordedTime = Math.round(recordedSeconds).toString();
|
|
296
302
|
}
|
|
297
303
|
else {
|
|
298
|
-
// Calculate the time elements.
|
|
299
|
-
const hours = Math.floor(recordedSeconds / 3600);
|
|
300
|
-
const minutes = Math.floor((recordedSeconds % 3600) / 60);
|
|
301
|
-
const seconds = Math.floor((recordedSeconds % 3600) % 60);
|
|
302
304
|
// Build the string.
|
|
303
305
|
if (hours > 9) {
|
|
304
306
|
recordedTime = hours.toString() + ":";
|
|
@@ -333,9 +335,10 @@ export class ProtectRecordingDelegate {
|
|
|
333
335
|
}
|
|
334
336
|
// Inform the user if they've enabled logging. We log HKSV events by default, for now.
|
|
335
337
|
if (this.protectCamera.hints.logHksv || this.protectCamera.hints.logMotion) {
|
|
336
|
-
this.log.info("HKSV
|
|
338
|
+
this.log.info("HKSV: %s%s %s event.", this.timeshiftedSegments ? "" : "(approximately) ", recordedTime, timeUnit);
|
|
337
339
|
}
|
|
338
340
|
// Once we've got a successful event, let's reset our error count.
|
|
341
|
+
this.errors = 0;
|
|
339
342
|
this.nvr.nvrHksvErrors = 0;
|
|
340
343
|
}
|
|
341
344
|
// Let's figure out the reason why we're stopping, if we have one, and it's noteworthy.
|
|
@@ -357,10 +360,10 @@ export class ProtectRecordingDelegate {
|
|
|
357
360
|
if ((reason !== undefined) && (reason !== 0 /* HDSProtocolSpecificErrorReason.NORMAL */)) {
|
|
358
361
|
this.log.error("HKSV recording event ended early: %s", reasonDescription);
|
|
359
362
|
// If we have HKSV event recording enabled and we've had too many errors, something is likely going on with the Protect controller. Let's reset our connection.
|
|
360
|
-
if (this.accessory.context.hksvRecording && (++this.nvr.nvrHksvErrors >= PROTECT_HKSV_MAX_EVENT_ERRORS)) {
|
|
361
|
-
this.nvr.log.error("Reconnecting to the Protect controller after
|
|
363
|
+
if (this.accessory.context.hksvRecording && ((++this.errors >= PROTECT_HKSV_MAX_EVENT_ERRORS) || (++this.nvr.nvrHksvErrors >= PROTECT_HKSV_MAX_EVENT_ERRORS))) {
|
|
364
|
+
this.nvr.log.error("Reconnecting to the Protect controller after multiple consecutive HomeKit Secure Video event recording errors. " +
|
|
362
365
|
"These issues typically occur when the controller is exhibiting unusual behavior and resetting the connection to the controller can address the issue. " +
|
|
363
|
-
"If these issues persist, you might want to consider restarting the Protect controller."
|
|
366
|
+
"If these issues persist, you might want to consider restarting the Protect controller.");
|
|
364
367
|
await this.nvr.resetNvrConnection();
|
|
365
368
|
return;
|
|
366
369
|
}
|
|
@@ -374,11 +377,22 @@ export class ProtectRecordingDelegate {
|
|
|
374
377
|
}
|
|
375
378
|
}
|
|
376
379
|
}
|
|
377
|
-
// Restart timeshifting for
|
|
380
|
+
// Restart timeshifting for this camera.
|
|
378
381
|
async restartTimeshifting() {
|
|
379
382
|
this.timeshift.stop();
|
|
380
383
|
await this.configureTimeshifting();
|
|
381
384
|
}
|
|
385
|
+
// Reset timeshifting and error statistics.
|
|
386
|
+
async reset() {
|
|
387
|
+
// Stop transmitting if we are currently doing so.
|
|
388
|
+
if (this.isTransmitting) {
|
|
389
|
+
await this.stopTransmitting();
|
|
390
|
+
}
|
|
391
|
+
// Stop our timeshift buffer, if we have one.
|
|
392
|
+
this.timeshift.stop();
|
|
393
|
+
// Reset our statistics.
|
|
394
|
+
this.errors = 0;
|
|
395
|
+
}
|
|
382
396
|
// Return an MP4 stream from the timeshift buffer of the most recent specified duration, in milliseconds.
|
|
383
397
|
getTimeshiftBuffer() {
|
|
384
398
|
return this.protectCamera.hints.timeshift ? this.timeshift.buffer : null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protect-record.js","sourceRoot":"","sources":["../src/protect-record.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"protect-record.js","sourceRoot":"","sources":["../src/protect-record.ts"],"names":[],"mappings":"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"}
|
package/dist/protect-rtp.d.ts
CHANGED
|
@@ -21,6 +21,6 @@ export declare class RtpPortAllocator {
|
|
|
21
21
|
private portsInUse;
|
|
22
22
|
constructor();
|
|
23
23
|
private getPort;
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
reserve(ipFamily?: ("ipv4" | "ipv6"), portCount?: (1 | 2), attempts?: number): Promise<number>;
|
|
25
|
+
cancel(port: number): void;
|
|
26
26
|
}
|
package/dist/protect-rtp.js
CHANGED
|
@@ -142,13 +142,12 @@ export class RtpPortAllocator {
|
|
|
142
142
|
return -1;
|
|
143
143
|
}
|
|
144
144
|
}
|
|
145
|
-
// Reserve consecutive ports for use with FFmpeg. FFmpeg currently lacks the ability to specify both the RTP and RTCP ports.
|
|
146
|
-
//
|
|
147
|
-
//
|
|
148
|
-
|
|
149
|
-
async reservePort(ipFamily = "ipv4", portCount = 1, attempts = 0) {
|
|
145
|
+
// Reserve consecutive ports for use with FFmpeg. FFmpeg currently lacks the ability to specify both the RTP and RTCP ports. FFmpeg always assumes, by convention, that
|
|
146
|
+
// when you specify an RTP port, the RTCP port is the RTP port + 1. In order to work around that challenge, we need to always ensure that when we reserve multiple ports
|
|
147
|
+
// for RTP (primarily for two-way audio) that we we are reserving consecutive ports only.
|
|
148
|
+
async reserve(ipFamily = "ipv4", portCount = 1, attempts = 0) {
|
|
150
149
|
// Sanity check and make sure we're not requesting any more than two ports at a time, or if we've exceeded our attempt limit.
|
|
151
|
-
if (
|
|
150
|
+
if (![1, 2].includes(portCount) || (attempts > 10)) {
|
|
152
151
|
return -1;
|
|
153
152
|
}
|
|
154
153
|
let firstPort = 0;
|
|
@@ -160,10 +159,10 @@ export class RtpPortAllocator {
|
|
|
160
159
|
if (assignedPort === -1) {
|
|
161
160
|
// If we've gotten the first port of a pair of ports, make sure we release it here.
|
|
162
161
|
if (firstPort) {
|
|
163
|
-
this.
|
|
162
|
+
this.cancel(firstPort);
|
|
164
163
|
}
|
|
165
164
|
// We still haven't found what we're looking for...keep looking.
|
|
166
|
-
return this.
|
|
165
|
+
return this.reserve(ipFamily, portCount, attempts++);
|
|
167
166
|
}
|
|
168
167
|
// We've seen the first port we may be looking for, let's save it.
|
|
169
168
|
if (!firstPort) {
|
|
@@ -174,7 +173,7 @@ export class RtpPortAllocator {
|
|
|
174
173
|
return firstPort;
|
|
175
174
|
}
|
|
176
175
|
// Delete a port reservation that's no longer needed.
|
|
177
|
-
|
|
176
|
+
cancel(port) {
|
|
178
177
|
delete this.portsInUse[port];
|
|
179
178
|
}
|
|
180
179
|
}
|
package/dist/protect-rtp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protect-rtp.js","sourceRoot":"","sources":["../src/protect-rtp.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,iCAAiC,EAAE,MAAM,eAAe,CAAC;AAGlE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;;;;;GAQG;AACH,MAAM,OAAO,UAAW,SAAQ,YAAY;IAElC,QAAQ,CAA2B;IACnC,cAAc,CAAkB;IAChC,YAAY,CAAU;IACtB,UAAU,CAAU;IACpB,GAAG,CAAiB;IACpB,SAAS,CAAS;IACV,MAAM,CAAC;IAEvB,oCAAoC;IACpC,YAAY,iBAA2C,EAAE,QAA2B,EAAG,SAAiB,EAAE,QAAgB,EAAE,OAAe;QAEzI,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,iBAAiB,CAAC;QAClC,IAAI,CAAC,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAE,CAAC;QAEnE,gDAAgD;QAChD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAG,EAAE;YAEjC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,+CAA+C;QAC/C,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;YAEhC,oCAAoC;YACpC,IAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBAE1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAEjC,CAAC;iBAAM,CAAC;gBAEN,kHAAkH;gBAClH,8GAA8G;gBAC9G,4CAA4C;gBAC5C,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAErC,iCAAiC;gBACjC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAClC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAExB,mDAAmD;gBACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kFAAkF,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEtI,wBAAwB;QACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,4FAA4F;IACpF,SAAS,CAAC,IAAY;QAE5B,iCAAiC;QACjC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAElC,qGAAqG;QACrG,oGAAoG;QACpG,oBAAoB;QACpB,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;YAEpC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAE9C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEvB,CAAC,EAAE,iCAAiC,GAAG,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,gCAAgC;IACzB,KAAK;QAEV,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,6CAA6C,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAE9E,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAED,wFAAwF;IAChF,cAAc,CAAC,OAAe;QACpC,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IACrC,CAAC;IAED,kDAAkD;IAC1C,YAAY,CAAC,OAAe;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAEjD,OAAO,CAAC,WAAW,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,sDAAsD;IACtD,IAAW,SAAS;QAElB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IAEnB,UAAU,CAA+B;IAEjD,kCAAkC;IAClC;QAEE,iCAAiC;QACjC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACvB,CAAC;IAED,8EAA8E;IACtE,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,IAAI,GAAG,CAAC;QAE9C,IAAI,CAAC;YAEH,4FAA4F;YAC5F,SAAQ,CAAC;gBAEP,6DAA6D;gBAC7D,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAEnE,oFAAoF;gBACpF,MAAM,CAAC,KAAK,EAAE,CAAC;gBAEf,6BAA6B;gBAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;gBAEhD,2GAA2G;gBAC3G,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAElB,6CAA6C;gBAC7C,4CAA4C;gBAC5C,MAAM,aAAa,CAAC;gBAEpB,+DAA+D;gBAC/D,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;gBAE3C,6CAA6C;gBAC7C,MAAM,CAAC,KAAK,EAAE,CAAC;gBAEf,4EAA4E;gBAC5E,IAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;oBAEjC,SAAS;gBACX,CAAC;gBAED,kCAAkC;gBAClC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;gBAErC,mBAAmB;gBACnB,OAAO,YAAY,CAAC;YACtB,CAAC;QACH,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YAEd,OAAO,CAAC,CAAC,CAAC;QACZ,CAAC;IACH,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"protect-rtp.js","sourceRoot":"","sources":["../src/protect-rtp.ts"],"names":[],"mappings":"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"}
|
package/dist/protect-snapshot.js
CHANGED
|
@@ -68,6 +68,10 @@ export class ProtectSnapshot {
|
|
|
68
68
|
}
|
|
69
69
|
// Snapshots using the timeshift buffer as the source.
|
|
70
70
|
async snapFromTimeshift(request) {
|
|
71
|
+
// If we aren't generating high resolution snapshots, we're done.
|
|
72
|
+
if (!this.protectCamera.hints.highResSnapshots) {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
71
75
|
const buffer = this.protectCamera.stream.hksv?.getTimeshiftBuffer();
|
|
72
76
|
if (!buffer) {
|
|
73
77
|
return null;
|
|
@@ -86,8 +90,12 @@ export class ProtectSnapshot {
|
|
|
86
90
|
}
|
|
87
91
|
// Snapshots using the Protect RTSP endpoints as the source.
|
|
88
92
|
async snapFromRtsp(request) {
|
|
93
|
+
// If we aren't generating high resolution snapshots, we're done.
|
|
94
|
+
if (!this.protectCamera.hints.highResSnapshots) {
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
89
97
|
// Grab the highest quality stream we have available.
|
|
90
|
-
const rtspEntry = this.protectCamera.findRtsp(3840, 2160);
|
|
98
|
+
const rtspEntry = this.protectCamera.findRtsp(3840, 2160, { biasHigher: true });
|
|
91
99
|
if (!rtspEntry) {
|
|
92
100
|
return null;
|
|
93
101
|
}
|
|
@@ -96,6 +104,8 @@ export class ProtectSnapshot {
|
|
|
96
104
|
// -probesize amount How many bytes should be analyzed for stream information. We default to to analyze time should be spent analyzing
|
|
97
105
|
// the input stream.
|
|
98
106
|
// -max_delay 500000 Set an upper limit on how much time FFmpeg can take in demuxing packets.
|
|
107
|
+
// -flags low_delay Tell FFmpeg to optimize for low delay / realtime decoding.
|
|
108
|
+
// -avioflags direct Tell FFmpeg to minimize buffering to reduce latency for more realtime processing.
|
|
99
109
|
// -r fps Set the input frame rate for the video stream.
|
|
100
110
|
// -rtsp_transport tcp Tell the RTSP stream handler that we're looking for a TCP connection.
|
|
101
111
|
// -i rtspEntry.url RTSPS URL to get our input stream from.
|
|
@@ -103,6 +113,8 @@ export class ProtectSnapshot {
|
|
|
103
113
|
...this.protectCamera.stream.ffmpegOptions.videoDecoder,
|
|
104
114
|
"-probesize", this.protectCamera.stream.probesize.toString(),
|
|
105
115
|
"-max_delay", "500000",
|
|
116
|
+
"-flags", "low_delay",
|
|
117
|
+
"-avioflags", "direct",
|
|
106
118
|
"-r", rtspEntry.channel.fps.toString(),
|
|
107
119
|
"-rtsp_transport", "tcp",
|
|
108
120
|
"-i", rtspEntry.url
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protect-snapshot.js","sourceRoot":"","sources":["../src/protect-snapshot.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"protect-snapshot.js","sourceRoot":"","sources":["../src/protect-snapshot.ts"],"names":[],"mappings":"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"}
|
package/dist/protect-stream.js
CHANGED
|
@@ -158,7 +158,7 @@ export class ProtectStreamingDelegate {
|
|
|
158
158
|
return -1;
|
|
159
159
|
}
|
|
160
160
|
// Retrieve the ports we're looking for.
|
|
161
|
-
const assignedPort = await this.platform.rtpPorts.
|
|
161
|
+
const assignedPort = await this.platform.rtpPorts.reserve(ipFamily, portCount);
|
|
162
162
|
// We didn't get the ports we requested.
|
|
163
163
|
if (assignedPort === -1) {
|
|
164
164
|
reservePortFailed = true;
|
|
@@ -274,7 +274,12 @@ export class ProtectStreamingDelegate {
|
|
|
274
274
|
const isTranscoding = this.protectCamera.hints.transcode || this.protectCamera.hints.crop ||
|
|
275
275
|
((request.audio.packet_time >= 60) && this.protectCamera.hints.transcodeHighLatency);
|
|
276
276
|
// Find the best RTSP stream based on what we're looking for.
|
|
277
|
-
|
|
277
|
+
if (isTranscoding) {
|
|
278
|
+
this.rtspEntry = this.protectCamera.findRtsp((this.protectCamera.hints.hardwareTranscoding) ? 3840 : request.video.width, (this.protectCamera.hints.hardwareTranscoding) ? 2160 : request.video.height, { biasHigher: true, maxPixels: this.ffmpegOptions.hostSystemMaxPixels });
|
|
279
|
+
}
|
|
280
|
+
else {
|
|
281
|
+
this.rtspEntry = this.protectCamera.findRtsp(request.video.width, request.video.height);
|
|
282
|
+
}
|
|
278
283
|
if (!this.rtspEntry) {
|
|
279
284
|
const errorMessage = "Unable to start video stream: no valid RTSP stream profile was found.";
|
|
280
285
|
this.log.error("%s %sx%s, %s fps, %s kbps.", errorMessage, request.video.width, request.video.height, request.video.fps, request.video.max_bit_rate.toLocaleString("en-US"));
|
|
@@ -318,6 +323,8 @@ export class ProtectStreamingDelegate {
|
|
|
318
323
|
// -fflags flags Set format flags to discard any corrupt packets rather than exit.
|
|
319
324
|
// -probesize number How many bytes should be analyzed for stream information.
|
|
320
325
|
// -max_delay 500000 Set an upper limit on how much time FFmpeg can take in demuxing packets, in microseconds.
|
|
326
|
+
// -flags low_delay Tell FFmpeg to optimize for low delay / realtime decoding.
|
|
327
|
+
// -avioflags direct Tell FFmpeg to minimize buffering to reduce latency for more realtime processing.
|
|
321
328
|
// -r fps Set the input frame rate for the video stream.
|
|
322
329
|
// -rtsp_transport tcp Tell the RTSP stream handler that we're looking for a TCP connection.
|
|
323
330
|
// -i this.rtspEntry.url RTSPS URL to get our input stream from.
|
|
@@ -334,6 +341,8 @@ export class ProtectStreamingDelegate {
|
|
|
334
341
|
...this.ffmpegOptions.videoDecoder,
|
|
335
342
|
"-probesize", this.probesize.toString(),
|
|
336
343
|
"-max_delay", "500000",
|
|
344
|
+
"-flags", "low_delay",
|
|
345
|
+
"-avioflags", "direct",
|
|
337
346
|
"-r", this.rtspEntry.channel.fps.toString(),
|
|
338
347
|
"-rtsp_transport", "tcp",
|
|
339
348
|
"-i", this.rtspEntry.url,
|
|
@@ -344,7 +353,16 @@ export class ProtectStreamingDelegate {
|
|
|
344
353
|
// Check to see if we're transcoding. If we are, set the right FFmpeg encoder options. If not, copy the video stream.
|
|
345
354
|
if (isTranscoding) {
|
|
346
355
|
// Configure our video parameters for transcoding.
|
|
347
|
-
ffmpegArgs.push(...this.ffmpegOptions.streamEncoder(
|
|
356
|
+
ffmpegArgs.push(...this.ffmpegOptions.streamEncoder({
|
|
357
|
+
bitrate: request.video.max_bit_rate,
|
|
358
|
+
fps: this.rtspEntry.channel.fps,
|
|
359
|
+
height: request.video.height,
|
|
360
|
+
idrInterval: PROTECT_HOMEKIT_IDR_INTERVAL,
|
|
361
|
+
inputFps: this.rtspEntry.channel.fps,
|
|
362
|
+
level: request.video.level,
|
|
363
|
+
profile: request.video.profile,
|
|
364
|
+
width: request.video.width
|
|
365
|
+
}));
|
|
348
366
|
}
|
|
349
367
|
else {
|
|
350
368
|
// Configure our video parameters for just copying the input stream from Protect - it tends to be quite solid in most cases:
|
|
@@ -535,7 +553,7 @@ export class ProtectStreamingDelegate {
|
|
|
535
553
|
});
|
|
536
554
|
// Cleanup after ourselves on close.
|
|
537
555
|
ws?.once("close", () => {
|
|
538
|
-
ws?.
|
|
556
|
+
ws?.off("open", openListener);
|
|
539
557
|
});
|
|
540
558
|
}
|
|
541
559
|
// Wait for the first RTP packet to be received before trying to launch FFmpeg.
|
|
@@ -572,7 +590,7 @@ export class ProtectStreamingDelegate {
|
|
|
572
590
|
if ((ws?.readyState === WebSocket.CLOSING) || (ws?.readyState === WebSocket.OPEN)) {
|
|
573
591
|
ws?.terminate();
|
|
574
592
|
}
|
|
575
|
-
ffmpegReturnAudio.stdout?.
|
|
593
|
+
ffmpegReturnAudio.stdout?.off("data", dataListener);
|
|
576
594
|
});
|
|
577
595
|
}
|
|
578
596
|
catch (error) {
|
|
@@ -587,7 +605,7 @@ export class ProtectStreamingDelegate {
|
|
|
587
605
|
break;
|
|
588
606
|
case "reconfigure" /* StreamRequestTypes.RECONFIGURE */:
|
|
589
607
|
// Once FFmpeg is updated to support this, we'll enable this one.
|
|
590
|
-
this.log.
|
|
608
|
+
this.log.debug("Streaming parameters adjustment requested by HomeKit: %sx%s, %s fps, %s kbps.", request.video.width, request.video.height, request.video.fps, request.video.max_bit_rate.toLocaleString("en-US"));
|
|
591
609
|
// Set the desired bitrate in Protect.
|
|
592
610
|
if (this.rtspEntry) {
|
|
593
611
|
await this.protectCamera.setBitrate(this.rtspEntry.channel.id, request.video.max_bit_rate * 1000);
|
|
@@ -614,12 +632,12 @@ export class ProtectStreamingDelegate {
|
|
|
614
632
|
// Inform the user.
|
|
615
633
|
this.log.info("Stopped video streaming session.");
|
|
616
634
|
// Release our port reservations.
|
|
617
|
-
this.ongoingSessions[sessionId].rtpPortReservations.map(x => this.platform.rtpPorts.
|
|
635
|
+
this.ongoingSessions[sessionId].rtpPortReservations.map(x => this.platform.rtpPorts.cancel(x));
|
|
618
636
|
}
|
|
619
637
|
// On the off chance we were signaled to prepare to start streaming, but never actually started streaming, cleanup after ourselves.
|
|
620
638
|
if (this.pendingSessions[sessionId]) {
|
|
621
639
|
// Release our port reservations.
|
|
622
|
-
this.pendingSessions[sessionId].rtpPortReservations.map(x => this.platform.rtpPorts.
|
|
640
|
+
this.pendingSessions[sessionId].rtpPortReservations.map(x => this.platform.rtpPorts.cancel(x));
|
|
623
641
|
}
|
|
624
642
|
// Delete the entries.
|
|
625
643
|
delete this.pendingSessions[sessionId];
|