Skip to content

ONVIF support - #118

Open
bi119aTe5hXk wants to merge 8 commits into
mnakada:mainfrom
bi119aTe5hXk:onvif
Open

ONVIF support#118
bi119aTe5hXk wants to merge 8 commits into
mnakada:mainfrom
bi119aTe5hXk:onvif

Conversation

@bi119aTe5hXk

@bi119aTe5hXk bi119aTe5hXk commented Oct 4, 2024

Copy link
Copy Markdown

Add ONVIF (onvif_simple_server) support
Test on 4.58.0.175 & 4.37.1.180
Support PTZ control via ONVIF
Support alarm event to ONVIF
Support for multiple RTSP profiles

@specializedken

Copy link
Copy Markdown

Hi, this firmware is great, thanks a lot for your work.

Are you going to add ONVIF support (including panning for the Atomcam Swing ?) this would be fantastic for use in Frigate

@bi119aTe5hXk

Copy link
Copy Markdown
Author

Sorry, I was unable to implement ONVIF due to compiler version issues.
And since I don't have time to work on the project, I'm closing this pull request

Introduce onvif_simple_server package and integrate ONVIF support throughout the system. Adds package metadata, makefile and two source patches (use /tmp for runtime files and build with -std=gnu99), and removes legacy wsdd/onvif_srvd packages. Adds init script (S76onvif), runtime scripts (/scripts/onvif.sh and /scripts/onvif_ptz.sh), and lighttpd config to expose /onvif and treat *_service CGI. Wire UPnP/ONVIF controls into web UI (Setting.vue) and i18n (English/Japanese) and handle webcmd onvif commands. Update build flow to install atomcam_defconfig into configs/ and run make atomcam_defconfig, and enable BR2_PACKAGE_ONVIF_SIMPLE_SERVER in the defconfig.
@bi119aTe5hXk bi119aTe5hXk reopened this Jun 11, 2026
@bi119aTe5hXk
bi119aTe5hXk marked this pull request as ready for review June 11, 2026 09:04
Implement PullPoint subscription improvements: parse subscription id from query string or header, include ReferenceParameters and MessageID in CreatePullPointSubscription responses, ensure minimum expiry, and generate message UUIDs. Increase shared memory and semaphore permissions (shm_open/sem_open + fchmod) so notify and event processes can access the shared memory. Add an onvif_event bridge script and integrate it with wait_motion and webhook to trigger event files (with debounce for motion), update onvif.sh to manage the notify server and event bridge, and clean up shared memory on stop. Add a new UI setting (ONVIF.allEventsAsMotion) with translations and default enabled, and make the service restart when this option changes.
Add support for multiple RTSP profiles and a selectable ONVIF mainStream. overlay_rootfs/scripts/onvif.sh: require at least one RTSP stream, introduce ONVIF_MAIN_STREAM (default avc), refactor audio encoder logic, add emit_profile helper to generate profiles dynamically based on RTSP_VIDEOx/RTSP_AUDIOx, MODEL and ONVIF_MAIN_STREAM. web/source/vue/Setting.vue: add UI select for ONVIF main stream, adjust visibility checks to require at least one RTSP stream, include ONVIF_MAIN_STREAM in defaults and change-detection so ONVIF restarts on relevant config changes. i18n (en/ja): add translations for the new mainStream setting and update ONVIF note text. These changes let ONVIF expose the preferred 1080p stream when both AVC and HEVC are enabled and improve profile generation for multi-stream devices.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants