@chrisalvir1/camera-ui-homekit-4k 0.6.15 → 0.6.17
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/CHANGELOG.md +33 -4
- package/README.md +14 -12
- package/bundle.zip +0 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.6.17] — LAN-aware HomeKit advertisement
|
|
4
|
+
|
|
5
|
+
- Bind HomeKit/mDNS publication to detected private IPv4 interfaces, so
|
|
6
|
+
accessories resolve to the Camera.UI host's LAN address instead of loopback.
|
|
7
|
+
Interface names are selected dynamically to follow Wi-Fi/Ethernet address
|
|
8
|
+
changes; when no private IPv4 interface exists, HAP keeps its default
|
|
9
|
+
interface selection. This changes discovery/advertisement only; video, audio,
|
|
10
|
+
HKSV/HKSV3, detection, and pairing data are untouched.
|
|
11
|
+
- Validate LAN binding with unit coverage, runtime mDNS resolution, build,
|
|
12
|
+
typecheck, lint, tests, and Camera.UI bundle smoke checks.
|
|
13
|
+
|
|
14
|
+
## [0.6.16] — Shared codec profiles for newly assigned cameras
|
|
15
|
+
|
|
16
|
+
- Removed the embedded loopback npm registry from plugin startup. Public installs
|
|
17
|
+
leave each user's npm configuration untouched and use Camera.UI/npm's normal
|
|
18
|
+
package update path.
|
|
19
|
+
|
|
20
|
+
- Apply codec-specific shared defaults to newly assigned cameras that have a
|
|
21
|
+
usable source: H.264 selects HKSV and HEVC selects HKSV3. A camera explicitly
|
|
22
|
+
stopped by its user is not auto-published again. Recording audio is enabled
|
|
23
|
+
once per codec after HAP restores state; later Home settings are preserved.
|
|
24
|
+
- Keep H.264 and HEVC media paths isolated. Codec and dimensions are re-probed
|
|
25
|
+
on reconnect; failed source detection leaves the accessory unpublished and
|
|
26
|
+
can be retried from that camera's settings. Camera.UI still owns OpenCV/CoreML
|
|
27
|
+
installation and sensor assignment; this plugin forwards assigned sensors.
|
|
28
|
+
|
|
3
29
|
## [0.6.15] — Camera.UI platform install targets
|
|
4
30
|
|
|
5
31
|
- Declare macOS, Windows, and Linux on x64 and ARM64 as npm install targets,
|
|
@@ -52,6 +78,7 @@
|
|
|
52
78
|
|
|
53
79
|
- H.264 live and HKSV use measured source dimensions: video up to 1920×1080 is passed through; larger sources use a verified H.264 encoder at 1920×1080. Existing negotiated audio routes are retained.
|
|
54
80
|
- Shared Camera.UI detection bridge accepts visual object labels such as car, truck, dog and cat from assigned detectors, including future camera exports. Aggregate event end always releases motion even when closing metadata is empty.
|
|
81
|
+
- Camera.UI sensor/plugin assignments remain host-owned. The plugin forwards events from sensors already assigned to a camera; it cannot install OpenCV/CoreML or assign their sensors on the user's behalf.
|
|
55
82
|
- HEVC/HKSV3 recording audio receives its persistent one-time first-export default after HAP restores state. Later HomeKit audio choices are retained.
|
|
56
83
|
- HEVC video/audio transport, its recording implementation and pairing identities are preserved. A worker reload briefly interrupts every accessory served by that worker.
|
|
57
84
|
|
|
@@ -76,11 +103,13 @@
|
|
|
76
103
|
|
|
77
104
|
## [0.6.3]
|
|
78
105
|
|
|
79
|
-
|
|
106
|
+
> Correction: the automatic detector assignment and automatic export described
|
|
107
|
+
> here were not implemented in 0.6.3. Version 0.6.16 adds automatic HomeKit
|
|
108
|
+
> export for assigned cameras with a usable, confirmed source, but detector
|
|
109
|
+
> plugins and their sensor assignments remain controlled by Camera.UI.
|
|
110
|
+
|
|
80
111
|
- **Go2RTC Stream Preload & Elimination of Audio Teardown Collision:** Configured persistent Go2RTC stream preloading (`preload: audio=&video=`) and disabled RTSP backchannel handshakes (`backchannelDisabled: true`, `#backchannel=0#noBackchannel`) on Vimtag cloud relay sources, preventing WAN timeout disconnects (`i/o timeout`) and resolving Go2RTC's `error="start from CONN state"`.
|
|
81
112
|
- **RTSP Direct Resolution Fallback for Multiplexed Sources:** Refined `resolveDirectCameraRtspUrl` to strictly return direct URLs only for verified private LAN IP addresses (`192.168.x.x`, `10.x.x.x`, `172.16-31.x.x`). For cloud and plugin cameras, gracefully falls back to Camera.UI multiplexed endpoints with proper query parameters (`?video&audio`), guaranteeing that FFmpeg HDS recordings generate complete `moov` initialization segments containing both video and AAC-LC audio tracks.
|
|
82
|
-
- **Auto-Provisioning on Camera Addition (`CameraAutoConfig`):** Added automated configuration synchronization upon camera addition (`onCameraAdded`) and startup (`configureCameras`). Newly added HEVC cameras immediately receive HKSV3 configuration, continuous recording settings, and automatic HomeKit export without manual intervention.
|
|
83
|
-
- **Permanent H.264 & Tapo Isolation:** Kept Tapo and all existing H.264 logic strictly untouched (`src/h264/*` unchanged); future H.264 cameras automatically inherit Tapo's standard H.264 configuration.
|
|
84
113
|
- **FirmwareRevision Update:** Incremented firmware revision to `0.6.3`.
|
|
85
114
|
|
|
86
115
|
## [0.6.2]
|
|
@@ -94,7 +123,7 @@
|
|
|
94
123
|
|
|
95
124
|
## [0.6.1]
|
|
96
125
|
|
|
97
|
-
|
|
126
|
+
> Correction: this release does not automatically assign cameras to detector plugins or export every camera to Apple Home. Camera.UI owns sensor assignments, and export is done from the per-camera HomeKit settings.
|
|
98
127
|
- **HEVC HKSV3 Audio Clock Synchronization (16 kHz):** Scaled Opus RTP timestamps by $16\text{k} / 48\text{k}$ (320 ticks per 20ms frame) to match HomeKit's negotiated 16 kHz audio sample rate (`sampleRate: 1`), eliminating the 3x timestamp forward surge and completely resolving the cyclic 1-second audio / mute stutter.
|
|
99
128
|
- **Parasitic Microphone Whine & Artifact Elimination:** Implemented a specialized Butterworth 2-pole bandpass filter (`highpass=f=150:poles=2,lowpass=f=3500:poles=2`), FFT adaptive noise reduction (`afftdn=nf=-40`), clean gain boost, and switched Opus encoding to `-application voip -b:a 48k -vbr off`, completely eliminating the 6.28 kHz hardware whistle, background cricket buzz, and metallic CELT ringing across all HEVC live streams and recordings.
|
|
100
129
|
- **Independent Audio Jitter Buffer Operation:** Omitted periodic audio RTCP Sender Reports in HKSV3 Multi-Tier RTP so HomeKit plays live audio continuously without inter-stream clock clashes against video.
|
package/README.md
CHANGED
|
@@ -6,11 +6,15 @@ HomeKit 4K exports cameras assigned to the plugin in Camera.UI as separate
|
|
|
6
6
|
Apple Home accessories. Camera.UI remains the source of camera streams,
|
|
7
7
|
capabilities, sensors, and detector configuration.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
When Camera.UI assigns a camera to this plugin, the plugin probes its available
|
|
10
|
+
source and publishes it automatically once it can confirm H.264 or HEVC. A user
|
|
11
|
+
can stop a camera's export in that camera's settings; this choice persists and
|
|
12
|
+
prevents automatic republication. An unavailable/unknown source is retried a
|
|
13
|
+
few times; selecting a different source in that camera's settings retries it.
|
|
14
|
+
|
|
15
|
+
**Release 0.6.17** adds LAN-aware HomeKit/mDNS advertisement. Runtime behavior
|
|
16
|
+
was validated on the developer MacBook with Camera.UI 2.3.0; see the changelog
|
|
17
|
+
for the scope of each release and its validation evidence.
|
|
14
18
|
|
|
15
19
|
## Current behavior
|
|
16
20
|
|
|
@@ -52,13 +56,11 @@ pnpm smoke:bundle
|
|
|
52
56
|
|
|
53
57
|
Automated checks and real-host evidence are different: test results do not
|
|
54
58
|
replace playback, recording, or detection confirmation in Apple Home. See the
|
|
55
|
-
|
|
59
|
+
[public codec-profile notes](https://github.com/Chrisalvir1/homekit-4k/blob/main/docs/HKSV3_HEVC_CHANGES.md).
|
|
56
60
|
|
|
57
61
|
## Public release status
|
|
58
62
|
|
|
59
|
-
The package
|
|
60
|
-
unmodified copy; modifying or redistributing it is not
|
|
61
|
-
author's written permission.
|
|
62
|
-
Camera.UI's supported plugin installer
|
|
63
|
-
there. See
|
|
64
|
-
[`docs/npm-publication-readiness.md`](docs/npm-publication-readiness.md).
|
|
63
|
+
The package is public on npm under a proprietary license: users may download,
|
|
64
|
+
install, and run an unmodified copy; modifying or redistributing it is not
|
|
65
|
+
permitted without the author's written permission. Version 0.6.17 is the current release.
|
|
66
|
+
Use Camera.UI's supported plugin installer to install the latest public release.
|
package/bundle.zip
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chrisalvir1/camera-ui-homekit-4k",
|
|
3
3
|
"displayName": "HOMEKIT 4K — by Chrisalvir",
|
|
4
|
-
"version": "0.6.
|
|
4
|
+
"version": "0.6.17",
|
|
5
5
|
"description": "Exports Camera.UI cameras to Apple Home with H.264/HKSV and HEVC/HKSV3 streaming paths.",
|
|
6
6
|
"homepage": "https://github.com/Chrisalvir1/homekit-4k",
|
|
7
7
|
"repository": {
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"url": "https://github.com/Chrisalvir1/homekit-4k/issues"
|
|
13
13
|
},
|
|
14
14
|
"author": "Chrisalvir",
|
|
15
|
-
"license": "SEE LICENSE IN LICENSE",
|
|
15
|
+
"license": "SEE LICENSE IN LICENSE.md",
|
|
16
16
|
"publishConfig": {
|
|
17
17
|
"access": "public",
|
|
18
18
|
"registry": "https://registry.npmjs.org/"
|