homebridge-unifi-protect 5.4.2 → 5.5.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/dist/protect-ffmpeg-record.js +32 -30
- package/dist/protect-ffmpeg-record.js.map +1 -1
- package/dist/protect-ffmpeg.js +12 -4
- package/dist/protect-ffmpeg.js.map +1 -1
- package/dist/protect-record.js +1 -1
- package/dist/protect-record.js.map +1 -1
- package/dist/protect-rtp.js +19 -1
- package/dist/protect-rtp.js.map +1 -1
- package/dist/protect-stream.js +57 -31
- package/dist/protect-stream.js.map +1 -1
- package/dist/settings.js +4 -2
- package/dist/settings.js.map +1 -1
- package/package.json +6 -5
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.FfmpegRecordingProcess = void 0;
|
|
4
7
|
const protect_ffmpeg_1 = require("./protect-ffmpeg");
|
|
8
|
+
const events_1 = __importDefault(require("events"));
|
|
5
9
|
// FFmpeg HomeKit Streaming Video recording process management.
|
|
6
10
|
class FfmpegRecordingProcess extends protect_ffmpeg_1.FfmpegProcess {
|
|
7
11
|
// Create a new FFmpeg process instance.
|
|
@@ -23,26 +27,23 @@ class FfmpegRecordingProcess extends protect_ffmpeg_1.FfmpegProcess {
|
|
|
23
27
|
if ((_a = this.nvr) === null || _a === void 0 ? void 0 : _a.optionEnabled(protectCamera.accessory.context.device, "Video.HKSV.TimeshiftBuffer")) {
|
|
24
28
|
// Configure our video parameters for our input:
|
|
25
29
|
//
|
|
26
|
-
// -fflags flags
|
|
27
|
-
//
|
|
28
|
-
// -
|
|
29
|
-
// -
|
|
30
|
-
|
|
31
|
-
this.commandLineArgs.push("-fflags", "+discardcorrupt+nobuffer+flush_packets", "-r", rtspEntry.channel.fps.toString(), "-f", "mp4", "-i", "pipe:0");
|
|
30
|
+
// -fflags flags Set the format flags to discard any corrupt packets rather than exit, and ensure that packets are written out immediately.
|
|
31
|
+
// -r fps Set the input frame rate for the video stream.
|
|
32
|
+
// -f mp4 Tell ffmpeg that it should expect an MP4-encoded input stream.
|
|
33
|
+
// -i pipe:0 Use standard input to get video data.
|
|
34
|
+
this.commandLineArgs.push("-fflags", "+discardcorrupt", "-r", rtspEntry.channel.fps.toString(), "-f", "mp4", "-i", "pipe:0");
|
|
32
35
|
}
|
|
33
36
|
else {
|
|
34
37
|
// We're not using the timeshift buffer, so let's use the RTSP stream as the input to HKSV.
|
|
35
38
|
//
|
|
36
39
|
// -hide_banner Suppress printing the startup banner in FFmpeg.
|
|
37
|
-
// -probesize
|
|
40
|
+
// -probesize 4096 How many bytes should be analyzed for stream information. We default to to analyze time should be spent analyzing
|
|
38
41
|
// the input stream, in microseconds. We default to 1536.
|
|
39
42
|
// -max_delay 500000 Set an upper limit on how much time FFmpeg can take in demuxing packets.
|
|
40
|
-
// -fflags +flush_packets+nobuffer Set format flags to ensure that packets are written out immediately and that latency due to buffering is reduced.
|
|
41
|
-
// -flush_packets 1 Flush the underlying I/O stream after each packet to further reduce latency.
|
|
42
43
|
// -r fps Set the input frame rate for the video stream.
|
|
43
44
|
// -rtsp_transport tcp Tell the RTSP stream handler that we're looking for a TCP connection.
|
|
44
45
|
// -i this.rtspEntry.url RTSPS URL to get our input stream from.
|
|
45
|
-
this.commandLineArgs.push("-probesize", "
|
|
46
|
+
this.commandLineArgs.push("-probesize", "4096", "-max_delay", "500000", "-r", rtspEntry.channel.fps.toString(), "-rtsp_transport", "tcp", "-i", rtspEntry.url);
|
|
46
47
|
}
|
|
47
48
|
// -map 0:v Selects the first available video track from the stream. Protect actually maps audio
|
|
48
49
|
// and video tracks in opposite locations from where FFmpeg typically expects them. This
|
|
@@ -50,6 +51,9 @@ class FfmpegRecordingProcess extends protect_ffmpeg_1.FfmpegProcess {
|
|
|
50
51
|
// Protect changes this in the future.
|
|
51
52
|
// Yes, we included these above as well: they need to be included for every I/O stream to
|
|
52
53
|
// maximize effectiveness it seems.
|
|
54
|
+
// -max_muxing_queue_size 9999 Workaround for a bug in pre-20221 versions of FFmpeg. This will ensure that FFmpeg maintains a
|
|
55
|
+
// a large enough queue to wait for an output packet to be available. Inputs aren't the issue in our
|
|
56
|
+
// situation.
|
|
53
57
|
// -vcodec libx264 Copy the stream withour reencoding it.
|
|
54
58
|
// -pix_fmt yuvj420p Use the yuvj420p pixel format, which is what Protect uses.
|
|
55
59
|
// -profile:v level Use the H.264 profile HKSV is requesting when encoding.
|
|
@@ -61,14 +65,11 @@ class FfmpegRecordingProcess extends protect_ffmpeg_1.FfmpegProcess {
|
|
|
61
65
|
// -maxrate bitrate The maximum bitrate tolerance, used with -bufsize. We set this to max_bit_rate to effectively
|
|
62
66
|
// create a constant bitrate.
|
|
63
67
|
// -force_key_frames condition Inject an I-frame at the interval that HKSV requests. This is calculated using a conditional expression.
|
|
64
|
-
// -
|
|
65
|
-
// -fflags flags Set format flags to generate a presentation timestamp if it's missing, discard any corrupt packets rather
|
|
66
|
-
// than exit, reduce the latency due to buffering, and ensure that packets are written out immediately.
|
|
67
|
-
// -flush_packets 1 Flush the underlying I/O stream after each packet to further reduce latency.
|
|
68
|
+
// -fflags flags Set format flags to generate a presentation timestamp if it's missing and discard any corrupt packets rather than exit.
|
|
68
69
|
// -reset_timestamps Reset timestamps at the beginning of each segment.
|
|
69
70
|
// -movflags flags In the generated fMP4 stream: start a new fragment at each keyframe, write a blank MOOV box, and
|
|
70
71
|
// avoid writing absolute offsets
|
|
71
|
-
this.commandLineArgs.push("-map", "0:v", "-vcodec", this.protectCamera.stream.videoEncoder || "libx264", "-pix_fmt", "yuvj420p", "-profile:v", requestedProfile, "-level:v", requestedLevel, "-preset", "veryfast", "-b:v", recordingConfig.videoCodec.parameters.bitRate.toString() + "k", "-bufsize", (2 * recordingConfig.videoCodec.parameters.bitRate).toString() + "k", "-maxrate", recordingConfig.videoCodec.parameters.bitRate.toString() + "k", "-force_key_frames", "expr:gte(t, n_forced * " + (recordingConfig.videoCodec.parameters.iFrameInterval / 1000).toString() + ")", "-
|
|
72
|
+
this.commandLineArgs.push("-map", "0:v", "-max_muxing_queue_size", "9999", "-vcodec", this.protectCamera.stream.videoEncoder || "libx264", "-pix_fmt", "yuvj420p", "-profile:v", requestedProfile, "-level:v", requestedLevel, "-preset", "veryfast", "-b:v", recordingConfig.videoCodec.parameters.bitRate.toString() + "k", "-bufsize", (2 * recordingConfig.videoCodec.parameters.bitRate).toString() + "k", "-maxrate", recordingConfig.videoCodec.parameters.bitRate.toString() + "k", "-force_key_frames", "expr:gte(t, n_forced * " + (recordingConfig.videoCodec.parameters.iFrameInterval / 1000).toString() + ")", "-fflags", "+genpts+discardcorrupt", "-reset_timestamps", "1", "-movflags", "frag_keyframe+empty_moov+default_base_moof");
|
|
72
73
|
if (isAudioActive) {
|
|
73
74
|
// Configure the audio portion of the command line. Options we use are:
|
|
74
75
|
//
|
|
@@ -116,8 +117,8 @@ class FfmpegRecordingProcess extends protect_ffmpeg_1.FfmpegProcess {
|
|
|
116
117
|
// MP4 boxes that HAP-NodeJS is ultimately expecting.
|
|
117
118
|
for (;;) {
|
|
118
119
|
let data;
|
|
119
|
-
// The MP4 container format is well-documented
|
|
120
|
-
// used to be called), is at the center of
|
|
120
|
+
// The MP4 container format is well-documented and designed around the concept of boxes. A box (or atom as they
|
|
121
|
+
// used to be called), is at the center of an MP4 container. It's composed of an 8-byte header, followed by the data payload
|
|
121
122
|
// it carries.
|
|
122
123
|
// No existing header, let's start a new box.
|
|
123
124
|
if (!header.length) {
|
|
@@ -143,6 +144,7 @@ class FfmpegRecordingProcess extends protect_ffmpeg_1.FfmpegProcess {
|
|
|
143
144
|
}
|
|
144
145
|
// Add it to our queue to be eventually pushed out through our generator function.
|
|
145
146
|
this.recordingBuffer.push({ data: data, header: header, length: dataLength, type: type });
|
|
147
|
+
this.emit("mp4box");
|
|
146
148
|
// Prepare to start a new box for the next buffer that we will be processing.
|
|
147
149
|
data = Buffer.alloc(0);
|
|
148
150
|
header = Buffer.alloc(0);
|
|
@@ -163,6 +165,15 @@ class FfmpegRecordingProcess extends protect_ffmpeg_1.FfmpegProcess {
|
|
|
163
165
|
(_b = (_a = this.process) === null || _a === void 0 ? void 0 : _a.stdout) === null || _b === void 0 ? void 0 : _b.removeListener("data", dataListener);
|
|
164
166
|
});
|
|
165
167
|
}
|
|
168
|
+
// Stop our FFmpeg process and cleanup after ourselves.
|
|
169
|
+
stopProcess() {
|
|
170
|
+
// Call our parent to get started.
|
|
171
|
+
super.stopProcess();
|
|
172
|
+
// Ensure that we clear out of our segment generator by guaranteeing an exit path.
|
|
173
|
+
this.isEnded = true;
|
|
174
|
+
this.emit("ffmpegStarted");
|
|
175
|
+
this.emit("mp4box");
|
|
176
|
+
}
|
|
166
177
|
// Generate complete segments from an FFmpeg output stream that HomeKit Secure Video can process.
|
|
167
178
|
async *segmentGenerator() {
|
|
168
179
|
let segment = [];
|
|
@@ -172,24 +183,15 @@ class FfmpegRecordingProcess extends protect_ffmpeg_1.FfmpegProcess {
|
|
|
172
183
|
if (this.isEnded) {
|
|
173
184
|
return;
|
|
174
185
|
}
|
|
175
|
-
// If
|
|
176
|
-
|
|
177
|
-
// size, but since we have a several-second buffer that gets fed to FFmpeg on startup, FFmpeg is likely to
|
|
178
|
-
// generate output very quickly after startup.
|
|
179
|
-
if (!this.isStarted) {
|
|
186
|
+
// If the buffer is empty, wait for our FFmpeg process to produce more boxes.
|
|
187
|
+
if (!this.recordingBuffer.length) {
|
|
180
188
|
// eslint-disable-next-line no-await-in-loop
|
|
181
|
-
await
|
|
182
|
-
continue;
|
|
189
|
+
await events_1.default.once(this, "mp4box");
|
|
183
190
|
}
|
|
184
191
|
// Grab the next fMP4 box from our buffer.
|
|
185
192
|
const box = this.recordingBuffer.shift();
|
|
186
|
-
//
|
|
187
|
-
// to populate no more than once a second, and in reality, more likely longer than that in most cases. Smaller
|
|
188
|
-
// boxes (e.g. MOOF) will be buffered faster than larger ones like MDAT that carry the bulk of the audio / video
|
|
189
|
-
// data.
|
|
193
|
+
// No fMP4 box, let's keep trying.
|
|
190
194
|
if (!box) {
|
|
191
|
-
// eslint-disable-next-line no-await-in-loop
|
|
192
|
-
await this.nvr.sleep(1000);
|
|
193
195
|
continue;
|
|
194
196
|
}
|
|
195
197
|
// Queue up this fMP4 box to send back to HomeKit.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protect-ffmpeg-record.js","sourceRoot":"","sources":["../src/protect-ffmpeg-record.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"protect-ffmpeg-record.js","sourceRoot":"","sources":["../src/protect-ffmpeg-record.ts"],"names":[],"mappings":"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"}
|
package/dist/protect-ffmpeg.js
CHANGED
|
@@ -12,11 +12,14 @@ exports.FfmpegProcess = void 0;
|
|
|
12
12
|
* borrows heavily from both. Thank you for your contributions to the HomeKit world.
|
|
13
13
|
*/
|
|
14
14
|
const child_process_1 = require("child_process");
|
|
15
|
+
const events_1 = require("events");
|
|
15
16
|
const util_1 = __importDefault(require("util"));
|
|
16
17
|
// Base class for all FFmpeg process management.
|
|
17
|
-
class FfmpegProcess {
|
|
18
|
+
class FfmpegProcess extends events_1.EventEmitter {
|
|
18
19
|
// Create a new FFmpeg process instance.
|
|
19
20
|
constructor(protectCamera, commandLineArgs, callback) {
|
|
21
|
+
// Initialize our parent.
|
|
22
|
+
super();
|
|
20
23
|
this.callback = null;
|
|
21
24
|
this.commandLineArgs = [];
|
|
22
25
|
this.debug = protectCamera.platform.debug.bind(protectCamera.platform);
|
|
@@ -116,6 +119,7 @@ class FfmpegProcess {
|
|
|
116
119
|
this.isStarted = true;
|
|
117
120
|
this.isEnded = false;
|
|
118
121
|
this.debug("%s: Received the first frame.", this.name());
|
|
122
|
+
this.emit("ffmpegStarted");
|
|
119
123
|
// Always remember to execute the callback once we're setup to let homebridge know we're streaming.
|
|
120
124
|
if (this.callback) {
|
|
121
125
|
this.callback();
|
|
@@ -127,7 +131,7 @@ class FfmpegProcess {
|
|
|
127
131
|
// Don't output not-printable characters to ensure the log output is readable.
|
|
128
132
|
const cleanLine = line.replace(/[\p{Cc}\p{Cn}\p{Cs}]+/gu, "");
|
|
129
133
|
// Don't print the FFmpeg progress bar to give clearer insights into what's going on.
|
|
130
|
-
if (cleanLine.length && (cleanLine.indexOf("frame=") === -1)) {
|
|
134
|
+
if (cleanLine.length && ((cleanLine.indexOf("frame=") === -1) || (cleanLine.indexOf("size=") === -1))) {
|
|
131
135
|
this.stderrLog.push(cleanLine + "\n");
|
|
132
136
|
// Show it to the user if it's been requested.
|
|
133
137
|
if (this.isLogging || this.isVerbose || this.protectCamera.platform.config.debugAll) {
|
|
@@ -172,8 +176,8 @@ class FfmpegProcess {
|
|
|
172
176
|
this.stderrLog = [];
|
|
173
177
|
});
|
|
174
178
|
}
|
|
175
|
-
//
|
|
176
|
-
|
|
179
|
+
// Stop the FFmpeg process and complete any cleanup activities.
|
|
180
|
+
stopProcess() {
|
|
177
181
|
var _a, _b, _c, _d;
|
|
178
182
|
// Check to make sure we aren't using stdin for data before telling FFmpeg we're done.
|
|
179
183
|
if (!this.commandLineArgs.includes("pipe:0")) {
|
|
@@ -190,6 +194,10 @@ class FfmpegProcess {
|
|
|
190
194
|
// Send the kill shot.
|
|
191
195
|
(_d = this.process) === null || _d === void 0 ? void 0 : _d.kill();
|
|
192
196
|
}
|
|
197
|
+
// Cleanup after we're done.
|
|
198
|
+
stop() {
|
|
199
|
+
this.stopProcess();
|
|
200
|
+
}
|
|
193
201
|
// Return the standard input for this process.
|
|
194
202
|
get stdin() {
|
|
195
203
|
var _a, _b;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protect-ffmpeg.js","sourceRoot":"","sources":["../src/protect-ffmpeg.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;GAMG;AACH,iDAAgF;
|
|
1
|
+
{"version":3,"file":"protect-ffmpeg.js","sourceRoot":"","sources":["../src/protect-ffmpeg.ts"],"names":[],"mappings":"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"}
|
package/dist/protect-record.js
CHANGED
|
@@ -317,7 +317,7 @@ class ProtectRecordingDelegate {
|
|
|
317
317
|
break;
|
|
318
318
|
}
|
|
319
319
|
// Inform the user if they've enabled logging. We log HKSV events by default, for now.
|
|
320
|
-
if (this.nvr.optionEnabled(device, "Log.
|
|
320
|
+
if (this.nvr.optionEnabled(device, "Log.HKSV") ||
|
|
321
321
|
this.nvr.optionEnabled(device, "Log.Motion", false)) {
|
|
322
322
|
this.log.info("%s: HomeKit Secure Video has recorded %s %s %s motion event.", this.name(), this.timeshiftedSegments ? "a" : "an approximately", recordedTime, timeUnit);
|
|
323
323
|
}
|
|
@@ -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.js
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RtpDemuxer = void 0;
|
|
4
|
+
/* Copyright(C) 2017-2022, HJD (https://github.com/hjdhjd). All rights reserved.
|
|
5
|
+
*
|
|
6
|
+
* protect-rtp.ts: RTP-related utilities to slice and dice RTP streams.
|
|
7
|
+
*
|
|
8
|
+
* This module is heavily inspired by the homebridge and homebridge-camera-ffmpeg source code and
|
|
9
|
+
* borrows heavily from both. Thank you for your contributions to the HomeKit world.
|
|
10
|
+
*/
|
|
11
|
+
const events_1 = require("events");
|
|
4
12
|
const settings_1 = require("./settings");
|
|
5
13
|
const dgram_1 = require("dgram");
|
|
6
14
|
/*
|
|
@@ -13,9 +21,11 @@ const dgram_1 = require("dgram");
|
|
|
13
21
|
* in answering the questions needed to bring all this together. A special thank you to @Sunoo for the many hours of
|
|
14
22
|
* discussion and brainstorming on this and other topics.
|
|
15
23
|
*/
|
|
16
|
-
class RtpDemuxer {
|
|
24
|
+
class RtpDemuxer extends events_1.EventEmitter {
|
|
17
25
|
// Create an instance of RtpDemuxer.
|
|
18
26
|
constructor(streamingDelegate, ipFamily, inputPort, rtcpPort, rtpPort) {
|
|
27
|
+
super();
|
|
28
|
+
this._isRunning = false;
|
|
19
29
|
this.debug = streamingDelegate.platform.debug.bind(streamingDelegate.platform);
|
|
20
30
|
this.delegate = streamingDelegate;
|
|
21
31
|
this.log = streamingDelegate.log;
|
|
@@ -30,6 +40,7 @@ class RtpDemuxer {
|
|
|
30
40
|
this.socket.on("message", (msg) => {
|
|
31
41
|
// Send RTP packets to the RTP port.
|
|
32
42
|
if (this.isRtpMessage(msg)) {
|
|
43
|
+
this.emit("rtp");
|
|
33
44
|
this.socket.send(msg, rtpPort);
|
|
34
45
|
}
|
|
35
46
|
else {
|
|
@@ -47,6 +58,7 @@ class RtpDemuxer {
|
|
|
47
58
|
this.debug("%s: Creating an RtpDemuxer instance - inbound port: %s, RTCP port: %s, RTP port: %s.", this.delegate.protectCamera.name(), this.inputPort, rtcpPort, rtpPort);
|
|
48
59
|
// Take the socket live.
|
|
49
60
|
this.socket.bind(this.inputPort);
|
|
61
|
+
this._isRunning = true;
|
|
50
62
|
}
|
|
51
63
|
// Send a regular heartbeat to FFmpeg to ensure the pipe remains open and the process alive.
|
|
52
64
|
heartbeat(port) {
|
|
@@ -66,6 +78,8 @@ class RtpDemuxer {
|
|
|
66
78
|
this.debug("%s: Closing the RtpDemuxer instance on port %s.", this.delegate.protectCamera.name(), this.inputPort);
|
|
67
79
|
clearTimeout(this.heartbeatTimer);
|
|
68
80
|
this.socket.close();
|
|
81
|
+
this._isRunning = false;
|
|
82
|
+
this.emit("rtp");
|
|
69
83
|
}
|
|
70
84
|
// Retrieve the payload information from a packet to discern what the packet payload is.
|
|
71
85
|
getPayloadType(message) {
|
|
@@ -76,6 +90,10 @@ class RtpDemuxer {
|
|
|
76
90
|
const payloadType = this.getPayloadType(message);
|
|
77
91
|
return (payloadType > 90) || (payloadType === 0);
|
|
78
92
|
}
|
|
93
|
+
// Inform people whether we are up and running or not.
|
|
94
|
+
get isRunning() {
|
|
95
|
+
return this._isRunning;
|
|
96
|
+
}
|
|
79
97
|
}
|
|
80
98
|
exports.RtpDemuxer = RtpDemuxer;
|
|
81
99
|
//# sourceMappingURL=protect-rtp.js.map
|
package/dist/protect-rtp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protect-rtp.js","sourceRoot":"","sources":["../src/protect-rtp.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"protect-rtp.js","sourceRoot":"","sources":["../src/protect-rtp.ts"],"names":[],"mappings":"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"}
|
package/dist/protect-stream.js
CHANGED
|
@@ -10,6 +10,7 @@ const protect_ffmpeg_stream_1 = require("./protect-ffmpeg-stream");
|
|
|
10
10
|
const protect_record_1 = require("./protect-record");
|
|
11
11
|
const protect_rtp_1 = require("./protect-rtp");
|
|
12
12
|
const ws_1 = __importDefault(require("ws"));
|
|
13
|
+
const events_1 = __importDefault(require("events"));
|
|
13
14
|
const ffmpeg_for_homebridge_1 = __importDefault(require("ffmpeg-for-homebridge"));
|
|
14
15
|
const camera_utils_1 = require("@homebridge/camera-utils");
|
|
15
16
|
// Increase the listener limits to support Protect installations with more than 10 cameras. 100 seems like a reasonable default.
|
|
@@ -25,6 +26,7 @@ class ProtectStreamingDelegate {
|
|
|
25
26
|
this.hksv = null;
|
|
26
27
|
this.log = protectCamera.platform.log;
|
|
27
28
|
this.name = protectCamera.name.bind(protectCamera);
|
|
29
|
+
this.nvr = protectCamera.nvr;
|
|
28
30
|
this.ongoingSessions = {};
|
|
29
31
|
this.protectCamera = protectCamera;
|
|
30
32
|
this.pendingSessions = {};
|
|
@@ -134,13 +136,13 @@ class ProtectStreamingDelegate {
|
|
|
134
136
|
callback(undefined, snapshot);
|
|
135
137
|
}
|
|
136
138
|
// Publish the snapshot as a data URL to MQTT, if configured.
|
|
137
|
-
(_a = this.
|
|
139
|
+
(_a = this.nvr.mqtt) === null || _a === void 0 ? void 0 : _a.publish(this.protectCamera.accessory, "snapshot", "data:image/jpeg;base64," + snapshot.toString("base64"));
|
|
138
140
|
}
|
|
139
141
|
// Prepare to launch the video stream.
|
|
140
142
|
async prepareStream(request, callback) {
|
|
141
143
|
const cameraConfig = this.protectCamera.accessory.context.device;
|
|
142
144
|
// Check if audio support is enabled.
|
|
143
|
-
const isAudioEnabled = this.
|
|
145
|
+
const isAudioEnabled = this.nvr.optionEnabled(cameraConfig, "Audio", true, request.targetAddress);
|
|
144
146
|
// We need to check for AAC support because it's going to determine whether we support audio.
|
|
145
147
|
const hasLibFdk = isAudioEnabled && (await protect_ffmpeg_stream_1.FfmpegStreamingProcess.codecEnabled(this.videoProcessor, "libfdk_aac", this.log));
|
|
146
148
|
// Setup our audio plumbing.
|
|
@@ -158,7 +160,7 @@ class ProtectStreamingDelegate {
|
|
|
158
160
|
rtpDemuxer = new protect_rtp_1.RtpDemuxer(this, request.addressVersion, audioIncomingPort, audioIncomingRtcpPort, audioIncomingRtpPort);
|
|
159
161
|
// Request the talkback websocket from the controller.
|
|
160
162
|
const params = new URLSearchParams({ camera: cameraConfig.id });
|
|
161
|
-
talkBack = await this.
|
|
163
|
+
talkBack = await this.nvr.nvrApi.getWsEndpoint(this.nvr.nvrApi.wsUrl() + "/talkback?" + params.toString());
|
|
162
164
|
// Something went wrong and we don't have a talkback websocket.
|
|
163
165
|
if (!talkBack) {
|
|
164
166
|
this.log.error("%s: Unable to open the return audio channel.", this.name());
|
|
@@ -212,7 +214,7 @@ class ProtectStreamingDelegate {
|
|
|
212
214
|
}
|
|
213
215
|
// Launch the Protect video (and audio) stream.
|
|
214
216
|
async startStream(request, callback) {
|
|
215
|
-
var _a, _b, _c, _d;
|
|
217
|
+
var _a, _b, _c, _d, _e, _f;
|
|
216
218
|
const cameraConfig = this.protectCamera.accessory.context.device;
|
|
217
219
|
const sessionInfo = this.pendingSessions[request.sessionID];
|
|
218
220
|
const sdpIpVersion = sessionInfo.addressVersion === "ipv6" ? "IP6 " : "IP4";
|
|
@@ -242,7 +244,7 @@ class ProtectStreamingDelegate {
|
|
|
242
244
|
// will adapt the stream once it processes the configuration change.
|
|
243
245
|
await this.protectCamera.setBitrate(this.rtspEntry.channel.id, request.video.max_bit_rate * 1000);
|
|
244
246
|
// Are we transcoding?
|
|
245
|
-
const isTranscoding = this.
|
|
247
|
+
const isTranscoding = this.nvr.optionEnabled(cameraConfig, "Video.Transcode", false, sessionInfo.address);
|
|
246
248
|
// Set our packet size to be 564. Why? MPEG transport stream (TS) packets are 188 bytes in size each.
|
|
247
249
|
// These packets transmit the video data that you ultimately see on your screen and are transmitted using
|
|
248
250
|
// UDP. Each UDP packet is 1316 bytes in size, before being encapsulated in IP. We want to get as many
|
|
@@ -341,22 +343,40 @@ class ProtectStreamingDelegate {
|
|
|
341
343
|
// Configure our audio parameters.
|
|
342
344
|
ffmpegArgs.push("-map", "0:a", "-acodec", "libfdk_aac", "-profile:a", "aac_eld", "-flags", "+global_header", "-f", "null", "-ar", request.audio.sample_rate.toString() + "k", "-b:a", request.audio.max_bit_rate.toString() + "k", "-bufsize", (2 * request.audio.max_bit_rate).toString() + "k", "-ac", "1");
|
|
343
345
|
// If we are audio filtering, address it here.
|
|
344
|
-
if (this.
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
highpass = parseInt((_a = this.protectCamera.nvr.optionGet(cameraConfig, "Audio.Filter.Noise.HighPass", sessionInfo.address)) !== null && _a !== void 0 ? _a : "");
|
|
346
|
+
if (this.nvr.optionEnabled(cameraConfig, "Audio.Filter.Noise", false, sessionInfo.address)) {
|
|
347
|
+
const afOptions = [];
|
|
348
|
+
// See what the user has set for the afftdn filter for this camera.
|
|
349
|
+
let fftNr = parseFloat((_a = this.nvr.optionGet(cameraConfig, "Audio.Filter.Noise.FftNr", sessionInfo.address)) !== null && _a !== void 0 ? _a : "");
|
|
349
350
|
// If we have an invalid setting, use the defaults.
|
|
350
|
-
if ((
|
|
351
|
-
|
|
351
|
+
if ((fftNr !== fftNr) || (fftNr < 0.01) || (fftNr > 97)) {
|
|
352
|
+
fftNr = (fftNr > 97) ? 97 : ((fftNr < 0.01) ? 0.01 : settings_1.PROTECT_FFMPEG_AUDIO_FILTER_FFTNR);
|
|
352
353
|
}
|
|
353
|
-
//
|
|
354
|
-
|
|
355
|
-
//
|
|
356
|
-
|
|
357
|
-
|
|
354
|
+
// nt=w Focus on eliminating white noise.
|
|
355
|
+
// om=o Output the filtered audio.
|
|
356
|
+
// tn=1 Enable noise tracking.
|
|
357
|
+
// tr=1 Enable residual tracking.
|
|
358
|
+
// nr=X Noise reduction value in decibels.
|
|
359
|
+
afOptions.push("afftdn=nt=w:om=o:tn=1:tr=1:nr=" + fftNr.toString());
|
|
360
|
+
let highpass = (_b = this.nvr.optionGet(cameraConfig, "Audio.Filter.Noise.HighPass", sessionInfo.address)) !== null && _b !== void 0 ? _b : (this.nvr.optionEnabled(cameraConfig, "Audio.Filter.Noise.HighPass", false) ? settings_1.PROTECT_FFMPEG_AUDIO_FILTER_HIGHPASS.toString() : undefined);
|
|
361
|
+
let lowpass = (_c = this.nvr.optionGet(cameraConfig, "Audio.Filter.Noise.LowPass", sessionInfo.address)) !== null && _c !== void 0 ? _c : (this.nvr.optionEnabled(cameraConfig, "Audio.Filter.Noise.LowPass", false) ? settings_1.PROTECT_FFMPEG_AUDIO_FILTER_LOWPASS.toString() : undefined);
|
|
362
|
+
// Only set the highpass and lowpass filters if the user has explicitly enabled them.
|
|
363
|
+
if ((highpass !== undefined) || (lowpass !== undefined)) {
|
|
364
|
+
// See what the user has set for the highpass filter for this camera.
|
|
365
|
+
highpass = parseInt(highpass !== null && highpass !== void 0 ? highpass : "");
|
|
366
|
+
// If we have an invalid setting, use the defaults.
|
|
367
|
+
if ((highpass !== highpass) || (highpass < 0)) {
|
|
368
|
+
highpass = settings_1.PROTECT_FFMPEG_AUDIO_FILTER_HIGHPASS;
|
|
369
|
+
}
|
|
370
|
+
// See what the user has set for the highpass filter for this camera.
|
|
371
|
+
lowpass = parseInt(lowpass !== null && lowpass !== void 0 ? lowpass : "");
|
|
372
|
+
// If we have an invalid setting, use the defaults.
|
|
373
|
+
if ((lowpass !== lowpass) || (lowpass < 0)) {
|
|
374
|
+
lowpass = settings_1.PROTECT_FFMPEG_AUDIO_FILTER_LOWPASS;
|
|
375
|
+
}
|
|
376
|
+
afOptions.push("highpass=f=" + highpass.toString(), "lowpass=f=" + lowpass.toString());
|
|
358
377
|
}
|
|
359
|
-
|
|
378
|
+
// Return the assembled audio filter option.
|
|
379
|
+
ffmpegArgs.push("-af", afOptions.join(","));
|
|
360
380
|
}
|
|
361
381
|
// Add the required RTP settings and encryption for the stream:
|
|
362
382
|
//
|
|
@@ -428,15 +448,15 @@ class ProtectStreamingDelegate {
|
|
|
428
448
|
// pipe:1 Output the ADTS stream to standard output.
|
|
429
449
|
const ffmpegReturnAudioCmd = [
|
|
430
450
|
"-hide_banner",
|
|
431
|
-
"-protocol_whitelist", "pipe,
|
|
451
|
+
"-protocol_whitelist", "crypto,file,pipe,rtp,udp",
|
|
432
452
|
"-f", "sdp",
|
|
433
453
|
"-acodec", "libfdk_aac",
|
|
434
454
|
"-i", "pipe:0",
|
|
435
|
-
"-acodec", cameraConfig.talkbackSettings.typeFmt,
|
|
436
455
|
"-flags", "+global_header",
|
|
456
|
+
"-b:a", cameraConfig.talkbackSettings.bitsPerSample.toString() + "k",
|
|
437
457
|
"-ac", cameraConfig.talkbackSettings.channels.toString(),
|
|
438
458
|
"-ar", cameraConfig.talkbackSettings.samplingRate.toString(),
|
|
439
|
-
"-
|
|
459
|
+
"-loglevel", "level+verbose",
|
|
440
460
|
"-f", "adts",
|
|
441
461
|
"pipe:1"
|
|
442
462
|
];
|
|
@@ -477,18 +497,24 @@ class ProtectStreamingDelegate {
|
|
|
477
497
|
ws === null || ws === void 0 ? void 0 : ws.removeListener("open", openListener);
|
|
478
498
|
});
|
|
479
499
|
}
|
|
480
|
-
//
|
|
500
|
+
// Wait for the first RTP packet to be received before trying to launch FFmpeg.
|
|
501
|
+
if (sessionInfo.rtpDemuxer) {
|
|
502
|
+
await events_1.default.once(sessionInfo.rtpDemuxer, "rtp");
|
|
503
|
+
// If we've already closed the RTP demuxer, we're done here,
|
|
504
|
+
if (!sessionInfo.rtpDemuxer.isRunning) {
|
|
505
|
+
// Clean up our talkback websocket.
|
|
506
|
+
ws === null || ws === void 0 ? void 0 : ws.terminate();
|
|
507
|
+
return;
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
// Fire up FFmpeg and start processing the incoming audio.
|
|
481
511
|
const ffmpegReturnAudio = new protect_ffmpeg_stream_1.FfmpegStreamingProcess(this, request.sessionID, ffmpegReturnAudioCmd);
|
|
482
512
|
// Setup housekeeping for the twoway FFmpeg session.
|
|
483
513
|
this.ongoingSessions[request.sessionID].ffmpeg.push(ffmpegReturnAudio);
|
|
484
|
-
//
|
|
485
|
-
|
|
486
|
-
var _a;
|
|
487
|
-
// Feed the SDP session description to FFmpeg on stdin.
|
|
488
|
-
(_a = ffmpegReturnAudio.stdin) === null || _a === void 0 ? void 0 : _a.end(sdpReturnAudio + "\n");
|
|
489
|
-
}, 500);
|
|
514
|
+
// Feed the SDP session description to FFmpeg on stdin.
|
|
515
|
+
(_d = ffmpegReturnAudio.stdin) === null || _d === void 0 ? void 0 : _d.end(sdpReturnAudio + "\n");
|
|
490
516
|
// Send the audio.
|
|
491
|
-
(
|
|
517
|
+
(_e = ffmpegReturnAudio.stdout) === null || _e === void 0 ? void 0 : _e.on("data", dataListener = (data) => {
|
|
492
518
|
ws === null || ws === void 0 ? void 0 : ws.send(data, (error) => {
|
|
493
519
|
// This happens when an error condition is encountered on sending data to the websocket.
|
|
494
520
|
// We assume the worst and close our talkback channel.
|
|
@@ -498,7 +524,7 @@ class ProtectStreamingDelegate {
|
|
|
498
524
|
});
|
|
499
525
|
});
|
|
500
526
|
// Make sure we terminate the talkback websocket when we're done.
|
|
501
|
-
(
|
|
527
|
+
(_f = ffmpegReturnAudio.ffmpegProcess) === null || _f === void 0 ? void 0 : _f.once("exit", () => {
|
|
502
528
|
var _a;
|
|
503
529
|
// Make sure we catch any stray connections that may be too slow to open.
|
|
504
530
|
isTalkbackLive = false;
|
|
@@ -559,7 +585,7 @@ class ProtectStreamingDelegate {
|
|
|
559
585
|
params.append("height", request.height.toString());
|
|
560
586
|
}
|
|
561
587
|
// Request the image from the controller.
|
|
562
|
-
const response = await this.
|
|
588
|
+
const response = await this.nvr.nvrApi.fetch(this.protectCamera.snapshotUrl + "?" + params.toString(), { method: "GET" }, true, false);
|
|
563
589
|
// Occasional snapshot failures will happen. The controller isn't always able to generate them if
|
|
564
590
|
// it's already generating one, or it's requested too quickly after the last one.
|
|
565
591
|
if (!(response === null || response === void 0 ? void 0 : response.ok)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protect-stream.js","sourceRoot":"","sources":["../src/protect-stream.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"protect-stream.js","sourceRoot":"","sources":["../src/protect-stream.ts"],"names":[],"mappings":"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"}
|
package/dist/settings.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PROTECT_HKSV_BUFFER_LENGTH = exports.PROTECT_HKSV_SEGMENT_LENGTH = exports.PROTECT_HKSV_SEGMENT_RESOLUTION = exports.PROTECT_TWOWAY_HEARTBEAT_INTERVAL = exports.PROTECT_RING_DURATION = exports.PROTECT_NVR_UNIFIOS_REFRESH_INTERVAL = exports.PROTECT_MQTT_TOPIC = exports.PROTECT_MQTT_RECONNECT_INTERVAL = exports.PROTECT_MOTION_DURATION = exports.PROTECT_LOGIN_REFRESH_INTERVAL = exports.PROTECT_HOMEKIT_IDR_INTERVAL = exports.PROTECT_FFMPEG_OPTIONS = exports.PROTECT_FFMPEG_AUDIO_FILTER_LOWPASS = exports.PROTECT_FFMPEG_AUDIO_FILTER_HIGHPASS = exports.PROTECT_EVENTS_HEARTBEAT_INTERVAL = exports.PROTECT_API_TIMEOUT = exports.PROTECT_API_RETRY_INTERVAL = exports.PROTECT_API_ERROR_LIMIT = exports.PLATFORM_NAME = exports.PLUGIN_NAME = void 0;
|
|
3
|
+
exports.PROTECT_HKSV_BUFFER_LENGTH = exports.PROTECT_HKSV_SEGMENT_LENGTH = exports.PROTECT_HKSV_SEGMENT_RESOLUTION = exports.PROTECT_TWOWAY_HEARTBEAT_INTERVAL = exports.PROTECT_RING_DURATION = exports.PROTECT_NVR_UNIFIOS_REFRESH_INTERVAL = exports.PROTECT_MQTT_TOPIC = exports.PROTECT_MQTT_RECONNECT_INTERVAL = exports.PROTECT_MOTION_DURATION = exports.PROTECT_LOGIN_REFRESH_INTERVAL = exports.PROTECT_HOMEKIT_IDR_INTERVAL = exports.PROTECT_FFMPEG_OPTIONS = exports.PROTECT_FFMPEG_AUDIO_FILTER_LOWPASS = exports.PROTECT_FFMPEG_AUDIO_FILTER_HIGHPASS = exports.PROTECT_FFMPEG_AUDIO_FILTER_FFTNR = exports.PROTECT_EVENTS_HEARTBEAT_INTERVAL = exports.PROTECT_API_TIMEOUT = exports.PROTECT_API_RETRY_INTERVAL = exports.PROTECT_API_ERROR_LIMIT = exports.PLATFORM_NAME = exports.PLUGIN_NAME = void 0;
|
|
4
4
|
/* Copyright(C) 2017-2022, HJD (https://github.com/hjdhjd). All rights reserved.
|
|
5
5
|
*
|
|
6
6
|
* settings.ts: Settings and constants for homebridge-unifi-protect.
|
|
@@ -18,6 +18,8 @@ exports.PROTECT_API_TIMEOUT = 3.5;
|
|
|
18
18
|
// Heartbeat interval, in seconds, for the realtime Protect API on UniFI OS devices.
|
|
19
19
|
// UniFi OS expects to hear from us every 15 seconds.
|
|
20
20
|
exports.PROTECT_EVENTS_HEARTBEAT_INTERVAL = 10;
|
|
21
|
+
// FFmpeg afftdn audio filter defaults - this setting uses FFTs to reduce noise in an audio signal by the number of decibels below.
|
|
22
|
+
exports.PROTECT_FFMPEG_AUDIO_FILTER_FFTNR = 90;
|
|
21
23
|
// FFmpeg highpass audio filter defaults - this setting attenuates (eliminates) frequencies below the value.
|
|
22
24
|
exports.PROTECT_FFMPEG_AUDIO_FILTER_HIGHPASS = 200;
|
|
23
25
|
// FFmpeg lowpass audio filter defaults - this setting attenuates (eliminates) frequencies above the value.
|
|
@@ -41,7 +43,7 @@ exports.PROTECT_NVR_UNIFIOS_REFRESH_INTERVAL = 10;
|
|
|
41
43
|
exports.PROTECT_RING_DURATION = 3;
|
|
42
44
|
// How often, in seconds, should we heartbeat FFmpeg in two-way audio sessions. This should be less than 5 seconds, which is
|
|
43
45
|
// FFmpeg's input timeout interval.
|
|
44
|
-
exports.PROTECT_TWOWAY_HEARTBEAT_INTERVAL =
|
|
46
|
+
exports.PROTECT_TWOWAY_HEARTBEAT_INTERVAL = 3;
|
|
45
47
|
// HomeKit Secure Video segment resolution, in milliseconds. This defines the resolution of our buffer. It should never be
|
|
46
48
|
// less than 100ms or greater than 1500ms.
|
|
47
49
|
exports.PROTECT_HKSV_SEGMENT_RESOLUTION = 200;
|
package/dist/settings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,0BAA0B;AACb,QAAA,WAAW,GAAG,0BAA0B,CAAC;AAEtD,mCAAmC;AACtB,QAAA,aAAa,GAAG,eAAe,CAAC;AAE7C,oGAAoG;AACvF,QAAA,uBAAuB,GAAG,EAAE,CAAC;AAE1C,4HAA4H;AAC/G,QAAA,0BAA0B,GAAG,GAAG,CAAC;AAE9C,yFAAyF;AAC5E,QAAA,mBAAmB,GAAG,GAAG,CAAC;AAEvC,oFAAoF;AACpF,qDAAqD;AACxC,QAAA,iCAAiC,GAAG,EAAE,CAAC;AAEpD,4GAA4G;AAC/F,QAAA,oCAAoC,GAAG,GAAG,CAAC;AAExD,2GAA2G;AAC9F,QAAA,mCAAmC,GAAG,IAAI,CAAC;AAExD,+DAA+D;AAClD,QAAA,sBAAsB,GAAG,EAAE,CAAC;AAEzC,mEAAmE;AACtD,QAAA,4BAA4B,GAAG,CAAC,CAAC;AAE9C,0EAA0E;AAC7D,QAAA,8BAA8B,GAAG,IAAI,CAAC;AAEnD,0HAA0H;AAC7G,QAAA,uBAAuB,GAAG,EAAE,CAAC;AAE1C,oGAAoG;AACvF,QAAA,+BAA+B,GAAG,EAAE,CAAC;AAElD,uGAAuG;AAC1F,QAAA,kBAAkB,GAAG,eAAe,CAAC;AAElD,yFAAyF;AACzF,+EAA+E;AAClE,QAAA,oCAAoC,GAAG,EAAE,CAAC;AAEvD,gDAAgD;AACnC,QAAA,qBAAqB,GAAG,CAAC,CAAC;AAEvC,4HAA4H;AAC5H,mCAAmC;AACtB,QAAA,iCAAiC,GAAG,CAAC,CAAC;AAEnD,0HAA0H;AAC1H,0CAA0C;AAC7B,QAAA,+BAA+B,GAAG,GAAG,CAAC;AAEnD,oGAAoG;AACvF,QAAA,2BAA2B,GAAG,IAAI,CAAC;AAEhD,iIAAiI;AACpH,QAAA,0BAA0B,GAAG,mCAA2B,GAAG,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,0BAA0B;AACb,QAAA,WAAW,GAAG,0BAA0B,CAAC;AAEtD,mCAAmC;AACtB,QAAA,aAAa,GAAG,eAAe,CAAC;AAE7C,oGAAoG;AACvF,QAAA,uBAAuB,GAAG,EAAE,CAAC;AAE1C,4HAA4H;AAC/G,QAAA,0BAA0B,GAAG,GAAG,CAAC;AAE9C,yFAAyF;AAC5E,QAAA,mBAAmB,GAAG,GAAG,CAAC;AAEvC,oFAAoF;AACpF,qDAAqD;AACxC,QAAA,iCAAiC,GAAG,EAAE,CAAC;AAEpD,mIAAmI;AACtH,QAAA,iCAAiC,GAAG,EAAE,CAAC;AAEpD,4GAA4G;AAC/F,QAAA,oCAAoC,GAAG,GAAG,CAAC;AAExD,2GAA2G;AAC9F,QAAA,mCAAmC,GAAG,IAAI,CAAC;AAExD,+DAA+D;AAClD,QAAA,sBAAsB,GAAG,EAAE,CAAC;AAEzC,mEAAmE;AACtD,QAAA,4BAA4B,GAAG,CAAC,CAAC;AAE9C,0EAA0E;AAC7D,QAAA,8BAA8B,GAAG,IAAI,CAAC;AAEnD,0HAA0H;AAC7G,QAAA,uBAAuB,GAAG,EAAE,CAAC;AAE1C,oGAAoG;AACvF,QAAA,+BAA+B,GAAG,EAAE,CAAC;AAElD,uGAAuG;AAC1F,QAAA,kBAAkB,GAAG,eAAe,CAAC;AAElD,yFAAyF;AACzF,+EAA+E;AAClE,QAAA,oCAAoC,GAAG,EAAE,CAAC;AAEvD,gDAAgD;AACnC,QAAA,qBAAqB,GAAG,CAAC,CAAC;AAEvC,4HAA4H;AAC5H,mCAAmC;AACtB,QAAA,iCAAiC,GAAG,CAAC,CAAC;AAEnD,0HAA0H;AAC1H,0CAA0C;AAC7B,QAAA,+BAA+B,GAAG,GAAG,CAAC;AAEnD,oGAAoG;AACvF,QAAA,2BAA2B,GAAG,IAAI,CAAC;AAEhD,iIAAiI;AACpH,QAAA,0BAA0B,GAAG,mCAA2B,GAAG,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "homebridge-unifi-protect",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.5.0",
|
|
4
4
|
"displayName": "Homebridge UniFi Protect",
|
|
5
5
|
"description": "Homebridge UniFi Protect plugin providing complete HomeKit integration for the UniFi Protect ecosystem with full support for most features including autoconfiguration, motion detection, multiple controllers, and realtime updates.",
|
|
6
6
|
"author": {
|
|
@@ -67,15 +67,16 @@
|
|
|
67
67
|
"@homebridge/camera-utils": "^2.1.0",
|
|
68
68
|
"ffmpeg-for-homebridge": "^0.0.9",
|
|
69
69
|
"mqtt": "4.3.6",
|
|
70
|
-
"
|
|
70
|
+
"node-rtp": "^0.1.1",
|
|
71
|
+
"unifi-protect": "^3.0.4",
|
|
71
72
|
"ws": "^8.5.0"
|
|
72
73
|
},
|
|
73
74
|
"devDependencies": {
|
|
74
75
|
"@types/ip": "^1.1.0",
|
|
75
|
-
"@types/node": "^17.0.
|
|
76
|
+
"@types/node": "^17.0.19",
|
|
76
77
|
"@types/ws": "^8.2.3",
|
|
77
|
-
"@typescript-eslint/eslint-plugin": "^5.12.
|
|
78
|
-
"@typescript-eslint/parser": "^5.12.
|
|
78
|
+
"@typescript-eslint/eslint-plugin": "^5.12.1",
|
|
79
|
+
"@typescript-eslint/parser": "^5.12.1",
|
|
79
80
|
"eslint": "^8.9.0",
|
|
80
81
|
"homebridge": "^1.4.0",
|
|
81
82
|
"nodemon": "^2.0.15",
|