homebridge-unifi-protect 7.20.1 → 7.22.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 (63) hide show
  1. package/dist/devices/protect-camera-package.js +14 -6
  2. package/dist/devices/protect-camera-package.js.map +1 -1
  3. package/dist/devices/protect-camera.d.ts +3 -2
  4. package/dist/devices/protect-camera.js +121 -61
  5. package/dist/devices/protect-camera.js.map +1 -1
  6. package/dist/devices/protect-chime.js +3 -2
  7. package/dist/devices/protect-chime.js.map +1 -1
  8. package/dist/devices/protect-device.js +19 -22
  9. package/dist/devices/protect-device.js.map +1 -1
  10. package/dist/devices/protect-doorbell.d.ts +4 -2
  11. package/dist/devices/protect-doorbell.js +37 -22
  12. package/dist/devices/protect-doorbell.js.map +1 -1
  13. package/dist/devices/protect-light.js +6 -6
  14. package/dist/devices/protect-light.js.map +1 -1
  15. package/dist/devices/protect-liveviews.js +8 -26
  16. package/dist/devices/protect-liveviews.js.map +1 -1
  17. package/dist/devices/protect-nvr-systeminfo.d.ts +0 -2
  18. package/dist/devices/protect-nvr-systeminfo.js +13 -47
  19. package/dist/devices/protect-nvr-systeminfo.js.map +1 -1
  20. package/dist/devices/protect-securitysystem.js +17 -36
  21. package/dist/devices/protect-securitysystem.js.map +1 -1
  22. package/dist/devices/protect-sensor.d.ts +2 -2
  23. package/dist/devices/protect-sensor.js +16 -16
  24. package/dist/devices/protect-sensor.js.map +1 -1
  25. package/dist/devices/protect-viewer.js +8 -8
  26. package/dist/devices/protect-viewer.js.map +1 -1
  27. package/dist/protect-events.js +16 -20
  28. package/dist/protect-events.js.map +1 -1
  29. package/dist/protect-livestream.d.ts +1 -0
  30. package/dist/protect-livestream.js +23 -3
  31. package/dist/protect-livestream.js.map +1 -1
  32. package/dist/protect-nvr.d.ts +5 -5
  33. package/dist/protect-nvr.js +36 -34
  34. package/dist/protect-nvr.js.map +1 -1
  35. package/dist/protect-options.d.ts +4 -4
  36. package/dist/protect-options.js +16 -15
  37. package/dist/protect-options.js.map +1 -1
  38. package/dist/protect-platform.d.ts +1 -1
  39. package/dist/protect-platform.js +8 -14
  40. package/dist/protect-platform.js.map +1 -1
  41. package/dist/protect-record.d.ts +1 -4
  42. package/dist/protect-record.js +13 -28
  43. package/dist/protect-record.js.map +1 -1
  44. package/dist/protect-snapshot.js.map +1 -1
  45. package/dist/protect-stream.js +39 -56
  46. package/dist/protect-stream.js.map +1 -1
  47. package/dist/protect-timeshift.d.ts +0 -2
  48. package/dist/protect-timeshift.js +12 -23
  49. package/dist/protect-timeshift.js.map +1 -1
  50. package/dist/protect-types.d.ts +1 -0
  51. package/dist/protect-types.js +1 -0
  52. package/dist/protect-types.js.map +1 -1
  53. package/dist/settings.d.ts +4 -4
  54. package/dist/settings.js +5 -5
  55. package/dist/settings.js.map +1 -1
  56. package/homebridge-ui/public/index.html +54 -51
  57. package/homebridge-ui/public/lib/featureoptions.js +7 -8
  58. package/homebridge-ui/public/lib/featureoptions.js.map +1 -1
  59. package/homebridge-ui/public/lib/webUi-featureoptions.mjs +3484 -558
  60. package/homebridge-ui/public/lib/webUi.mjs +13 -5
  61. package/homebridge-ui/public/ui.mjs +62 -99
  62. package/homebridge-ui/server.js +6 -1
  63. package/package.json +10 -13
@@ -1,6 +1,6 @@
1
1
  import { Agent, WebSocket } from "undici";
2
2
  import { FfmpegOptions, FfmpegStreamingProcess, HKSV_FRAGMENT_LENGTH, HOMEKIT_IDR_INTERVAL, RtpDemuxer, formatBps } from "homebridge-plugin-utils";
3
- import { PROTECT_FFMPEG_AUDIO_FILTER_FFTNR, PROTECT_HKSV_TIMESHIFT_BUFFER_MAXDURATION, PROTECT_LIVESTREAM_API_IDR_INTERVAL } from "./settings.js";
3
+ import { PROTECT_HKSV_TIMESHIFT_BUFFER_MAXDURATION, PROTECT_LIVESTREAM_API_IDR_INTERVAL } from "./settings.js";
4
4
  import { ProtectRecordingDelegate } from "./protect-record.js";
5
5
  import { ProtectReservedNames } from "./protect-types.js";
6
6
  import { ProtectSnapshot } from "./protect-snapshot.js";
@@ -111,7 +111,8 @@ export class ProtectStreamingDelegate {
111
111
  {
112
112
  audioChannels: 1,
113
113
  bitrate: 0,
114
- // Protect doorbells and the Opus audio track over RTSP both use a 48 kHz audio sampling rate. Otherwise, the livestream API uses a 16 kHz sampling rate.
114
+ // Protect doorbells and the Opus audio track over RTSP both use a 48 kHz audio sampling rate, which HomeKit doesn't support. Since both 16 and 24 will
115
+ // divide cleanly into 48, we allow HomeKit to choose it's preference. Otherwise, the livestream API uses a 16 kHz sampling rate.
115
116
  samplerate: (this.protectCamera.ufp.featureFlags.isDoorbell || !this.protectCamera.hints.tsbStreaming) ?
116
117
  [16 /* AudioStreamingSamplerate.KHZ_16 */, 24 /* AudioStreamingSamplerate.KHZ_24 */] : 16 /* AudioStreamingSamplerate.KHZ_16 */,
117
118
  type: "AAC-eld" /* AudioStreamingCodecType.AAC_ELD */
@@ -209,6 +210,7 @@ export class ProtectStreamingDelegate {
209
210
  const videoReturnPort = (await reservePort(request.addressVersion));
210
211
  const videoSSRC = this.hap.CameraController.generateSynchronisationSource();
211
212
  // If we've had failures to retrieve the UDP ports we're looking for, inform the user.
213
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
212
214
  if (reservePortFailed) {
213
215
  this.log.error("Unable to reserve the UDP ports needed to begin streaming.");
214
216
  }
@@ -231,9 +233,8 @@ export class ProtectStreamingDelegate {
231
233
  videoSRTP: Buffer.concat([request.video.srtp_key, request.video.srtp_salt]),
232
234
  videoSSRC: videoSSRC
233
235
  };
234
- // Prepare the response stream. Here's where we figure out if we're doing two-way audio or not. For two-way audio,
235
- // we need to use a demuxer to separate RTP and RTCP packets. For traditional video/audio streaming, we want to keep
236
- // it simple and don't use a demuxer.
236
+ // Prepare the response stream. Here's where we figure out if we're doing two-way audio or not. For two-way audio, we need to use a demuxer to separate RTP and RTCP
237
+ // packets. For traditional video/audio streaming, we want to keep it simple and don't use a demuxer.
237
238
  const response = {
238
239
  audio: {
239
240
  port: (hasAudioSupport && this.protectCamera.hints.twoWayAudio) ? audioIncomingPort : audioIncomingRtcpPort,
@@ -370,12 +371,11 @@ export class ProtectStreamingDelegate {
370
371
  const ffmpegArgs = [
371
372
  "-hide_banner",
372
373
  "-nostats",
373
- "-fflags", "+discardcorrupt+genpts+igndts",
374
+ "-fflags", "+discardcorrupt",
374
375
  "-err_detect", "ignore_err",
375
376
  ...this.ffmpegOptions.videoDecoder(this.protectCamera.ufp.videoCodec),
376
377
  "-max_delay", "500000",
377
378
  "-flags", "low_delay",
378
- "-r", rtspEntry.channel.fps.toString(),
379
379
  "-probesize", this.probesize.toString()
380
380
  ];
381
381
  if (useTsb) {
@@ -396,15 +396,21 @@ export class ProtectStreamingDelegate {
396
396
  ffmpegArgs.push("-map", "0:v:0");
397
397
  // Inform the user.
398
398
  const hinting = [];
399
- hinting.push(...(isTranscoding && this.protectCamera.hints.hardwareTranscoding ? ["⚡"] : []));
400
- hinting.push(...(isTranscoding ? ["⚙️"] : []));
401
- hinting.push(...((request.audio.packet_time === 60) ? ["⏳"] : []));
399
+ // Lightning bolt, using the default emoji presentation. We use this to indicate hardware acceleration.
400
+ hinting.push(...(isTranscoding && this.protectCamera.hints.hardwareTranscoding ? ["\u{26A1}\u{FE0F}"] : []));
401
+ // Gear, using the text presentation modifier. We use this to indicate that we're transcoding.
402
+ hinting.push(...(isTranscoding ? ["\u{26ED}\u{FE0E}"] : []));
403
+ // Hourglass, using the text presentation modifier. We use this to indicate high latency connections.
404
+ hinting.push(...((request.audio.packet_time === 60) ? ["\u{29D6}\u{FE0E}"] : []));
405
+ // Speaker, using the text presentation modifier. We use this to indicate that we're applying audio filters for noise reduction.
406
+ hinting.push(...(sessionInfo.hasAudioSupport && (this.protectCamera.hasFeature("Audio.Filter.Noise")) ? ["\u{1F50A}\u{FE0E}"] : []));
402
407
  hinting.push(...(hinting.length ? [""] : []));
403
408
  this.log.info("%sStreaming request: %sx%s@%sfps, %s. Using %s, %s [%s].", hinting.join(" "), request.video.width, request.video.height, request.video.fps, formatBps(targetBitrate * 1000), rtspEntry.name, formatBps(rtspEntry.channel.bitrate), useTsb ? "TSB/" + (this.protectCamera.hasFeature("Debug.Video.HKSV.UseRtsp") ? "RTSP" : "API") : "RTSP");
404
- // When on high-performance hardware like Apple Silicon, using the TSB, and we don't have low-FPS cameras like the package camera, enable the use of the CPU-intensive
405
- // FFmpeg minterpolate filter to enable very smooth video, especially when there's motion involved. Currently, only Apple Silicon environments have been able to
406
- // reliably use this filter in realtime and with great results. I'm hoping to be able to enable this in the future for other platforms.
407
- const useInterpolationFilter = useTsb && !("packageCamera" in this.protectCamera.accessory.context) && (this.platform.codecSupport.hostSystem === "macOS.Apple");
409
+ // When on high-performance hardware like Apple Silicon, using the TSB, and we don't have low-FPS cameras like the package camera, enable the use of the
410
+ // CPU-intensive FFmpeg minterpolate filter to enable very smooth video, especially when there's motion involved. M3+ Apple Silicon environments are able to reliably
411
+ // use this filter in realtime and with great results. I'm hoping to be able to enable this in the future for other platforms.
412
+ const useInterpolationFilter = useTsb && !("packageCamera" in this.protectCamera.accessory.context) &&
413
+ ((this.platform.codecSupport.hostSystem === "macOS.Apple") && (this.platform.codecSupport.cpuGeneration >= 3));
408
414
  // Check to see if we're transcoding. If we are, set the right FFmpeg encoder options. If not, copy the video stream.
409
415
  if (isTranscoding) {
410
416
  // Configure our video parameters for transcoding.
@@ -418,10 +424,11 @@ export class ProtectStreamingDelegate {
418
424
  profile: request.video.profile,
419
425
  width: request.video.width
420
426
  }));
421
- // We augment our video filters to account for the timestamp quirkiness in FFmpeg when it comes to dealing with fMP4 inputs.
422
427
  if (useInterpolationFilter) {
423
428
  // Adjust our presentation timestamps for a smoother streaming experience.
424
- const minterpolate = "minterpolate=fps=" + request.video.fps.toString() + ":mi_mode=mci:mc_mode=aobmc:me=fss:me_mode=bidir:vsbmc=1:scd=none";
429
+ const minterpolate = ((this.protectCamera.hints.hardwareTranscoding && this.platform.codecSupport.ffmpegVersion.startsWith("8.")) ? "hwdownload, format=nv12, " : "") +
430
+ "fps=" + request.video.fps.toString() +
431
+ ", minterpolate=fps=" + request.video.fps.toString() + ":mi_mode=mci:mc_mode=aobmc:me=fss:me_mode=bidir:vsbmc=1:scd=none";
425
432
  const vf = ffmpegArgs.indexOf("-filter:v");
426
433
  if (vf >= 0) {
427
434
  ffmpegArgs[vf + 1] += ", " + minterpolate;
@@ -442,20 +449,19 @@ export class ProtectStreamingDelegate {
442
449
  ffmpegArgs.push("-bsf:v", "h264_mp4toannexb");
443
450
  }
444
451
  }
445
- // -fps_mode passthrough Ensure FFmpeg uses the PTS values we've specified, unaltered.
446
452
  // -metadata Set the metadata to the name of the camera to distinguish between FFmpeg sessions.
447
- ffmpegArgs.push("-fps_mode", "passthrough", "-metadata", "comment=" + this.protectCamera.accessoryName + " Livestream");
453
+ ffmpegArgs.push("-metadata", "comment=" + this.protectCamera.accessoryName + " Livestream");
448
454
  // Configure our video parameters for SRTP streaming:
449
455
  //
450
456
  // -payload_type num Payload type for the RTP stream. This is negotiated by HomeKit and is usually 99 for H.264 video.
451
457
  // -ssrc Synchronization source stream identifier. Random number negotiated by HomeKit to identify this stream.
452
458
  // -f rtp Specify that we're using the RTP protocol.
453
- // -avioflags direct Tell FFmpeg to minimize buffering to reduce latency for more realtime processing.
459
+ // -flush_packets 1 Ensure we flush our write buffer after each muxed packet.
454
460
  // -packetsize 1200 Use a packetsize of 1200 for compatibility across network environments. This should be no more than HomeKit livestreaming MTU
455
461
  // (1378 for IPv4 and 1228 for IPv6).
456
462
  // -srtp_out_suite enc Specify the output encryption encoding suites.
457
463
  // -srtp_out_params params Specify the output encoding parameters. This is negotiated by HomeKit.
458
- ffmpegArgs.push("-payload_type", request.video.pt.toString(), "-ssrc", sessionInfo.videoSSRC.toString(), "-f", "rtp", "-avioflags", "direct", "-packetsize", "1200", "-srtp_out_suite", "AES_CM_128_HMAC_SHA1_80", "-srtp_out_params", sessionInfo.videoSRTP.toString("base64"), "srtp://" + sessionInfo.address + ":" + sessionInfo.videoPort.toString() + "?rtcpport=" + sessionInfo.videoPort.toString());
464
+ ffmpegArgs.push("-payload_type", request.video.pt.toString(), "-ssrc", sessionInfo.videoSSRC.toString(), "-f", "rtp", "-flush_packets", "1", "-packetsize", "1200", "-srtp_out_suite", "AES_CM_128_HMAC_SHA1_80", "-srtp_out_params", sessionInfo.videoSRTP.toString("base64"), "srtp://" + sessionInfo.address + ":" + sessionInfo.videoPort.toString() + "?rtcpport=" + sessionInfo.videoPort.toString());
459
465
  // Configure the audio portion of the command line, if we have a version of FFmpeg supports the audio codecs we need. Options we use are:
460
466
  //
461
467
  // -map 0:a:0? Selects the first available audio track from the stream, if it exists. Protect actually maps audio
@@ -464,59 +470,34 @@ export class ProtectStreamingDelegate {
464
470
  // Protect changes this in the future.
465
471
  // -codec:a Encode using the codecs available to us on given platforms.
466
472
  // -profile:a 38 Specify enhanced, low-delay AAC for HomeKit.
467
- // -flags +global_header Sets the global header in the bitstream.
473
+ // -flags +global_header Sets the global header in the bitstream. Needed for FDK-AAC to correctly initialize. For encoders like aac_at it becomes a no-op.
468
474
  // -ar samplerate Sample rate to use for this audio. This is specified by HomeKit.
469
475
  // -b:a bitrate Bitrate to use for this audio stream. This is specified by HomeKit.
470
476
  // -ac number Set the number of audio channels.
471
- // -frame_size Set the number of samples per frame to match the requested frame size from HomeKit.
472
477
  if (sessionInfo.hasAudioSupport) {
473
478
  // Configure our audio parameters.
474
479
  ffmpegArgs.push(
475
480
  // Take advantage of the higher fidelity potentially available to us from the Opus track in the RTSP stream. The livestream API only provides an AAC track.
476
- "-map", useTsb ? "0:a:0?" : "0:a:1?", ...this.ffmpegOptions.audioEncoder(), "-profile:a", "38", "-flags", "+global_header", "-ar", request.audio.sample_rate.toString() + "k", "-b:a", request.audio.max_bit_rate.toString() + "k", "-ac", request.audio.channel.toString(), "-frame_size", (request.audio.packet_time * request.audio.sample_rate).toString());
481
+ "-map", useTsb ? "0:a:0?" : "0:a:1?", ...this.ffmpegOptions.audioEncoder(), "-flags", "+global_header", "-profile:a", "38", "-ar", request.audio.sample_rate.toString() + "k", "-b:a", request.audio.max_bit_rate.toString() + "k", "-ac", request.audio.channel.toString());
477
482
  // If we are audio filtering, address it here.
478
- if (this.protectCamera.hasFeature("Audio.Filter.Noise")) {
479
- const afOptions = [];
480
- // See what the user has set for the afftdn filter for this camera.
481
- let fftNr = this.protectCamera.getFeatureFloat("Audio.Filter.Noise.FftNr") ?? PROTECT_FFMPEG_AUDIO_FILTER_FFTNR;
482
- // If we have an invalid setting, use the defaults.
483
- if ((fftNr < 0.01) || (fftNr > 97)) {
484
- fftNr = (fftNr > 97) ? 97 : ((fftNr < 0.01) ? 0.01 : fftNr);
485
- }
486
- // The afftdn filter options we use are:
487
- //
488
- // nt=w Focus on eliminating white noise.
489
- // om=o Output the filtered audio.
490
- // tn=1 Enable noise tracking.
491
- // tr=1 Enable residual tracking.
492
- // nr=X Noise reduction value in decibels.
493
- afOptions.push("afftdn=nt=w:om=o:tn=1:tr=1:nr=" + fftNr.toString());
494
- const highpass = this.protectCamera.getFeatureNumber("Audio.Filter.Noise.HighPass");
495
- const lowpass = this.protectCamera.getFeatureNumber("Audio.Filter.Noise.LowPass");
496
- // Only set the highpass and lowpass filters if the user has explicitly enabled them.
497
- if ((highpass !== null) && (highpass !== undefined)) {
498
- afOptions.push("highpass=f=" + highpass.toString());
499
- }
500
- if ((lowpass !== null) && (lowpass !== undefined)) {
501
- afOptions.push("lowpass=f=" + lowpass.toString());
502
- }
503
- // Return the assembled audio filter option.
504
- ffmpegArgs.push("-af", afOptions.join(", "));
483
+ const afOptions = this.protectCamera.audioFilters;
484
+ if (afOptions.length) {
485
+ ffmpegArgs.push("-filter:a", afOptions.join(", "));
505
486
  }
506
487
  // Add the required RTP settings and encryption for the stream:
507
488
  //
508
489
  // -payload_type num Payload type for the RTP stream. This is negotiated by HomeKit and is usually 110 for AAC-ELD audio.
509
490
  // -ssrc synchronization source stream identifier. Random number negotiated by HomeKit to identify this stream.
510
491
  // -f rtp Specify that we're using the RTP protocol.
511
- // -avioflags direct Tell FFmpeg to minimize buffering to reduce latency for more realtime processing.
492
+ // -flush_packets 1 Ensure we flush our write buffer after each muxed packet.
512
493
  // -packetsize 384 Use a packetsize as a multiple of the sample rate. HomeKit livestreaming wants a block size of 480 samples when using AAC-ELD.
513
494
  // We loosely interpret that to mean less than 480 bytes per packet and use 384 since it's divisible by 16 kHz and 24 kHz.
514
495
  // -srtp_out_suite enc Specify the output encryption encoding suites.
515
496
  // -srtp_out_params params Specify the output encoding parameters. This is negotiated by HomeKit.
516
- ffmpegArgs.push("-payload_type", request.audio.pt.toString(), "-ssrc", sessionInfo.audioSSRC.toString(), "-f", "rtp", "-avioflags", "direct", "-packetsize", "384", "-srtp_out_suite", "AES_CM_128_HMAC_SHA1_80", "-srtp_out_params", sessionInfo.audioSRTP.toString("base64"), "srtp://" + sessionInfo.address + ":" + sessionInfo.audioPort.toString() + "?rtcpport=" + sessionInfo.audioPort.toString());
497
+ ffmpegArgs.push("-payload_type", request.audio.pt.toString(), "-ssrc", sessionInfo.audioSSRC.toString(), "-f", "rtp", "-flush_packets", "1", "-packetsize", "384", "-srtp_out_suite", "AES_CM_128_HMAC_SHA1_80", "-srtp_out_params", sessionInfo.audioSRTP.toString("base64"), "srtp://" + sessionInfo.address + ":" + sessionInfo.audioPort.toString() + "?rtcpport=" + sessionInfo.audioPort.toString());
517
498
  }
518
499
  // Additional logging, but only if we're debugging.
519
- if (this.platform.verboseFfmpeg || this.verboseFfmpeg) {
500
+ if (this.platform.verboseFfmpeg || this.verboseFfmpeg || this.protectCamera.hasFeature("Debug.Video.FFmpeg")) {
520
501
  ffmpegArgs.push("-loglevel", "level+verbose");
521
502
  }
522
503
  if (this.platform.config.debugAll) {
@@ -686,7 +667,7 @@ export class ProtectStreamingDelegate {
686
667
  ws = new WebSocket(sessionInfo.talkBack, { dispatcher: new Agent({ connect: { rejectUnauthorized: false } }) });
687
668
  isTalkbackLive = true;
688
669
  // Catch any errors and inform the user, if needed.
689
- ws?.addEventListener("error", (event) => {
670
+ ws.addEventListener("error", (event) => {
690
671
  // Ignore timeout errors, but notify the user about anything else.
691
672
  if (event.error.code !== "ETIMEDOUT") {
692
673
  this.log.error("Error in communicating with the return audio channel: %s - %s", event.error.cause.code, event.error.cause);
@@ -695,7 +676,7 @@ export class ProtectStreamingDelegate {
695
676
  wsCleanup();
696
677
  }, { once: true });
697
678
  // Catch any stray open events after we've closed.
698
- ws?.addEventListener("open", openListener = () => {
679
+ ws.addEventListener("open", openListener = () => {
699
680
  // If we've somehow opened after we've wrapped up talkback, terminate the connection.
700
681
  if (!isTalkbackLive) {
701
682
  // Clean up our talkback websocket.
@@ -703,7 +684,7 @@ export class ProtectStreamingDelegate {
703
684
  }
704
685
  });
705
686
  // Cleanup after ourselves on close.
706
- ws?.addEventListener("close", () => {
687
+ ws.addEventListener("close", () => {
707
688
  ws?.removeEventListener("open", openListener);
708
689
  }, { once: true });
709
690
  }
@@ -762,6 +743,7 @@ export class ProtectStreamingDelegate {
762
743
  stopStream(sessionId) {
763
744
  try {
764
745
  // Stop any FFmpeg instances we have running.
746
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
765
747
  if (this.ongoingSessions[sessionId]) {
766
748
  this.ongoingSessions[sessionId].ffmpeg.map(ffmpegProcess => ffmpegProcess.stop());
767
749
  // Close the demuxer, if we have one.
@@ -774,6 +756,7 @@ export class ProtectStreamingDelegate {
774
756
  this.ongoingSessions[sessionId].rtpPortReservations.map(x => this.platform.rtpPorts.cancel(x));
775
757
  }
776
758
  // On the off chance we were signaled to prepare to start streaming, but never actually started streaming, cleanup after ourselves.
759
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
777
760
  if (this.pendingSessions[sessionId]) {
778
761
  // Release our port reservations.
779
762
  this.pendingSessions[sessionId].rtpPortReservations.map(x => this.platform.rtpPorts.cancel(x));
@@ -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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"}
@@ -7,11 +7,9 @@ export declare class ProtectTimeshiftBuffer extends EventEmitter {
7
7
  private _isStarted;
8
8
  private _isTransmitting;
9
9
  private _segmentLength;
10
- private readonly accessory;
11
10
  private eventHandlers;
12
11
  private livestream?;
13
12
  private readonly log;
14
- private readonly nvr;
15
13
  private readonly protectCamera;
16
14
  private rtspEntry?;
17
15
  private segmentCount;
@@ -4,18 +4,16 @@
4
4
  */
5
5
  import { runWithTimeout } from "homebridge-plugin-utils";
6
6
  import { EventEmitter } from "node:events";
7
- import { PROTECT_HKSV_SEGMENT_RESOLUTION } from "./settings.js";
7
+ import { PROTECT_SEGMENT_RESOLUTION } from "./settings.js";
8
8
  // UniFi Protect livestream timeshift buffer.
9
9
  export class ProtectTimeshiftBuffer extends EventEmitter {
10
10
  _buffer;
11
11
  _isStarted;
12
12
  _isTransmitting;
13
13
  _segmentLength;
14
- accessory;
15
14
  eventHandlers;
16
15
  livestream;
17
16
  log;
18
- nvr;
19
17
  protectCamera;
20
18
  rtspEntry;
21
19
  segmentCount;
@@ -25,15 +23,13 @@ export class ProtectTimeshiftBuffer extends EventEmitter {
25
23
  this._buffer = [];
26
24
  this._isStarted = false;
27
25
  this._isTransmitting = false;
28
- this.accessory = protectCamera.accessory;
29
26
  this.eventHandlers = {};
30
27
  this.log = protectCamera.log;
31
- this.nvr = protectCamera.nvr;
32
28
  this.protectCamera = protectCamera;
33
29
  this.segmentCount = 1;
34
30
  // We use a small value for segment resolution in our timeshift buffer to ensure we provide an optimal timeshifting experience. It's a very small amount of additional
35
31
  // overhead for modern CPUs, but the result is a much better HKSV event recording experience.
36
- this._segmentLength = PROTECT_HKSV_SEGMENT_RESOLUTION;
32
+ this._segmentLength = PROTECT_SEGMENT_RESOLUTION;
37
33
  // Now let's configure the timeshift buffer.
38
34
  this.configureTimeshiftBuffer();
39
35
  }
@@ -70,21 +66,17 @@ export class ProtectTimeshiftBuffer extends EventEmitter {
70
66
  // configuration available to us immediately upon startup.
71
67
  if (this.protectCamera.stream.hksv?.recordingConfiguration?.mediaContainerConfiguration.fragmentLength) {
72
68
  if ((this._segmentLength < 100) || (this._segmentLength > 1500) ||
73
- (this._segmentLength > (this.protectCamera.stream.hksv?.recordingConfiguration?.mediaContainerConfiguration.fragmentLength / 2))) {
74
- this._segmentLength = PROTECT_HKSV_SEGMENT_RESOLUTION;
69
+ (this._segmentLength > (this.protectCamera.stream.hksv.recordingConfiguration.mediaContainerConfiguration.fragmentLength / 2))) {
70
+ this._segmentLength = PROTECT_SEGMENT_RESOLUTION;
75
71
  }
76
72
  }
77
73
  // Clear out the timeshift buffer, if it's been previously filled, and then fire up the timeshift buffer.
78
74
  this._buffer = [];
79
75
  // Acquire our livestream.
80
76
  this.livestream = this.protectCamera.livestream.acquire(rtspEntry);
81
- // Something went wrong.
82
- if (!this.livestream) {
83
- return false;
84
- }
85
77
  // Setup our listeners.
86
- this.livestream?.on("close", this.eventHandlers.close);
87
- this.livestream?.on("segment", this.eventHandlers.segment);
78
+ this.livestream.on("close", this.eventHandlers.close);
79
+ this.livestream.on("segment", this.eventHandlers.segment);
88
80
  // Start the livestream and let's begin building our timeshift buffer.
89
81
  if (!(await this.protectCamera.livestream.start(rtspEntry, this._segmentLength))) {
90
82
  // Something went wrong, let's cleanup our event handlers and we're done.
@@ -149,15 +141,12 @@ export class ProtectTimeshiftBuffer extends EventEmitter {
149
141
  }
150
142
  // Get the fMP4 initialization segment from the livestream API.
151
143
  async getInitSegment() {
152
- // If we have the initialization segment, return it.
153
- if (this.livestream?.initSegment) {
154
- return this.livestream.initSegment;
155
- }
156
- // We haven't seen it yet, wait for a couple of seconds and check an additional time.
157
- if (this.livestream) {
158
- return runWithTimeout(this.livestream.getInitSegment(), 2000);
144
+ // No livestream - we're done.
145
+ if (!this.livestream) {
146
+ return null;
159
147
  }
160
- return null;
148
+ // If we have the initialization segment, return it. If we haven't seen it yet, wait for a couple of seconds and check an additional time.
149
+ return this.livestream.initSegment ?? await runWithTimeout(this.livestream.getInitSegment(), 2000);
161
150
  }
162
151
  // Return the last duration milliseconds of the buffer, with an initialization segment.
163
152
  getLast(duration) {
@@ -181,7 +170,7 @@ export class ProtectTimeshiftBuffer extends EventEmitter {
181
170
  }
182
171
  // Return whether the underlying livestream connection is currently restarting itself.
183
172
  get isRestarting() {
184
- return this.rtspEntry ? this.protectCamera.livestream?.isRestarting(this.rtspEntry) : false;
173
+ return this.rtspEntry ? this.protectCamera.livestream.isRestarting(this.rtspEntry) : false;
185
174
  }
186
175
  // Return whether or not we have started the timeshift buffer.
187
176
  get isStarted() {
@@ -1 +1 @@
1
- {"version":3,"file":"protect-timeshift.js","sourceRoot":"","sources":["../src/protect-timeshift.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protect-timeshift.js","sourceRoot":"","sources":["../src/protect-timeshift.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@ export declare enum ProtectReservedNames {
26
26
  SWITCH_DOORBELL_CHIME_MECHANICAL = "DoorbellChime.mechanical",
27
27
  SWITCH_DOORBELL_CHIME_NONE = "DoorbellChime.none",
28
28
  SWITCH_DOORBELL_CHIME_SPEAKER = "DoorbellChime.speaker",
29
+ SWITCH_DOORBELL_MUTE = "DoorbellMute",
29
30
  SWITCH_DOORBELL_TRIGGER = "DoorbellTrigger",
30
31
  SWITCH_HKSV_RECORDING = "HKSVRecordingSwitch",
31
32
  SWITCH_MOTION_SENSOR = "MotionSensorSwitch",
@@ -28,6 +28,7 @@ export var ProtectReservedNames;
28
28
  ProtectReservedNames["SWITCH_DOORBELL_CHIME_MECHANICAL"] = "DoorbellChime.mechanical";
29
29
  ProtectReservedNames["SWITCH_DOORBELL_CHIME_NONE"] = "DoorbellChime.none";
30
30
  ProtectReservedNames["SWITCH_DOORBELL_CHIME_SPEAKER"] = "DoorbellChime.speaker";
31
+ ProtectReservedNames["SWITCH_DOORBELL_MUTE"] = "DoorbellMute";
31
32
  ProtectReservedNames["SWITCH_DOORBELL_TRIGGER"] = "DoorbellTrigger";
32
33
  ProtectReservedNames["SWITCH_HKSV_RECORDING"] = "HKSVRecordingSwitch";
33
34
  ProtectReservedNames["SWITCH_MOTION_SENSOR"] = "MotionSensorSwitch";
@@ -1 +1 @@
1
- {"version":3,"file":"protect-types.js","sourceRoot":"","sources":["../src/protect-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,oBAAoB;AACpB,MAAM,UAAU,WAAW,CAAC,KAAa;IAEvC,OAAO,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACrE,CAAC;AAYD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAE,CAAC;AAI1F,uBAAuB;AACvB,MAAM,CAAN,IAAY,oBA+BX;AA/BD,WAAY,oBAAoB;IAE9B,mCAAmC;IACnC,gEAAwC,CAAA;IACxC,+EAAuD,CAAA;IACvD,8FAAsE,CAAA;IACtE,wDAAgC,CAAA;IAChC,wEAAgD,CAAA;IAEhD,8BAA8B;IAC9B,iEAAyC,CAAA;IACzC,6DAAqC,CAAA;IACrC,iFAAyD,CAAA;IAEzD,yBAAyB;IACzB,8CAAsB,CAAA;IAEtB,2BAA2B;IAC3B,6EAAqD,CAAA;IACrD,+EAAuD,CAAA;IACvD,qFAA6D,CAAA;IAC7D,yEAAiD,CAAA;IACjD,+EAAuD,CAAA;IACvD,mEAA2C,CAAA;IAC3C,qEAA6C,CAAA;IAC7C,mEAA2C,CAAA;IAC3C,qEAA6C,CAAA;IAC7C,6DAAqC,CAAA;IACrC,iFAAyD,CAAA;IACzD,yFAAiE,CAAA;IACjE,+EAAuD,CAAA;AACzD,CAAC,EA/BW,oBAAoB,KAApB,oBAAoB,QA+B/B"}
1
+ {"version":3,"file":"protect-types.js","sourceRoot":"","sources":["../src/protect-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,oBAAoB;AACpB,MAAM,UAAU,WAAW,CAAC,KAAa;IAEvC,OAAO,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACrE,CAAC;AAYD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAE,CAAC;AAI1F,uBAAuB;AACvB,MAAM,CAAN,IAAY,oBAgCX;AAhCD,WAAY,oBAAoB;IAE9B,mCAAmC;IACnC,gEAAwC,CAAA;IACxC,+EAAuD,CAAA;IACvD,8FAAsE,CAAA;IACtE,wDAAgC,CAAA;IAChC,wEAAgD,CAAA;IAEhD,8BAA8B;IAC9B,iEAAyC,CAAA;IACzC,6DAAqC,CAAA;IACrC,iFAAyD,CAAA;IAEzD,yBAAyB;IACzB,8CAAsB,CAAA;IAEtB,2BAA2B;IAC3B,6EAAqD,CAAA;IACrD,+EAAuD,CAAA;IACvD,qFAA6D,CAAA;IAC7D,yEAAiD,CAAA;IACjD,+EAAuD,CAAA;IACvD,6DAAqC,CAAA;IACrC,mEAA2C,CAAA;IAC3C,qEAA6C,CAAA;IAC7C,mEAA2C,CAAA;IAC3C,qEAA6C,CAAA;IAC7C,6DAAqC,CAAA;IACrC,iFAAyD,CAAA;IACzD,yFAAiE,CAAA;IACjE,+EAAuD,CAAA;AACzD,CAAC,EAhCW,oBAAoB,KAApB,oBAAoB,QAgC/B"}
@@ -7,11 +7,11 @@ export declare const PROTECT_DOORBELL_AUTHSENSOR_DURATION = 5000;
7
7
  export declare const PROTECT_DOORBELL_CHIME_DURATION_DIGITAL = 1000;
8
8
  export declare const PROTECT_DOORBELL_CHIME_SPEAKER_DURATION = 3500;
9
9
  export declare const PROTECT_DOORBELL_TRIGGER_DURATION = 5000;
10
- export declare const PROTECT_FFMPEG_AUDIO_FILTER_FFTNR = 90;
11
- export declare const PROTECT_FFMPEG_AUDIO_FILTER_HIGHPASS = 200;
12
- export declare const PROTECT_FFMPEG_AUDIO_FILTER_LOWPASS = 1000;
10
+ export declare const PROTECT_FFMPEG_AUDIO_FILTER_FFTNR = 14;
11
+ export declare const PROTECT_FFMPEG_AUDIO_FILTER_HIGHPASS = 150;
12
+ export declare const PROTECT_FFMPEG_AUDIO_FILTER_LOWPASS = 9000;
13
13
  export declare const PROTECT_LIVESTREAM_API_IDR_INTERVAL = 5;
14
- export declare const PROTECT_HKSV_SEGMENT_RESOLUTION = 100;
14
+ export declare const PROTECT_SEGMENT_RESOLUTION = 100;
15
15
  export declare const PROTECT_HKSV_TIMEOUT = 4500;
16
16
  export declare const PROTECT_HKSV_TIMESHIFT_BUFFER_MAXDURATION: number;
17
17
  export declare const PROTECT_M3U_PLAYLIST_PORT = 10110;
package/dist/settings.js CHANGED
@@ -21,15 +21,15 @@ export const PROTECT_DOORBELL_CHIME_SPEAKER_DURATION = 3500;
21
21
  // Default duration, in milliseconds, of the trigger switch for a Protect doorbell, primarily for automation purposes.
22
22
  export const PROTECT_DOORBELL_TRIGGER_DURATION = 5000;
23
23
  // FFmpeg afftdn audio filter defaults - this setting uses FFTs to reduce noise in an audio signal by the number of decibels below.
24
- export const PROTECT_FFMPEG_AUDIO_FILTER_FFTNR = 90;
24
+ export const PROTECT_FFMPEG_AUDIO_FILTER_FFTNR = 14;
25
25
  // FFmpeg highpass audio filter defaults - this setting attenuates (eliminates) frequencies below the value.
26
- export const PROTECT_FFMPEG_AUDIO_FILTER_HIGHPASS = 200;
26
+ export const PROTECT_FFMPEG_AUDIO_FILTER_HIGHPASS = 150;
27
27
  // FFmpeg lowpass audio filter defaults - this setting attenuates (eliminates) frequencies above the value.
28
- export const PROTECT_FFMPEG_AUDIO_FILTER_LOWPASS = 1000;
28
+ export const PROTECT_FFMPEG_AUDIO_FILTER_LOWPASS = 9000;
29
29
  // Protect's native I-frame interval can vary, but the livestream API seems to default to 5 seconds at most, though it depends on camera type and stream quality selected.
30
30
  export const PROTECT_LIVESTREAM_API_IDR_INTERVAL = 5;
31
- // HomeKit Secure Video segment resolution, in milliseconds. This defines the resolution of our buffer. It should never be less than 100ms or greater than 1500ms.
32
- export const PROTECT_HKSV_SEGMENT_RESOLUTION = 100;
31
+ // Protect fMP4 segment resolution, in milliseconds. This defines the resolution of our buffer. It should never be less than 100ms or greater than 1500ms.
32
+ export const PROTECT_SEGMENT_RESOLUTION = 100;
33
33
  // HomeKit Secure Video communication timeout threshold, in milliseconds. HKSV has a strict 5 second threshold for communication, so we set this a little below that.
34
34
  export const PROTECT_HKSV_TIMEOUT = 4500;
35
35
  // HomeKit Secure Video timeshift buffer default duration, in milliseconds. This defines how far back in time we can look when we see a motion event.
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,0BAA0B;AAC1B,MAAM,CAAC,MAAM,WAAW,GAAG,0BAA0B,CAAC;AAEtD,mCAAmC;AACnC,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;AAE7C,yFAAyF;AACzF,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAG,CAAC;AAEvD,0GAA0G;AAC1G,MAAM,CAAC,MAAM,iCAAiC,GAAG,EAAE,CAAC;AAEpD,mFAAmF;AACnF,MAAM,CAAC,MAAM,qCAAqC,GAAG,EAAE,CAAC;AAExD,qIAAqI;AACrI,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,CAAC;AAEzD,6IAA6I;AAC7I,MAAM,CAAC,MAAM,uCAAuC,GAAG,IAAI,CAAC;AAE5D,oHAAoH;AACpH,MAAM,CAAC,MAAM,uCAAuC,GAAG,IAAI,CAAC;AAE5D,sHAAsH;AACtH,MAAM,CAAC,MAAM,iCAAiC,GAAG,IAAI,CAAC;AAEtD,mIAAmI;AACnI,MAAM,CAAC,MAAM,iCAAiC,GAAG,EAAE,CAAC;AAEpD,4GAA4G;AAC5G,MAAM,CAAC,MAAM,oCAAoC,GAAG,GAAG,CAAC;AAExD,2GAA2G;AAC3G,MAAM,CAAC,MAAM,mCAAmC,GAAG,IAAI,CAAC;AAExD,0KAA0K;AAC1K,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC;AAErD,kKAAkK;AAClK,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AAEnD,qKAAqK;AACrK,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAEzC,qJAAqJ;AACrJ,MAAM,CAAC,MAAM,yCAAyC,GAAG,mCAAmC,GAAG,IAAI,GAAG,CAAC,CAAC;AAExG,wJAAwJ;AACxJ,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AAE/C,0HAA0H;AAC1H,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAE1C,uGAAuG;AACvG,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAElD,qDAAqD;AACrD,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAE9C,2EAA2E;AAC3E,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAE3C,wCAAwC;AACxC,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAEhD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAE9C,oFAAoF;AACpF,MAAM,CAAC,MAAM,sCAAsC,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,0BAA0B;AAC1B,MAAM,CAAC,MAAM,WAAW,GAAG,0BAA0B,CAAC;AAEtD,mCAAmC;AACnC,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;AAE7C,yFAAyF;AACzF,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAG,CAAC;AAEvD,0GAA0G;AAC1G,MAAM,CAAC,MAAM,iCAAiC,GAAG,EAAE,CAAC;AAEpD,mFAAmF;AACnF,MAAM,CAAC,MAAM,qCAAqC,GAAG,EAAE,CAAC;AAExD,qIAAqI;AACrI,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,CAAC;AAEzD,6IAA6I;AAC7I,MAAM,CAAC,MAAM,uCAAuC,GAAG,IAAI,CAAC;AAE5D,oHAAoH;AACpH,MAAM,CAAC,MAAM,uCAAuC,GAAG,IAAI,CAAC;AAE5D,sHAAsH;AACtH,MAAM,CAAC,MAAM,iCAAiC,GAAG,IAAI,CAAC;AAEtD,mIAAmI;AACnI,MAAM,CAAC,MAAM,iCAAiC,GAAG,EAAE,CAAC;AAEpD,4GAA4G;AAC5G,MAAM,CAAC,MAAM,oCAAoC,GAAG,GAAG,CAAC;AAExD,2GAA2G;AAC3G,MAAM,CAAC,MAAM,mCAAmC,GAAG,IAAI,CAAC;AAExD,0KAA0K;AAC1K,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC;AAErD,0JAA0J;AAC1J,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAE9C,qKAAqK;AACrK,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAEzC,qJAAqJ;AACrJ,MAAM,CAAC,MAAM,yCAAyC,GAAG,mCAAmC,GAAG,IAAI,GAAG,CAAC,CAAC;AAExG,wJAAwJ;AACxJ,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AAE/C,0HAA0H;AAC1H,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAE1C,uGAAuG;AACvG,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAElD,qDAAqD;AACrD,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAE9C,2EAA2E;AAC3E,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAE3C,wCAAwC;AACxC,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAEhD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAE9C,oFAAoF;AACpF,MAAM,CAAC,MAAM,sCAAsC,GAAG,IAAI,CAAC"}