Skip to content

ONVIF Device WS-Discovery Service (Linux daemon)

License

Notifications You must be signed in to change notification settings

SoundSecure/onvif_wsdd

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WSDD - ONVIF WS-Discovery server

Description

wsdd is Linux daemon for ONVIF WS-Discovery service (server side).

ONVIF official website: https://www.onvif.org and their github presence.

The web services data binding is generated using gSOAP

For more details about it see the gSOAP WS-Discovery plugin official manual.

Build

Dependencies

Most Linux systems for building this project require the following packages to be installed: make m4 flex bison byacc yacc

If you need support for encryption and WS-Security then you also need: openssl zlib libcrypto

For example, on ubuntu 22.04, you needed to install:

sudo apt install flex bison byacc make cmake m4

#for support encryption and WS-Security
sudo apt install openssl libssl-dev zlib1g-dev libcrypto++8

For build use cmake for CMakeLists.txt:

You have 4 build variants:

  1. By default, the build takes place in the old style (when there was a Makefile) We build our own version of gSOAP and use it (see build_gsoap.cmake). At the same time, we compile the necessary gSOAP functions with the project.
cd repo_dir
cmake -B build .
cmake --build build
  1. Analogue of the 1st, but we use the static library gSOAP (we link it)
cd repo_dir
cmake -B build . -DUSE_GSOAP_STATIC_LIB=1
cmake --build build
  1. We use the system gSOAP, for this we use the search module(FindgSOAP.cmake), this module should find the gSOAP in the system that we will use.
cd repo_dir
cmake -B build . -DUSE_SYSTEM_GSOAP=1
cmake --build build

For example, in Ubuntu 22.04, to install gSOAP, you need to install the following packages:

sudo apt install gsoap libgsoap-dev
  1. Analogue of the 3rd, but we tell the FindgSOAP.cmake search module to look for static libraries instead of shared ones. This will allow you not to depend on the gSOAP system libraries.
cd repo_dir
cmake -B build . -DUSE_SYSTEM_GSOAP=1 -DUSE_GSOAP_STATIC_LIB=1
cmake --build build

Usage

To start the daemon, you have to give him the parameters that are needed for work:

./wsdd  --if_name eth0 --type tdn:NetworkVideoTransmitter --xaddr http://%s:1000/onvif/device_service --scope "onvif://www.onvif.org/name/Unknown onvif://www.onvif.org/Profile/Streaming"

For more details see help:

./wsdd --help

Or you can use S90wsdd script to start the daemon (for old init.d script style):

./start_scripts/S90wsdd start

If You use systemd see: wsdd.service

Testing

For testing daemon you need client application.

Linux:

  1. ONVIF Device Tool

Note: ONVIF Device Tool has a self wsdd demon and at the start and close of the application makes a call killall wsdd, which also is reflected in our demon.

Windows:

  1. ONVIF Device Manager

License

GPLv2.

Copyright

Copyright (C) 2016 Koynov Stas - skojnov@yandex.ru

About

ONVIF Device WS-Discovery Service (Linux daemon)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 74.0%
  • CMake 24.3%
  • Shell 1.7%