MCPcopy Create free account
hub / github.com/KoynovStas/onvif_srvd

github.com/KoynovStas/onvif_srvd @v2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.0 ↗ · + Follow
306 symbols 403 edges 12 files 1 documented · 0% updated 18mo agov1.1 · 2017-11-23★ 34416 open issues

Browse by type

Functions 285 Types & classes 21
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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 20.04, you needed to install:

sudo apt install flex bison byacc make m4

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

To start build you have to choose your compiler (or toolchain) in the Makefile (see variable $CXX).

For build use make for Makefile:

make target

target is: - all - build daemon in release and debug mode - debug - build in debug mode (#define DEBUG 1) - release - build in release mode (strip) - clean - remove all generated files - distclean - clean + remove all SDK files - help - show list support targets

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, must cleanup (We need to rebuild the gsoap with openssl support):

make distclean

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.

Core symbols most depended-on inside this repo

Shape

Method 267
Class 20
Function 18
Enum 1

Languages

C++97%
C3%

Modules by API surface

src/ServiceDevice.cpp90 symbols
src/ServiceMedia.cpp79 symbols
src/ServiceContext.h35 symbols
src/ServicePTZ.cpp30 symbols
src/ServiceContext.cpp29 symbols
src/eth_dev_param.cpp17 symbols
src/onvif_srvd.cpp9 symbols
src/daemon.c9 symbols
src/eth_dev_param.h4 symbols
src/stools.h2 symbols
src/daemon.h2 symbols

For agents

$ claude mcp add onvif_srvd \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page