New Features
1. New Desktop Remote Control via Pan-Tilt-Zoom
- Added a new Enable desktop remote control via PTZ option in the Screen Live tab.
- PTZ Pan/Tilt commands can now move the mouse cursor on the desktop channel.
- Zoom + and Zoom - can now trigger left and right mouse click actions.
- GotoHomePosition centers the cursor, while SetHomePosition and GotoHomePosition now support a saved runtime home position.
- Added desktop PTZ preset support so SetPreset, GotoPreset, and RemovePreset can work with saved cursor positions.
- Improved desktop PTZ mouse handling with smoother movement, speed scaling, and multi-monitor support.
- The Desktop PTZ mouse-control layer is now organized more clearly for Windows, macOS, and Linux backends.
2. Audio Backchannel Usability Enhancements
- Added Use same as Audio IN profile option in Backchannel settings for easier two-way audio alignment.
- Added an AAC option to the Backchannel codec selection and improved codec-specific defaults (sample rate and channels) in the UI.
- Tested and supported by default with Hikvision NVR/Hik-Connect, Milestone XProtect VMS, and other ONVIF-conformant devices.
3. Edge Recording (ANR Buffer Mode): Added a Professional ANR preset that maintains continuous local recording and preserves gap-recovery behavior when a VMS or NVR reconnects.
Improvements
1. Improved channel naming and edit/save consistency.
- Fixed an issue where repeated CH1 - CH1 - ... style prefixes could be added after multiple edit/save operations.
- Channel display names are now normalized more safely for Desktop, Webcam, Audio Only, and External channels.
- Improved name handling for Screen Live on macOS and Windows so saved display names stay cleaner and more stable.
2. Media pipeline modernization and compatibility update (no feature loss for end users).
- Improved stream stability and compatibility with modern NVR/VMS/RTSP clients using newer media-pipeline runtimes.
- HDD recording remains stable with the new FFmpeg pipeline.
- AVDraw/OSD rendering remains functional and stable after filter-graph migration.
- Combined Channel and NO VIDEO fallback frame behavior remain stable with the new media core.
- Audio/video frame processing paths were aligned to the new FFmpeg API for safer long-running operation.
3. Fixed editing of the Audio Only NO VIDEO enable option.
4. Milestone VMS ONVIF compatibility fix (strict ONVIF driver).
- Improved SOAP response handling so ONVIF action is returned in standard canonical format.
- This resolves connection cases where Milestone could authenticate but failed before stream setup.
5. ONVIF HTTPS strict-driver interoperability improvements (Milestone and similar VMS).
- Fixed GetServices Device capabilities wrapper formatting to avoid strict XML validation failures.
6. JPEG RTP compatibility fix for strict decoders (Milestone and similar VMS clients).
- Fixed MJPEG/JPEG over RTP packetization interoperability in the native CPU path.
- Added robust quantization-table handling for cases where source JPEG provides only one DQT table.
- Improved color/chroma reconstruction compatibility and removed visible green/red block artifacts on strict decoders.
7. Desktop GPU hardware-encoding path expanded and improved.
- Added/confirmed automatic desktop hardware encoder selection for Windows GPU backends:
AMD (AMF), NVIDIA (NVENC), and Intel (QSV).
- Improved runtime fallback policy so desktop streaming stays stable when preferred hardware backend is not available.
8. ONVIF GetServices media advertisement fix (strict VMS interoperability).
- Fixed compact/strict GetServices response path to advertise both Media1 (ver10/media) and Media2 (ver20/media) when both are supported.
- This resolves cases where some VMS clients only detected Media1 and therefore did not expose Media2/H.265 capabilities.
9. ONVIF WS-Security compatibility improvement.
- Improved WS-Security UsernameToken parsing to accept common namespace variants used by different ONVIF clients.
- Added support for wsu:Created (with fallback parsing) to prevent false authentication failures on strict clients.
10. ONVIF audio capability consistency fix when audio is disabled.
- Audio query endpoints now return empty responses when audio is not advertised/supported.
- Prevents exposing audio tokens/configurations (GetAudioSources, GetAudioSourceConfigurations, GetAudioEncoderConfigurations) while audio is off.
11. ONVIF Media2 H.265 low-fps support improvement.
- Added 1 fps to the advertised Media2 H.265 frame-rate options so VMS clients can set 1 fps where needed.
12. ONVIF H.264/H.265 resolution options expanded.
- Added 2560x1440 and 3840x2160 to advertised ONVIF encoder resolution options for H.264 and H.265.
- Improves interoperability for VMS clients that require 2K/4K-capable profile options during camera setup.
13. ONVIF HTTPS edit/save reliability fix (end-user stability).
- Fixed cases where ONVIF HTTPS could appear disabled after Edit/Save due to HTTP/HTTPS port collisions.
- Improved automatic HTTPS port selection so ONVIF and ONVIF HTTPS no longer reuse the same port.
- Updated default ONVIF HTTPS port baseline from legacy 1433 to 7001 to avoid common system service conflicts.
14. RTSP race-condition protection fix for Windows socket handling.
- Added defensive socket validation in RTSP RX/select loop to reduce stale-fd races.
- Added cleanup/prune path when select() fails to prevent repeated WSAE-10038 error storms.
15. Remove-camera lifecycle hardening (recording and RTSP instances).
- The camera removal flow now stops active HDD recording first, waits for it to stop, and then proceeds with deletion.
- Added RTSP close/stop sequencing before free/remove to reduce stale session races during camera deletion.
16. ONVIF audio profile consistency improvements for VMS interoperability.
- Fixed ONVIF audio defaults when enabling audio so profile metadata remains consistent (PCMU, mono, 8kHz, stable bitrate defaults).
- Improved consistency between ONVIF-reported audio configuration and RTSP runtime behavior.
17. ONVIF/RTSP instance and URI matching stability improvements.
- Improved profile lookup by RTSP URI normalization to avoid false NULL Profile/NULL Device cases.
- Reduced risk of stale instance references during stream close/reconfigure paths.
18. Improved memory handling and long-running stability for HDD recording and AVDraw processing.
- Better internal memory reservation/reuse for video filter and recording paths.
- Improved cleanup behavior during stop/start cycles for more stable long-running operation.
19. Stream setting apply/reconnect reliability improvements (end-user stability).
- Video encoder changes (resolution, FPS, bitrate, codec) now apply more reliably after Save and ONVIF updates.
- Active viewers/NVR clients now refresh more consistently to receive updated stream settings.
- Reduced cases where old stream quality settings remained visible after configuration changes.
20. Improved RTSP session handling consistency across settings screens.
- Save actions in key stream configuration flows now trigger more reliable stream refresh behavior.
- Better overall interoperability stability with strict VMS/NVR clients during live reconfiguration.
21. Audio capture/runtime stability and Milestone interoperability improvements.
- Added explicit audio source selection in channel setup for both Microphone and Speaker (loopback) on Windows.
- Improved Windows audio device listing to keep UI selection aligned with runtime capture indices.
- Improved RTSP audio+video reconfigure behavior so stream refresh is more reliable when audio is enabled.
- Centralized RTSP close logic improvements now handle +audiodevice URI variants more consistently.
- Improved stop/restart ordering for audio runtime teardown (callback -> queue/thread drain -> instance release).
- Added second reconnect sweep in key save flows to evict late client reconnects on stale URIs.
- Improved handling of screenlive vs screenlive+audiodevice session matching to reduce stale stream cases.
- Improved audio capture threading on Windows to reduce stutter under continuous loopback input.
- Fixed audio settings mapping in UI (codec index alignment) to prevent wrong codec being saved.
- Added safer defaults and validation for audio settings (sample rate, bitrate, channels, and session timeout) to reduce distorted audio after changes.
- The audio save/apply flow now forces a cleaner runtime reinitialization and client reconnect, reducing cases where audio remained unavailable after settings edits.
22. ONVIF Audio backchannel runtime reliability improvements.
- Improved Backchannel ON/OFF apply behavior: no full RTSP server restart is required; active sessions are refreshed to pick updated SDP/backchannel capability.
- Added per-stream backchannel capability gating: backchannel is now advertised only when the target URI has valid ONVIF audio profile support, preventing NVR connection failures on cameras without audio profiles.
- Added backchannel follow-profile persistence in RTSP configuration (follow_profile) and runtime APIs to keep behavior consistent across restart.
- Improved follow-profile behavior for multi-camera setups: in follow mode, each stream uses its own ONVIF audio profile format for backchannel instead of applying one global camera selection to all streams.
23. Camera edit/apply and ONVIF control stability improvements.
- Added forced RTSP session refresh after camera Edit (using central close API) so VMS/NVR clients reconnect to updated camera/profile settings more reliably.
- Increased ONVIF/HTTP control connection defaults and validation to improve VMS polling stability (Maximum ONVIF/HTTP control connections now defaults to 32, with enforced safe range 32-100).
- Reduced production log noise by lowering frequent ONVIF polling traces and HTTP client pool lifecycle traces to debug level while keeping important warnings/errors visible.
24. ONVIF Snapshot (GetSnapshotUri) on-demand refresh improvements.
- Snapshot requests now trigger immediate refresh attempts per requested profile token.
- If an active stream pipeline exists, snapshot is refreshed through the existing pipeline first.
25. Stream runtime performance and UI interaction stability improvements.
- Increased stream runtime responsiveness for faster, smoother, and more stable start/stop/reconnect behavior.
- Improved UI safety during camera Add/Edit/Enable/Disable/Remove flows when NVR/VMS clients are connected.
- Added safer transition handling to reduce stale channel/profile pointer access during active runtime IP Camera reconfiguration.
26. End-user workflow stability and usability improvements.
- Improved camera Edit/Enable/Disable behavior while NVR/VMS clients are connected, reducing unexpected interruptions during live operation.
- Improved UI transition safety during camera stop/start/reconfigure operations to prevent stale channel selection states.
- Improved channel/profile synchronization after camera state changes so users see consistent and up-to-date stream status in the interface.
- Reduced no-op configuration drift after Edit/Save to keep saved settings more predictable and easier to audit.
27. Multi-channel setup and resolution apply improvements.
- Improved additional channel creation stability for more predictable multi-source setup.
- Improved Edit IP Camera main-resolution behavior: Main stream follows the selected resolution.
28. Stop/Start lifecycle stabilization for live reconfiguration.
- Improved Stop/Start ordering so camera runtime is explicitly disabled before RTSP session close and teardown.
- Added safer RTSP gating while camera is disabled to reduce reconnect races from NVR/VMS clients during Apply/Edit operations.
- Added fixed Stop→Start grace interval for more reliable session drain before restart.
- Improved apply behavior consistency across Native Stream toggle and audio/video settings save flows.