homebridge-unifi-protect 6.22.0 → 7.0.1

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.
Files changed (88) hide show
  1. package/README.md +29 -29
  2. package/config.schema.json +5 -15
  3. package/dist/devices/protect-camera-package.d.ts +0 -2
  4. package/dist/devices/protect-camera-package.js +4 -12
  5. package/dist/devices/protect-camera-package.js.map +1 -1
  6. package/dist/devices/protect-camera.d.ts +2 -3
  7. package/dist/devices/protect-camera.js +35 -124
  8. package/dist/devices/protect-camera.js.map +1 -1
  9. package/dist/devices/protect-chime.js +2 -6
  10. package/dist/devices/protect-chime.js.map +1 -1
  11. package/dist/devices/protect-device.d.ts +10 -6
  12. package/dist/devices/protect-device.js +23 -22
  13. package/dist/devices/protect-device.js.map +1 -1
  14. package/dist/devices/protect-doorbell.d.ts +0 -2
  15. package/dist/devices/protect-doorbell.js +41 -60
  16. package/dist/devices/protect-doorbell.js.map +1 -1
  17. package/dist/devices/protect-light.js +1 -3
  18. package/dist/devices/protect-light.js.map +1 -1
  19. package/dist/devices/protect-liveviews.js +2 -1
  20. package/dist/devices/protect-liveviews.js.map +1 -1
  21. package/dist/devices/protect-nvr-systeminfo.js +1 -1
  22. package/dist/devices/protect-nvr-systeminfo.js.map +1 -1
  23. package/dist/devices/protect-securitysystem.js +4 -4
  24. package/dist/devices/protect-securitysystem.js.map +1 -1
  25. package/dist/devices/protect-sensor.js +2 -6
  26. package/dist/devices/protect-sensor.js.map +1 -1
  27. package/dist/devices/protect-viewer.js +1 -1
  28. package/dist/devices/protect-viewer.js.map +1 -1
  29. package/dist/ffmpeg/protect-ffmpeg-codecs.js.map +1 -1
  30. package/dist/ffmpeg/protect-ffmpeg-exec.js +1 -1
  31. package/dist/ffmpeg/protect-ffmpeg-exec.js.map +1 -1
  32. package/dist/ffmpeg/protect-ffmpeg-options.js +2 -19
  33. package/dist/ffmpeg/protect-ffmpeg-options.js.map +1 -1
  34. package/dist/ffmpeg/protect-ffmpeg-record.js +2 -1
  35. package/dist/ffmpeg/protect-ffmpeg-record.js.map +1 -1
  36. package/dist/ffmpeg/protect-ffmpeg-stream.js +14 -8
  37. package/dist/ffmpeg/protect-ffmpeg-stream.js.map +1 -1
  38. package/dist/ffmpeg/protect-ffmpeg.d.ts +2 -2
  39. package/dist/ffmpeg/protect-ffmpeg.js.map +1 -1
  40. package/dist/protect-events.d.ts +1 -3
  41. package/dist/protect-events.js +38 -43
  42. package/dist/protect-events.js.map +1 -1
  43. package/dist/protect-livestream.d.ts +12 -0
  44. package/dist/protect-livestream.js +63 -0
  45. package/dist/protect-livestream.js.map +1 -0
  46. package/dist/protect-nvr.d.ts +7 -11
  47. package/dist/protect-nvr.js +15 -61
  48. package/dist/protect-nvr.js.map +1 -1
  49. package/dist/protect-options.d.ts +8 -23
  50. package/dist/protect-options.js +4 -128
  51. package/dist/protect-options.js.map +1 -1
  52. package/dist/protect-platform.d.ts +2 -4
  53. package/dist/protect-platform.js +3 -28
  54. package/dist/protect-platform.js.map +1 -1
  55. package/dist/protect-record.d.ts +4 -3
  56. package/dist/protect-record.js +23 -29
  57. package/dist/protect-record.js.map +1 -1
  58. package/dist/protect-snapshot.d.ts +2 -2
  59. package/dist/protect-snapshot.js +7 -3
  60. package/dist/protect-snapshot.js.map +1 -1
  61. package/dist/protect-stream.d.ts +3 -4
  62. package/dist/protect-stream.js +116 -98
  63. package/dist/protect-stream.js.map +1 -1
  64. package/dist/protect-timeshift.d.ts +16 -10
  65. package/dist/protect-timeshift.js +88 -51
  66. package/dist/protect-timeshift.js.map +1 -1
  67. package/dist/protect-types.d.ts +0 -7
  68. package/dist/protect-types.js +0 -1
  69. package/dist/protect-types.js.map +1 -1
  70. package/dist/settings.d.ts +2 -1
  71. package/dist/settings.js +4 -2
  72. package/dist/settings.js.map +1 -1
  73. package/homebridge-ui/public/index.html +42 -21
  74. package/homebridge-ui/public/lib/featureoptions.js +376 -0
  75. package/homebridge-ui/public/lib/featureoptions.js.map +1 -0
  76. package/homebridge-ui/public/lib/webUi-featureoptions.mjs +836 -0
  77. package/homebridge-ui/public/lib/webUi.mjs +184 -0
  78. package/homebridge-ui/public/ui.mjs +213 -124
  79. package/homebridge-ui/server.js +13 -52
  80. package/package.json +22 -21
  81. package/dist/protect-mqtt.d.ts +0 -20
  82. package/dist/protect-mqtt.js +0 -177
  83. package/dist/protect-mqtt.js.map +0 -1
  84. package/dist/protect-rtp.d.ts +0 -26
  85. package/dist/protect-rtp.js +0 -180
  86. package/dist/protect-rtp.js.map +0 -1
  87. package/homebridge-ui/public/lib/featureoptions.mjs +0 -201
  88. package/homebridge-ui/public/protect-featureoptions.mjs +0 -736
@@ -1 +1 @@
1
- {"version":3,"file":"protect-nvr.js","sourceRoot":"","sources":["../src/protect-nvr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protect-nvr.js","sourceRoot":"","sources":["../src/protect-nvr.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import { ProtectDeviceConfigTypes } from "./protect-types.js";
2
- import { ProtectNvrConfig } from "unifi-protect";
1
+ import { FeatureOptionEntry } from "homebridge-plugin-utils";
3
2
  export interface ProtectOptions {
4
3
  controllers: ProtectNvrOptions[];
5
4
  debugAll: boolean;
@@ -12,7 +11,6 @@ export interface ProtectOptions {
12
11
  }
13
12
  export interface ProtectNvrOptions {
14
13
  address: string;
15
- defaultDoorbellMessage: string;
16
14
  doorbellMessages: {
17
15
  duration: number;
18
16
  message: string;
@@ -24,31 +22,18 @@ export interface ProtectNvrOptions {
24
22
  username: string;
25
23
  password: string;
26
24
  }
25
+ interface ProtectFeatureOption extends FeatureOptionEntry {
26
+ hasFeature?: string[];
27
+ hasProperty?: string[];
28
+ hasSmartObjectType?: string[];
29
+ modelKey?: string[];
30
+ }
27
31
  export declare const featureOptionCategories: {
28
32
  description: string;
29
33
  modelKey: string[];
30
34
  name: string;
31
35
  }[];
32
36
  export declare const featureOptions: {
33
- [index: string]: FeatureOption[];
37
+ [index: string]: ProtectFeatureOption[];
34
38
  };
35
- export interface FeatureOption {
36
- default: boolean;
37
- defaultValue?: number | string;
38
- description: string;
39
- group?: string;
40
- hasFeature?: string[];
41
- hasProperty?: string[];
42
- hasSmartObjectType?: string[];
43
- modelKey?: string[];
44
- name: string;
45
- }
46
- type OptionScope = "device" | "global" | "nvr";
47
- type OptionNvrConfig = ProtectNvrConfig | null;
48
- type OptionDeviceConfig = OptionNvrConfig | ProtectDeviceConfigTypes;
49
- export declare function isOptionEnabled(configOptions: string[], nvrUfp: OptionNvrConfig, device: OptionDeviceConfig, option?: string, defaultReturnValue?: boolean): boolean;
50
- export declare function getOptionScope(configOptions: string[], nvrUfp: OptionNvrConfig, device: OptionDeviceConfig, option?: string, defaultReturnValue?: boolean): OptionScope;
51
- export declare function getOptionValue(configOptions: string[], nvrUfp: OptionNvrConfig, device: OptionDeviceConfig, option: string): string | undefined;
52
- export declare function getOptionFloat(optionValue: string | undefined): number | undefined;
53
- export declare function getOptionNumber(optionValue: string | undefined): number | undefined;
54
39
  export {};
@@ -16,7 +16,6 @@ export const featureOptionCategories = [
16
16
  { description: "HomeKit Secure Video feature options.", modelKey: ["camera"], name: "Video.HKSV" }
17
17
  ];
18
18
  /* eslint-disable @stylistic/max-len */
19
- // Individual feature options, broken out by category.
20
19
  export const featureOptions = {
21
20
  // Audio options.
22
21
  "Audio": [
@@ -30,9 +29,9 @@ export const featureOptions = {
30
29
  // Device options.
31
30
  "Device": [
32
31
  { default: true, description: "Make this device available in HomeKit.", name: "" },
32
+ { default: false, description: "Enable the status LED for this device in HomeKit.", hasProperty: ["ledSettings"], name: "StatusLed" },
33
33
  { default: false, description: "Make this a standalone device in HomeKit that will need to be added to HomeKit through the Home app.", name: "Standalone" },
34
- { default: false, description: "Synchronize the UniFi Protect name of this device with HomeKit. Synchronization is one-way only, syncing the device name from UniFi Protect to HomeKit.", name: "SyncName" },
35
- { default: false, description: "Enable the status LED for this device in HomeKit.", hasProperty: ["ledSettings"], name: "StatusLed" }
34
+ { default: false, description: "Synchronize the UniFi Protect name of this device with HomeKit. Synchronization is one-way only, syncing the device name from UniFi Protect to HomeKit.", name: "SyncName" }
36
35
  ],
37
36
  // Doorbell options.
38
37
  "Doorbell": [
@@ -80,6 +79,7 @@ export const featureOptions = {
80
79
  // Video options.
81
80
  "Video": [
82
81
  { default: false, description: "Use hardware-accelerated transcoding when available (Apple Macs, Intel Quick Sync Video-enabled CPUs, Raspberry Pi 4).", name: "Transcode.Hardware" },
82
+ { default: false, description: "Use the native Protect livestream API to view livestreams (Experimental).", name: "Stream.UseApi" },
83
83
  { default: false, description: "When streaming to local clients (e.g. at home), always transcode livestreams, instead of transmuxing them.", name: "Transcode" },
84
84
  { default: false, defaultValue: PROTECT_TRANSCODE_BITRATE, description: "Bitrate, in kilobits per second, to use when transcoding to local clients, ignoring the bitrate HomeKit requests. HomeKit typically requests lower video quality than you may desire in your environment.", group: "Transcode", name: "Transcode.Bitrate" },
85
85
  { default: true, description: "When streaming to high-latency clients (e.g. cellular connections), transcode livestreams instead of transmuxing them.", name: "Transcode.HighLatency" },
@@ -87,8 +87,6 @@ export const featureOptions = {
87
87
  { default: false, description: "When viewing livestreams, force the use of the high quality video stream from the Protect controller.", name: "Stream.Only.High" },
88
88
  { default: false, description: "When viewing livestreams, force the use of the medium quality video stream from the Protect controller.", name: "Stream.Only.Medium" },
89
89
  { default: false, description: "When viewing livestreams, force the use of the low quality video stream from the Protect controller.", name: "Stream.Only.Low" },
90
- { default: false, description: "Dynamically adjust the image quality of the camera directly on the UniFi Protect controller to accomodate HomeKit requests.", name: "DynamicBitrate" },
91
- { default: false, description: "Add a switch accessory to enable or disable dynamic bitrate support on the Protect controller.", name: "DynamicBitrate.Switch" },
92
90
  { default: false, description: "Crop the camera video stream. Enabling this option will also force transcoding of livestreams.", name: "Crop" },
93
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" },
94
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" },
@@ -106,127 +104,5 @@ export const featureOptions = {
106
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" }
107
105
  ]
108
106
  };
109
- // Utility function to return the setting of a particular option and it's position in the scoping hierarchy.
110
- function getOptionInfo(configOptions, nvrUfp, device, option = "", defaultReturnValue = true) {
111
- // There are a couple of ways to enable and disable options. The rules of the road are:
112
- //
113
- // 1. Explicitly disabling, or enabling an option on the NVR propogates to all the devices
114
- // that are managed by that NVR. Why might you want to do this? Because...
115
- //
116
- // 2. Explicitly disabling, or enabling an option on a device by its MAC address will always
117
- // override the above. This means that it's possible to disable an option for an NVR,
118
- // and all the devices that are managed by it, and then override that behavior on a single
119
- // device that it's managing.
120
- // Nothing configured - we assume the default return value.
121
- if (!configOptions.length) {
122
- return { scope: "global", value: defaultReturnValue };
123
- }
124
- const isOptionSet = (checkOption, checkMac = undefined) => {
125
- // 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.
126
- const optionRegex = new RegExp("^(Enable|Disable)\\." + checkOption + (!checkMac ? "" : "\\." + checkMac) + "$", "gi");
127
- // Get the option value, if we have one.
128
- for (const entry of configOptions) {
129
- const regexMatch = optionRegex.exec(entry);
130
- if (regexMatch) {
131
- return regexMatch[1].toLowerCase() === "enable";
132
- }
133
- }
134
- return undefined;
135
- };
136
- // Escape out our option to ensure we have no inadvertent issues in matching the regular expression.
137
- option = option.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
138
- // Check to see if we have a device-level option first.
139
- if (device?.mac) {
140
- const value = isOptionSet(option, device.mac);
141
- if (value !== undefined) {
142
- return { scope: "device", value: value };
143
- }
144
- }
145
- // Now check to see if we have an NVR-level option.
146
- if (nvrUfp?.mac) {
147
- const value = isOptionSet(option, nvrUfp.mac);
148
- if (value !== undefined) {
149
- return { scope: "nvr", value: value };
150
- }
151
- }
152
- // Finally, we check for a global-level value.
153
- const value = isOptionSet(option);
154
- if (value !== undefined) {
155
- return { scope: "global", value: value };
156
- }
157
- // The option hasn't been set at any scope, return our default value.
158
- return { scope: "global", value: defaultReturnValue };
159
- }
160
- // Utility function to let us know whether a feature option should be enabled or not, traversing the scope hierarchy.
161
- export function isOptionEnabled(configOptions, nvrUfp, device, option = "", defaultReturnValue = true) {
162
- return getOptionInfo(configOptions, nvrUfp, device, option, defaultReturnValue).value;
163
- }
164
- // Utility function to let us know where an option is within the scope heirarchy.
165
- export function getOptionScope(configOptions, nvrUfp, device, option = "", defaultReturnValue = true) {
166
- return getOptionInfo(configOptions, nvrUfp, device, option, defaultReturnValue).scope;
167
- }
168
- // Utility function to return a value-based feature option for a Protect device.
169
- export function getOptionValue(configOptions, nvrUfp, device, option) {
170
- // Nothing configured - we assume there's nothing.
171
- if (!configOptions.length || !option) {
172
- return undefined;
173
- }
174
- const getValue = (checkOption, checkMac = undefined) => {
175
- // 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.
176
- const optionRegex = new RegExp("^Enable\\." + checkOption + (!checkMac ? "" : "\\." + checkMac) + "\\.([^\\.]+)$", "gi");
177
- // Get the option value, if we have one.
178
- for (const entry of configOptions) {
179
- const regexMatch = optionRegex.exec(entry);
180
- if (regexMatch) {
181
- return regexMatch[1];
182
- }
183
- }
184
- return undefined;
185
- };
186
- // Escape out our option to ensure we have no inadvertent issues in matching the regular expression.
187
- option = option.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
188
- // Check to see if we have a device-level value first.
189
- if (device?.mac) {
190
- const value = getValue(option, device.mac);
191
- if (value) {
192
- return value;
193
- }
194
- }
195
- // Now check to see if we have an NVR-level value.
196
- if (nvrUfp?.mac) {
197
- const value = getValue(option, nvrUfp.mac);
198
- if (value) {
199
- return value;
200
- }
201
- }
202
- // Finally, we check for a global-level value.
203
- return getValue(option);
204
- }
205
- // Utility function to parse and return a numeric configuration parameter.
206
- function parseOptionNumeric(optionValue, convert) {
207
- // We don't have the option configured -- we're done.
208
- if (optionValue === undefined) {
209
- return undefined;
210
- }
211
- // Convert it to a number, if needed.
212
- const convertedValue = convert(optionValue);
213
- // Let's validate to make sure it's really a number.
214
- if (isNaN(convertedValue) || (convertedValue < 0)) {
215
- return undefined;
216
- }
217
- // Return the value.
218
- return convertedValue;
219
- }
220
- // Utility function to return a floating point configuration parameter.
221
- export function getOptionFloat(optionValue) {
222
- return parseOptionNumeric(optionValue, (value) => {
223
- return parseFloat(value);
224
- });
225
- }
226
- // Utility function to return an integer configuration parameter on a device.
227
- export function getOptionNumber(optionValue) {
228
- return parseOptionNumeric(optionValue, (value) => {
229
- return parseInt(value);
230
- });
231
- }
107
+ /* eslint-enable @stylistic/max-len */
232
108
  //# sourceMappingURL=protect-options.js.map
@@ -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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"}
@@ -1,15 +1,14 @@
1
1
  import { API, DynamicPlatformPlugin, Logging, PlatformAccessory, PlatformConfig } from "homebridge";
2
+ import { FeatureOptions, RtpPortAllocator } from "homebridge-plugin-utils";
2
3
  import { ProtectOptions } from "./protect-options.js";
3
4
  import { FfmpegCodecs } from "./ffmpeg/index.js";
4
- import { RtpPortAllocator } from "./protect-rtp.js";
5
5
  export declare class ProtectPlatform implements DynamicPlatformPlugin {
6
6
  accessories: PlatformAccessory[];
7
7
  readonly api: API;
8
8
  readonly codecSupport: FfmpegCodecs;
9
9
  readonly config: ProtectOptions;
10
10
  private readonly controllers;
11
- private featureOptionDefaults;
12
- readonly featureOptions: string[];
11
+ readonly featureOptions: FeatureOptions;
13
12
  readonly log: Logging;
14
13
  readonly rtpPorts: RtpPortAllocator;
15
14
  private _hostSystem;
@@ -19,6 +18,5 @@ export declare class ProtectPlatform implements DynamicPlatformPlugin {
19
18
  private launchControllers;
20
19
  private probeHwOs;
21
20
  get hostSystem(): string;
22
- featureOptionDefault(option: string): boolean;
23
21
  debug(message: string, ...parameters: unknown[]): void;
24
22
  }
@@ -1,8 +1,8 @@
1
+ import { FeatureOptions, RtpPortAllocator } from "homebridge-plugin-utils";
1
2
  import { PROTECT_FFMPEG_OPTIONS, PROTECT_MQTT_TOPIC } from "./settings.js";
2
3
  import { featureOptionCategories, featureOptions } from "./protect-options.js";
3
4
  import { FfmpegCodecs } from "./ffmpeg/index.js";
4
5
  import { ProtectNvr } from "./protect-nvr.js";
5
- import { RtpPortAllocator } from "./protect-rtp.js";
6
6
  import ffmpegPath from "ffmpeg-for-homebridge";
7
7
  import os from "node:os";
8
8
  import { platform } from "node:process";
@@ -14,7 +14,6 @@ export class ProtectPlatform {
14
14
  codecSupport;
15
15
  config;
16
16
  controllers;
17
- featureOptionDefaults;
18
17
  featureOptions;
19
18
  log;
20
19
  rtpPorts;
@@ -25,8 +24,7 @@ export class ProtectPlatform {
25
24
  this.accessories = [];
26
25
  this.api = api;
27
26
  this.controllers = [];
28
- this.featureOptionDefaults = {};
29
- this.featureOptions = [];
27
+ this.featureOptions = new FeatureOptions(featureOptionCategories, featureOptions, config?.options ?? []);
30
28
  this.log = log;
31
29
  this.rtpPorts = new RtpPortAllocator();
32
30
  this.verboseFfmpeg = false;
@@ -57,18 +55,6 @@ export class ProtectPlatform {
57
55
  this.verboseFfmpeg = true;
58
56
  this.log.info("Verbose logging of video streaming sessions enabled. Expect a lot of data.");
59
57
  }
60
- // Build our list of default values for our feature options.
61
- for (const category of featureOptionCategories) {
62
- for (const options of featureOptions[category.name]) {
63
- this.featureOptionDefaults[(category.name + (options.name.length ? "." + options.name : "")).toLowerCase()] = options.default;
64
- }
65
- }
66
- // If we have feature options, put them into their own array, lower-cased for future reference.
67
- if (this.config.options) {
68
- for (const featureOption of this.config.options) {
69
- this.featureOptions.push(featureOption.toLowerCase());
70
- }
71
- }
72
58
  // Loop through each configured NVR and instantiate it.
73
59
  for (const controllerConfig of this.config.controllers) {
74
60
  // We need an address, or there's nothing to do.
@@ -93,11 +79,9 @@ export class ProtectPlatform {
93
79
  this.codecSupport = new FfmpegCodecs(this);
94
80
  // Avoid a prospective race condition by waiting to configure our controllers until Homebridge is done loading all the cached accessories it knows about, and calling
95
81
  // configureAccessory() on each.
96
- // eslint-disable-next-line @typescript-eslint/no-misused-promises
97
82
  api.on("didFinishLaunching" /* APIEvent.DID_FINISH_LAUNCHING */, this.launchControllers.bind(this));
98
83
  }
99
- // This gets called when homebridge restores cached accessories at startup. We intentionally avoid doing anything significant here, and save all that logic
100
- // for device discovery.
84
+ // This gets called when homebridge restores cached accessories at startup. We intentionally avoid doing anything significant here, and save it for device discovery.
101
85
  configureAccessory(accessory) {
102
86
  // Add this to the accessory array so we can track it.
103
87
  this.accessories.push(accessory);
@@ -148,15 +132,6 @@ export class ProtectPlatform {
148
132
  get hostSystem() {
149
133
  return this._hostSystem;
150
134
  }
151
- // Utility to return the default value for a feature option.
152
- featureOptionDefault(option) {
153
- const defaultValue = this.featureOptionDefaults[option.toLowerCase()];
154
- // If it's a feature that's unknown to us, assume it's false.
155
- if (defaultValue === undefined) {
156
- return false;
157
- }
158
- return defaultValue;
159
- }
160
135
  // Utility for debug logging.
161
136
  debug(message, ...parameters) {
162
137
  if (this.config.debugAll) {
@@ -1 +1 @@
1
- {"version":3,"file":"protect-platform.js","sourceRoot":"","sources":["../src/protect-platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protect-platform.js","sourceRoot":"","sources":["../src/protect-platform.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import { CameraRecordingConfiguration, CameraRecordingDelegate, HDSProtocolSpecificErrorReason, RecordingPacket } from "homebridge";
3
3
  import { ProtectCamera, RtspEntry } from "./devices/index.js";
4
+ import { ProtectTimeshiftBuffer } from "./protect-timeshift.js";
4
5
  export declare class ProtectRecordingDelegate implements CameraRecordingDelegate {
5
6
  private _isRecording;
6
7
  private readonly accessory;
@@ -16,15 +17,15 @@ export declare class ProtectRecordingDelegate implements CameraRecordingDelegate
16
17
  private readonly protectCamera;
17
18
  private recordingConfig;
18
19
  rtspEntry: RtspEntry | null;
19
- private readonly timeshift;
20
+ readonly timeshift: ProtectTimeshiftBuffer;
20
21
  private timeshiftedSegments;
21
22
  private transmitListener;
22
23
  private transmittedSegments;
23
24
  constructor(protectCamera: ProtectCamera);
24
25
  updateRecordingActive(active: boolean): Promise<void>;
25
26
  updateRecordingConfiguration(configuration: CameraRecordingConfiguration | undefined): void;
26
- handleRecordingStreamRequest(streamId: number): AsyncGenerator<RecordingPacket>;
27
- acknowledgeStream(streamId: number): Promise<void>;
27
+ handleRecordingStreamRequest(): AsyncGenerator<RecordingPacket>;
28
+ acknowledgeStream(): Promise<void>;
28
29
  closeRecordingStream(streamId: number, reason: HDSProtocolSpecificErrorReason | undefined): Promise<void>;
29
30
  private configureTimeshifting;
30
31
  private startTransmitting;
@@ -94,8 +94,7 @@ export class ProtectRecordingDelegate {
94
94
  void this.updateRecordingActive(this.isRecording);
95
95
  }
96
96
  // Handle the actual recording stream request.
97
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
98
- async *handleRecordingStreamRequest(streamId) {
97
+ async *handleRecordingStreamRequest() {
99
98
  let isLastSegment = false;
100
99
  this.transmittedSegments = 0;
101
100
  // If we are recording HKSV events and we haven't fully initialized our timeshift buffer (e.g. offline cameras preventing us from doing so), then do so now.
@@ -139,8 +138,7 @@ export class ProtectRecordingDelegate {
139
138
  }
140
139
  }
141
140
  // Receive an acknowledgement from HomeKit that it's seen an end-of-stream packet from us.
142
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
143
- async acknowledgeStream(streamId) {
141
+ async acknowledgeStream() {
144
142
  // Since HomeKit knows our transmission is ending, it's safe to do so now.
145
143
  await this.stopTransmitting();
146
144
  }
@@ -173,20 +171,13 @@ export class ProtectRecordingDelegate {
173
171
  if (!this.protectCamera.hints.timeshift || !this.isRecording) {
174
172
  return true;
175
173
  }
176
- // Set the bitrate to what HomeKit is looking for. This is particularly useful when we occasionally have to livestream to a user, where bitrates can be different and
177
- // even get reconfigured in realtime. By contrast, HomeKit Secure Video has a consistent bitrate it accepts, and we want to try to match it as closely as posible,
178
- // assuming dynamic bitrates are enabled.
179
- if (!(await this.protectCamera.setBitrate(this.rtspEntry.channel.id, this.recordingConfig.videoCodec.parameters.bitRate * 1000))) {
180
- this.log.error("%s: unable to set the bitrate to %skbps.", timeshiftError, this.recordingConfig.videoCodec.parameters.bitRate.toLocaleString("en-US"));
181
- return false;
182
- }
183
174
  // If we haven't changed the camera channel or lens we're using, and we've already started timeshifting, we're done.
184
175
  if (this.timeshift.isStarted && (this.rtspEntry.channel.id === oldRtspEntry?.channel.id) &&
185
176
  ((this.rtspEntry.lens === undefined) || (this.rtspEntry.lens === oldRtspEntry?.lens))) {
186
177
  return true;
187
178
  }
188
179
  // Fire up the timeshift buffer. If we've got multiple lenses, we use the first channel and explicitly request the lens we want.
189
- if (!(await this.timeshift.start((this.rtspEntry.lens === undefined) ? this.rtspEntry.channel.id : 0, this.rtspEntry.lens))) {
180
+ if (!(await this.timeshift.start(this.rtspEntry.channel.id, this.rtspEntry.lens))) {
190
181
  this.log.error("%s: unable to connect to the livestream API on the Protect controller.", timeshiftError);
191
182
  return false;
192
183
  }
@@ -224,24 +215,11 @@ export class ProtectRecordingDelegate {
224
215
  // Let the timeshift buffer know it's time to transmit and continue timeshifting.
225
216
  if (this.protectCamera.hints.timeshift) {
226
217
  this.timeshiftedSegments = 0;
227
- // Check to make sure something didn't go wrong when we start transmitting the stream.
228
- if (!(await this.timeshift.startTransmitting())) {
229
- // Stop our FFmpeg process and our timeshift buffer.
230
- this.ffmpegStream?.stop();
231
- this.timeshift.stop();
232
- // Ensure we cleanup.
233
- this.ffmpegStream = null;
234
- this.isTransmitting = false;
235
- // Restart our timeshift buffer.
236
- await this.restartTimeshifting();
237
- return false;
238
- }
239
218
  let seenInitSegment = false;
240
- // Listen in for events from the timeshift buffer and feed FFmpeg. This looks simple, conceptually,
241
- // but there's a lot going on here.
219
+ // Listen in for events from the timeshift buffer and feed FFmpeg. This looks simple, conceptually, but there's a lot going on here.
242
220
  this.transmitListener = (segment) => {
243
- // We don't want to send the initialization segment more than once - FFmpeg will get confused if you do, plus
244
- // it's wrong and you should only send the fMP4 stream header information once.
221
+ // We don't want to send the initialization segment more than once - FFmpeg will get confused if you do, plus it's wrong and you should only send the fMP4 stream
222
+ // header information once.
245
223
  if (this.timeshift.isInitSegment(segment)) {
246
224
  if (!seenInitSegment) {
247
225
  seenInitSegment = true;
@@ -254,6 +232,22 @@ export class ProtectRecordingDelegate {
254
232
  this.timeshiftedSegments++;
255
233
  };
256
234
  this.timeshift.on("segment", this.transmitListener);
235
+ // Check to make sure something didn't go wrong when we start transmitting the stream.
236
+ if (!(await this.timeshift.transmitStart())) {
237
+ // Stop our FFmpeg process and our timeshift buffer.
238
+ this.ffmpegStream?.stop();
239
+ this.timeshift.stop();
240
+ if (this.transmitListener) {
241
+ this.timeshift.off("segment", this.transmitListener);
242
+ this.transmitListener = null;
243
+ }
244
+ // Ensure we cleanup.
245
+ this.ffmpegStream = null;
246
+ this.isTransmitting = false;
247
+ // Restart our timeshift buffer.
248
+ await this.restartTimeshifting();
249
+ return false;
250
+ }
257
251
  }
258
252
  // Inform the user.
259
253
  this.log.debug("Beginning a HomeKit Secure Video recording event.");
@@ -263,7 +257,7 @@ export class ProtectRecordingDelegate {
263
257
  async stopTransmitting(reason) {
264
258
  // We're done transmitting, so we can go back to maintaining our timeshift buffer for HomeKit.
265
259
  if (this.protectCamera.hints.timeshift) {
266
- this.timeshift.stopTransmitting();
260
+ this.timeshift.transmitStop();
267
261
  }
268
262
  let ffmpegError = false;
269
263
  // Kill any FFmpeg sessions.