Skip to content

Commit

Permalink
v7.1.0.
Browse files Browse the repository at this point in the history
  • Loading branch information
hjdhjd committed Jun 16, 2024
1 parent 48fdbf4 commit 6e380b5
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 34 deletions.
7 changes: 7 additions & 0 deletions docs/Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@

All notable changes to this project will be documented in this file. This project uses [semantic versioning](https://semver.org/).

## 7.1.0 (2024-06-15)
* Behavior change: transcoding is now enabled by default even for local/low-latency streaming. The reason for this change is that HomeKit really doesn't provide a good distinction between local versus remote streaming, merely hinting at whether a HomeKit client is in a low-latency or high-latency environment. If you're on WiFi in a remote location and accessing your Protect cameras in the Home app, they would appear to HomeKit and HBUP as a low-latency connection rather. I believe these defaults are more sane and consistent as we move into the next generation of HBUP and Protect. You can, as always, adjust the defaults.
* Improvement: hardware-accelerated decoding has been reenabled for HKSV. I disabled this quite some time ago as it seemed to be finicky at times and lead to unnecessary recording errors, but things seem to have improvement somewhat on the Protect end of things and I've also added some safety checks to alleviate the issues. The benefits outweigh the potential downsides, particularly given how often HKSV events can be triggered in most environments.
* Improvement: further optimizations to snapshots to ensure we're even more responsive to HomeKit. HBUP now goes to more lengths to guarantee a short response time to snapshot requests by the Home app.
* Improvement: further optimizations and refinements of API-based livestreaming. I'm hoping to evolve this to be the default in future releases, but there's a little more testing and work I'd like to do first. Using API livestreaming has numerous advantages including substantially lower resource utilization on the Protect controller itself if you're already using HKSV and have timeshifting enabled (which it is by default). In addition, livestreams are now essentially instantaneous across the board, and more is coming. TL;DR: things are faster, better, and more streamlined...and still experimental.
* Improvement: HEVC (aka enhanced encoding in Protect-speak) based recording events are much better supported with far fewer grey/blank event snapshots in the HKSV timeline than in prior releases.

## 7.0.7 (2024-06-10)
* Housekeeping.

Expand Down
3 changes: 2 additions & 1 deletion docs/FeatureOptions.md
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ These option(s) apply to: Protect cameras.
|--------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| `Video.Transcode.Hardware` | Use hardware-accelerated transcoding when available (Apple Macs, Intel Quick Sync Video-enabled CPUs, Raspberry Pi 4). **(default: disabled)**.
| `Video.Stream.UseApi` | Use the native Protect livestream API to view livestreams (Experimental). **(default: disabled)**.
| `Video.Transcode` | When streaming to local clients (e.g. at home), always transcode livestreams, instead of transmuxing them. **(default: disabled)**.
| `Video.Transcode` | When streaming to local clients (e.g. at home), transcode livestreams, instead of transmuxing them. **(default: enabled)**.
| `Video.Transcode.Bitrate<I>.Value</I>` | 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. **(default: 2000)**.
| `Video.Transcode.HighLatency` | When streaming to high-latency clients (e.g. cellular connections), transcode livestreams instead of transmuxing them. **(default: enabled)**.
| `Video.Transcode.HighLatency.Bitrate<I>.Value</I>` | Bitrate, in kilobits per second, to use when transcoding to high-latency (e.g. cellular) clients, ignoring the bitrate HomeKit requests. HomeKit typically requests lower video quality than you may desire in your environment. **(default: 1000)**.
Expand All @@ -164,3 +164,4 @@ These option(s) apply to: Protect cameras.
| `Video.HKSV.Record.Only.High` | When recording HomeKit Secure Video events, force the use of the high quality video stream from the Protect controller. **(default: disabled)**.
| `Video.HKSV.Record.Only.Medium` | When recording HomeKit Secure Video events, force the use of the medium quality video stream from the Protect controller. **(default: disabled)**.
| `Video.HKSV.Record.Only.Low` | When recording HomeKit Secure Video events, force the use of the low quality video stream from the Protect controller. **(default: disabled)**.

60 changes: 30 additions & 30 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "homebridge-unifi-protect",
"version": "7.0.7",
"version": "7.1.0",
"displayName": "Homebridge UniFi Protect",
"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.",
"author": {
Expand Down Expand Up @@ -77,12 +77,12 @@
"dependencies": {
"@homebridge/plugin-ui-utils": "1.0.3",
"ffmpeg-for-homebridge": "2.1.1",
"homebridge-plugin-utils": "^1.4.0",
"homebridge-plugin-utils": "^1.5.0",
"unifi-protect": "^4.11.1",
"ws": "8.17.0"
},
"devDependencies": {
"@stylistic/eslint-plugin": "2.1.0",
"@stylistic/eslint-plugin": "2.2.0",
"@types/node": "20.14.2",
"@types/readable-stream": "4.0.14",
"@types/ws": "8.5.10",
Expand Down

0 comments on commit 6e380b5

Please sign in to comment.