Giter Site home page Giter Site logo

ali63yavari / onvif_srvd Goto Github PK

View Code? Open in Web Editor NEW

This project forked from koynovstas/onvif_srvd

0.0 0.0 0.0 262 KB

ONVIF Device(IP camera) Service server (Linux daemon)

License: GNU General Public License v2.0

Shell 1.02% C++ 72.57% C 11.22% CMake 15.19%

onvif_srvd's Introduction

ONVIF Device(IP camera) Service server

Description

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: https://www.onvif.org and their github presence.

The web services data binding is generated using gSOAP

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

Note: If you need WS-Security support, you need to call make with the WSSE_ON=1 parameter.

Show how enable support WS-Security:

cmake -B build . -DWSSE_ON=1

If before make was done without WS-Security support, must regenerate (We need to rebuild the gsoap with openssl support)

Usage

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

Testing

For testing daemon you need client application.

Linux:

  1. ONVIF Device Tool (GUI)

Note:

  1. ONVIF Device Tool at me this application falls when show the first frame of RTSP. Sad :(.
  2. This application requires support for WS-Security
  3. This application requires support for WS-Discovery
  1. gsoap-onvif

Only the console client, useful for debugging.

Usage:

./ipconvif 127.0.0.1:1000

Windows:

  1. ONVIF Device Manager

License

GPLv2.

onvif_srvd's People

Contributors

koynovstas avatar roleoroleo avatar stappersg avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.