onvif_srvd - ONVIF Device(IP camera) Service server (Linux daemon)
This server (Service) has a minimal implementation. Use this server as a template for writing your ONVIF service for an IP camera.
ONVIF official website: http://www.onvif.org
The web services data binding is generated using gSOAP
To start build you have to choose your compiler (or toolchain) in the Makefile (see variable $GCC
).
For build daemon in release and debug mode:
make all
For build daemon in release mode (strip):
make release
For build daemon in debug mode (#define DEBUG 1
):
make debug
Show all supported commands(targets) for Makefile:
make help
Note: If you need WS-Security support, you need to call make with the
WSSE_ON=1
parameter.
Show how enable support WS-Security:
make WSSE_ON=1
If before make was done without WS-Security support, it is necessary to perform the cleanup:
make clean
To start the daemon, you have to give him the parameters that are needed for work:
./onvif_srvd --ifs eth0 --scope onvif://www.onvif.org/name/TestDev --scope onvif://www.onvif.org/Profile/S --name RTSP --width 800 --height 600 --url rtsp://%s:554/unicast --type JPEG"
The --url
option can contain or static IP or dynamic (template parameter %s
) that will be replaced with the IP address of the interface, see the option --ifs
.
For more details see help:
./onvif_srvd --help
Or you can use S90onvif_srvd script to start the daemon (for old init.d script style):
./start_scripts/S90onvif_srvd start
If You use systemd see: onvif_srvd.service
For testing daemon you need client application.
Note:
- ONVIF Device Tool at me this application falls when show the first frame of RTSP. Sad :(.
- This application requires support for WS-Security
- This application requires support for WS-Discovery
Only the console client, useful for debugging.
Usage:
./ipconvif 127.0.0.1:1000