@chrisalvir1/camera-ui-homekit-4k 0.6.21 → 0.6.23

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 CHANGED
@@ -1,5 +1,24 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.6.23] — OpenCV/CoreML Animal & Vehicle Detections, Two-Way Audio Talkback & Audio Continuity
4
+
5
+ - **OpenCV & CoreML Visual Detections Restored**: Expanded `DetectionMotion` event evaluation to include specific animal and vehicle labels (`dog`, `cat`, `bird`, `pet`, `car`, `truck`, `bus`, `motorcycle`, `bicycle`, etc.), direct `event.detections` arrays, and detector triggers (`opencv`, `coreml`, `yolo`, `object`). Prevents dropping animal and vehicle detections from Camera.UI, properly firing HomeKit `MotionDetected` for HKSV classification.
6
+ - **Audio Stutter and Sudden Drop Elimination**: Removed destructive `timeline.rewrite` from FFmpeg live audio packet output. Preserved native 48kHz Opus RTP timestamps without 32-bit unsigned wrapping jumps (which previously caused 4.29 billion tick jumps that muted CoreAudio after initial playback).
7
+ - **Network Jitter Resilience for Cloud Feeds (Ring)**: Updated FFmpeg live audio resampling to `-af aresample=async=1000:first_pts=0` and added `-thread_queue_size 1024` on input, preventing packet drops and pauses on network jitter.
8
+ - **Delayed RTSP Audio Detection (Ezviz)**: Increased probe buffer to `-probesize 1000000 -analyzeduration 1500000` to reliably detect and stream audio tracks that arrive after initial video frames.
9
+ - **Pure Video Passthrough + Libopus Audio (Tapo C120 & Wyze)**: Standardized live H.264 streaming through `H264LiveRtpSession` with `-c:v copy` (100% video passthrough, zero re-encoding) and clean `libopus` audio transcoding, eliminating the metallic screeching ("ruido chillante") produced by `node-av`'s internal Opus encoder.
10
+ - **Two-Way Audio (Talkback) Decryption and Forwarding**: Authenticates and decrypts controller microphone packets using the controller's SRTP key (`request.audio.srtp_key`), forwarding clear RTP audio packets directly to Camera.UI / go2rtc via `CameraUiTalkbackSession` and `startBackchannel()`.
11
+ - **Atomic Constraints**: Absolutely zero changes to HEVC/HKSV3 or recording logic.
12
+
13
+ ## [0.6.22] — Robust H.264 Live Stream & Crystal-Clear Audio Passthrough
14
+
15
+ - **Fixed IP Version Match in `prepareStream`**: Ensured `addressOverride` strictly matches `request.addressVersion` (IPv4 vs IPv6). When HomeKit connects via IPv6, avoiding incompatible IPv4 override prevents HAP-NodeJS from rejecting the stream with "Incoming and outgoing ip address versions must match!" which previously resulted in "Sin respuesta".
16
+ - **Pure Native Packet Integrity**: Native `node-av` RTP video packets are passed through directly without running `timeline.rewrite`, preserving continuous RFC 6184 NAL fragmentation (FU-A) sequences, exact timestamps, and marker bits.
17
+ - **Opus Negotiation Alignment & Two-Way Audio**: Advertised OPUS exclusively in H.264 streaming options with `twoWayAudio: true`, ensuring iOS always negotiates Opus at 48 kHz.
18
+ - **Audio Return / Talkback Forwarding**: Handled return audio packets from HomeKit controllers and routed them directly to Camera.UI backchannel.
19
+ - **Strict Video Passthrough & 2K Hardware Transcoding**: Cameras $\le$ 1080p (e.g. Tapo C120 configured at 1080p) run in 100% video passthrough with zero re-encoding. Cameras > 1080p (e.g. Tapo C402 in 2K) transcode to 1080p via Apple Silicon Hardware Acceleration (`h264_videotoolbox`).
20
+ - **Atomic Constraints**: Absolutely zero changes to HEVC/HKSV3, recordings, or detection logic.
21
+
3
22
  ## [0.6.21] — Non-blocking H.264 live stream startup & multihome IP routing
4
23
 
5
24
  - Eliminated the blocking media packet wait (`await ready`) inside `handleStreamRequest(start)`:
package/README.md CHANGED
@@ -12,9 +12,10 @@ can stop a camera's export in that camera's settings; this choice persists and
12
12
  prevents automatic republication. An unavailable/unknown source is retried a
13
13
  few times; selecting a different source in that camera's settings retries it.
14
14
 
15
- **Working version 0.6.21** resolves the HomeKit live stream "Sin respuesta" timeout by
16
- responding immediately to HAP start requests without blocking on packets, optimizes multihome UDP routing,
17
- and fixes live audio to 48 kHz Opus without the screeching/distortion present in the official plugin.
15
+ **Working version 0.6.22** resolves the HomeKit live stream "Sin respuesta" issue by
16
+ strictly matching IP address versions in HAP prepareStream, preserving native RFC 6184 NAL unit integrity,
17
+ and delivering crystal-clear 48 kHz Opus audio with video passthrough for $\le$1080p and Apple Silicon 2K hardware transcoding for >1080p.
18
+ **Release 0.6.21** non-blocking H.264 start response.
18
19
  **Release 0.6.19** restores standard H.264 resolution choices in the HomeKit offer.
19
20
  **Release 0.6.18** added initial Opus negotiation handling. **Release 0.6.17** adds LAN-aware mDNS.
20
21
  Runtime behavior was validated on the developer MacBook with Camera.UI 2.3.0;
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.21",
4
+ "version": "0.6.23",
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": {