homebridge-unifi-protect 6.5.0 → 6.6.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.
Files changed (50) hide show
  1. package/config.schema.json +12 -3
  2. package/dist/protect-camera.d.ts +2 -3
  3. package/dist/protect-camera.js +55 -56
  4. package/dist/protect-camera.js.map +1 -1
  5. package/dist/protect-device.d.ts +1 -1
  6. package/dist/protect-device.js +5 -5
  7. package/dist/protect-device.js.map +1 -1
  8. package/dist/protect-doorbell.js +2 -2
  9. package/dist/protect-doorbell.js.map +1 -1
  10. package/dist/protect-ffmpeg-codecs.d.ts +19 -0
  11. package/dist/protect-ffmpeg-codecs.js +140 -0
  12. package/dist/protect-ffmpeg-codecs.js.map +1 -0
  13. package/dist/protect-ffmpeg-options.d.ts +20 -0
  14. package/dist/protect-ffmpeg-options.js +468 -0
  15. package/dist/protect-ffmpeg-options.js.map +1 -0
  16. package/dist/protect-ffmpeg-record.js +10 -14
  17. package/dist/protect-ffmpeg-record.js.map +1 -1
  18. package/dist/protect-ffmpeg-stream.d.ts +5 -2
  19. package/dist/protect-ffmpeg-stream.js +8 -11
  20. package/dist/protect-ffmpeg-stream.js.map +1 -1
  21. package/dist/protect-ffmpeg.d.ts +1 -4
  22. package/dist/protect-ffmpeg.js +22 -10
  23. package/dist/protect-ffmpeg.js.map +1 -1
  24. package/dist/protect-nvr-events.js +2 -3
  25. package/dist/protect-nvr-events.js.map +1 -1
  26. package/dist/protect-nvr-systeminfo.js +2 -2
  27. package/dist/protect-nvr-systeminfo.js.map +1 -1
  28. package/dist/protect-nvr.d.ts +1 -0
  29. package/dist/protect-nvr.js +28 -10
  30. package/dist/protect-nvr.js.map +1 -1
  31. package/dist/protect-options.d.ts +1 -0
  32. package/dist/protect-options.js +1 -1
  33. package/dist/protect-options.js.map +1 -1
  34. package/dist/protect-platform.d.ts +6 -5
  35. package/dist/protect-platform.js +29 -55
  36. package/dist/protect-platform.js.map +1 -1
  37. package/dist/protect-record.js +2 -2
  38. package/dist/protect-record.js.map +1 -1
  39. package/dist/protect-rtp.js +3 -1
  40. package/dist/protect-rtp.js.map +1 -1
  41. package/dist/protect-securitysystem.js +1 -1
  42. package/dist/protect-securitysystem.js.map +1 -1
  43. package/dist/protect-stream.d.ts +3 -8
  44. package/dist/protect-stream.js +18 -224
  45. package/dist/protect-stream.js.map +1 -1
  46. package/dist/settings.d.ts +1 -0
  47. package/dist/settings.js +2 -0
  48. package/dist/settings.js.map +1 -1
  49. package/homebridge-ui/public/index.html +18 -7
  50. package/package.json +6 -6
@@ -4,8 +4,8 @@ export class ProtectDoorbell extends ProtectCamera {
4
4
  constructor(nvr, device, accessory) {
5
5
  super(nvr, device, accessory);
6
6
  this.defaultDuration = this.nvr.ufp.doorbellSettings?.defaultMessageResetTimeoutMs ?? 60000;
7
- this.isMessagesEnabled = this.nvr.optionEnabled(this.ufp, "Doorbell.Messages");
8
- this.isMessagesFromControllerEnabled = this.nvr.optionEnabled(this.ufp, "Doorbell.Messages.FromDoorbell");
7
+ this.isMessagesEnabled = this.hasFeature("Doorbell.Messages");
8
+ this.isMessagesFromControllerEnabled = this.hasFeature("Doorbell.Messages.FromDoorbell");
9
9
  this.messageSwitches = [];
10
10
  }
11
11
  // Configure the doorbell for HomeKit.
@@ -1 +1 @@
1
- {"version":3,"file":"protect-doorbell.js","sourceRoot":"","sources":["../src/protect-doorbell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protect-doorbell.js","sourceRoot":"","sources":["../src/protect-doorbell.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { ProtectPlatform } from "./protect-platform.js";
2
+ export declare class FfmpegCodecs {
3
+ private _gpuMem;
4
+ private readonly log;
5
+ private readonly platform;
6
+ private readonly videoProcessor;
7
+ private readonly videoProcessorCodecs;
8
+ private readonly videoProcessorHwAccels;
9
+ constructor(platform: ProtectPlatform);
10
+ probe(): Promise<boolean>;
11
+ hasDecoder(codec: string, decoder: string): boolean;
12
+ hasEncoder(codec: string, encoder: string): boolean;
13
+ hasHwAccel(accel: string): boolean;
14
+ get gpuMem(): number;
15
+ private probeVideoProcessorHwAccel;
16
+ private probeVideoProcessorCodecs;
17
+ private probeRpiGpuMem;
18
+ private probeCmd;
19
+ }
@@ -0,0 +1,140 @@
1
+ import { execFile } from "node:child_process";
2
+ import util from "node:util";
3
+ export class FfmpegCodecs {
4
+ constructor(platform) {
5
+ this._gpuMem = 0;
6
+ this.log = platform.log;
7
+ this.platform = platform;
8
+ this.videoProcessor = platform.config.videoProcessor;
9
+ this.videoProcessorCodecs = {};
10
+ this.videoProcessorHwAccels = {};
11
+ }
12
+ // Launch our configured controllers once all accessories have been loaded. Once we do, they will sustain themselves.
13
+ async probe() {
14
+ // Let's conduct our system-specific capability probes.
15
+ switch (this.platform.hostSystem) {
16
+ case "raspbian":
17
+ // If we're on a Raspberry Pi, let's verify that we have enough GPU memory for hardware-based decoding and encoding.
18
+ await this.probeRpiGpuMem();
19
+ break;
20
+ default:
21
+ break;
22
+ }
23
+ // First things first - ensure we've got a working video processor before we do anything else.
24
+ if (!(await this.probeVideoProcessorCodecs()) || !(await this.probeVideoProcessorHwAccel())) {
25
+ return false;
26
+ }
27
+ return true;
28
+ }
29
+ // Utility to determine whether or not a specific decoder is available to the video processor for a given format.
30
+ hasDecoder(codec, decoder) {
31
+ // Normalize our lookups.
32
+ codec = codec.toLowerCase();
33
+ decoder = decoder.toLowerCase();
34
+ return this.videoProcessorCodecs[codec]?.decoders.some(x => x === decoder);
35
+ }
36
+ // Utility to determine whether or not a specific encoder is available to the video processor for a given format.
37
+ hasEncoder(codec, encoder) {
38
+ // Normalize our lookups.
39
+ codec = codec.toLowerCase();
40
+ encoder = encoder.toLowerCase();
41
+ return this.videoProcessorCodecs[codec]?.encoders.some(x => x === encoder);
42
+ }
43
+ // Utility to determine whether or not a specific decoder is available to the video processor for a given format.
44
+ hasHwAccel(accel) {
45
+ return this.videoProcessorHwAccels[accel.toLowerCase()] ? true : false;
46
+ }
47
+ get gpuMem() {
48
+ return this._gpuMem;
49
+ }
50
+ // Probe our video processor's hardware acceleration capabilities.
51
+ async probeVideoProcessorHwAccel() {
52
+ return this.probeCmd(this.videoProcessor, ["-hide_banner", "-hwaccels"], (stdout) => {
53
+ // Iterate through each line, and a build a list of encoders.
54
+ for (const accel of stdout.split(/\r?\n/)) {
55
+ // Skip blank lines.
56
+ if (!accel.length) {
57
+ continue;
58
+ }
59
+ // Skip the first line.
60
+ if (accel === "Hardware acceleration methods:") {
61
+ continue;
62
+ }
63
+ // We've found a hardware acceleration method, let's add it.
64
+ this.videoProcessorHwAccels[accel.toLowerCase()] = true;
65
+ }
66
+ });
67
+ }
68
+ // Probe our video processor's encoding and decoding capabilities.
69
+ async probeVideoProcessorCodecs() {
70
+ return this.probeCmd(this.videoProcessor, ["-hide_banner", "-codecs"], (stdout) => {
71
+ // A regular expression to parse out the codec and it's supported decoders.
72
+ const decodersRegex = /\S+\s+(\S+).+\(decoders: (.*?)\s*\)/;
73
+ // A regular expression to parse out the codec and it's supported encoders.
74
+ const encodersRegex = /\S+\s+(\S+).+\(encoders: (.*?)\s*\)/;
75
+ // Iterate through each line, and a build a list of encoders.
76
+ for (const codecLine of stdout.split(/\r?\n/)) {
77
+ // Let's see if we have decoders.
78
+ const decodersMatch = decodersRegex.exec(codecLine);
79
+ // Let's see if we have encoders.
80
+ const encodersMatch = encodersRegex.exec(codecLine);
81
+ // If we found decoders, add them to our list of supported decoders for this format.
82
+ if (decodersMatch) {
83
+ this.videoProcessorCodecs[decodersMatch[1]] = { decoders: [], encoders: [] };
84
+ this.videoProcessorCodecs[decodersMatch[1]].decoders = decodersMatch[2].split(" ").map(x => x.toLowerCase());
85
+ }
86
+ // If we found decoders, add them to our list of supported decoders for this format.
87
+ if (encodersMatch) {
88
+ if (!this.videoProcessorCodecs[encodersMatch[1]]) {
89
+ this.videoProcessorCodecs[encodersMatch[1]] = { decoders: [], encoders: [] };
90
+ }
91
+ this.videoProcessorCodecs[encodersMatch[1]].encoders = encodersMatch[2].split(" ").map(x => x.toLowerCase());
92
+ }
93
+ }
94
+ });
95
+ }
96
+ // Probe Raspberry Pi GPU.
97
+ async probeRpiGpuMem() {
98
+ return this.probeCmd("/usr/bin/vcgencmd", ["get_mem", "gpu"], (stdout) => {
99
+ // A regular expression to parse out the configured GPU memory on the Raspberry Pi.
100
+ const gpuRegex = /^gpu=(.*)M\n$/;
101
+ // Let's see what we've got.
102
+ const gpuMatch = gpuRegex.exec(stdout);
103
+ // We matched what we're looking for.
104
+ if (gpuMatch) {
105
+ // Parse the result and retrieve our allocated GPU memory.
106
+ this._gpuMem = parseInt(gpuMatch[1]);
107
+ // Something went wrong.
108
+ if (isNaN(this._gpuMem)) {
109
+ this._gpuMem = 0;
110
+ }
111
+ }
112
+ });
113
+ }
114
+ // Utility to probe the capabilities of FFmpeg and the host platform.
115
+ async probeCmd(command, commandLineArgs, processOutput) {
116
+ try {
117
+ // Promisify exec to allow us to wait for it asynchronously.
118
+ const execAsync = util.promisify(execFile);
119
+ // Check for the codecs in our video processor.
120
+ const { stdout } = await execAsync(command, commandLineArgs);
121
+ processOutput(stdout);
122
+ return true;
123
+ }
124
+ catch (error) {
125
+ // It's really a SystemError, but Node hides that type from us for esoteric reasons.
126
+ if (error instanceof Error) {
127
+ const execError = error;
128
+ if (execError.code === "ENOENT") {
129
+ this.log.error("Unable to find FFmpeg at: '%s'. Please make sure that you have a working version of FFmpeg installed in order to use this plugin.", execError.path);
130
+ }
131
+ else {
132
+ this.log.error("Error running FFmpeg: %s", error.message);
133
+ }
134
+ }
135
+ this.log.error("Unable to complete plugin startup without a working version of FFmpeg.");
136
+ return false;
137
+ }
138
+ }
139
+ }
140
+ //# sourceMappingURL=protect-ffmpeg-codecs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protect-ffmpeg-codecs.js","sourceRoot":"","sources":["../src/protect-ffmpeg-codecs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { H264Level, H264Profile } from "homebridge";
2
+ import { ProtectCamera } from "./protect-camera.js";
3
+ export declare class FfmpegOptions {
4
+ private readonly hwPixelFormat;
5
+ private readonly log;
6
+ private readonly platform;
7
+ private readonly protectCamera;
8
+ constructor(protectCamera: ProtectCamera);
9
+ private configureHwAccel;
10
+ get audioEncoder(): string[];
11
+ get audioDecoder(): string;
12
+ get videoDecoder(): string[];
13
+ private defaultVideoEncoderOptions;
14
+ recordEncoder(width: number, height: number, fps: number, bitrate: number, profile: H264Profile, level: H264Level, idrInterval: number): string[];
15
+ streamEncoder(width: number, height: number, fps: number, bitrate: number, profile: H264Profile, level: H264Level, idrInterval: number, useSmartQuality?: boolean): string[];
16
+ get recordingDefaultChannel(): string | undefined;
17
+ get hostSystemMaxPixels(): number;
18
+ private getH264Level;
19
+ private getH264Profile;
20
+ }