C++ 구현 ONVIF 디바이스 디스커버리 프로토콜 구현 WS-Discovery 지원 가볍고 단순한 구현
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
cityhunter b3206d1aa0 소스 정리 및 빌드 환경 수정 7 months ago
.idea 소스 정리 및 빌드 환경 수정 7 months ago
cmake cmake: fix version.cmake if don't find LAST_TAG 11 months ago
cmake-build-debug 소스 정리 및 빌드 환경 수정 7 months ago
patch ref: fix path in soapcpp2_lex.l.patch 2 years ago
src ref:cmake: add comment in custom_command 2 years ago
start_scripts add systemd script 8 years ago
wsdl add remotediscovery.wsdl WS-Discovery for ONVIF 9 years ago
.gitignore git: update gitignore for Cmake 2 years ago
CHANGELOG.md --- ver 3.0 --- 2 years ago
CMakeLists.txt 소스 정리 및 빌드 환경 수정 7 months ago
LICENSE Lic: close #8 Changed license to GPLv2 (gsoap requirements) 3 years ago
README.md 소스 정리 및 빌드 환경 수정 7 months ago

README.md

WSDD - ONVIF WS-Discovery 서버

설명

wsdd는 ONVIF WS-Discovery 서비스를 위한 Linux 데몬(서버 측)입니다. ONVIF 공식 웹사이트: https://www.onvif.org 그리고 그들의 GitHub 페이지도 참고하세요. 웹 서비스 데이터 바인딩은 gSOAP을 사용하여 생성되었습니다. 이에 대한 자세한 내용은 gSOAP WS-Discovery 플러그인 공식 매뉴얼을 참조하세요.

빌드

의존성

이 프로젝트를 빌드하기 위해 대부분의 Linux 시스템에서는 다음 패키지의 설치가 필요합니다: make m4 flex bison byacc yacc 암호화 및 WS-Security 지원이 필요한 경우에는 추가적으로 다음이 필요합니다: openssl zlib libcrypto 예를 들어, Ubuntu 22.04에서는 아래 명령으로 설치할 수 있습니다:

sudo apt install flex bison byacc make cmake m4

# 암호화 및 WS-Security 지원을 위한 패키지
sudo apt install openssl libssl-dev zlib1g-dev libcrypto++8

CMakeLists.txt를 기반으로 CMake를 사용하여 빌드하는 방법은 다음과 같습니다: 4가지 빌드 방식이 있습니다:

  1. 기본적으로 빌드는 이전 스타일(Makefile)로 진행됩니다. 독립적인 gSOAP 버전을 직접 빌드하여 사용하며(build_gsoap.cmake 참조), 이와 동시에 필요한 gSOAP 기능을 프로젝트와 함께 컴파일합니다.
cd repo_dir
cmake -B build .
cmake --build build
  1. 첫 번째 방법과 유사하지만, 정적 라이브러리 gSOAP을 사용하여 빌드(링크)합니다.
cd repo_dir
cmake -B build . -DUSE_GSOAP_STATIC_LIB=1
cmake --build build
  1. 시스템에 설치된 gSOAP을 사용합니다. 이를 위해 검색 모듈(FindgSOAP.cmake)을 사용하여 시스템 내 gSOAP을 검색 및 활용합니다.
cd repo_dir
cmake -B build . -DUSE_SYSTEM_GSOAP=1
cmake --build build

예를 들어, Ubuntu 22.04에서 gSOAP을 설치하려면 다음 패키지를 설치해야 합니다:

sudo apt install gsoap libgsoap-dev
  1. 세 번째 방법과 유사하지만, FindgSOAP.cmake 검색 모듈에 정적 라이브러리를 검색하도록 지시합니다. 이를 통해 gSOAP 시스템 라이브러리에 의존하지 않게 됩니다.
cd repo_dir
cmake -B build . -DUSE_SYSTEM_GSOAP=1 -DUSE_GSOAP_STATIC_LIB=1
cmake --build build

사용법

데몬을 시작하려면 작업에 필요한 매개변수를 전달해야 합니다:

./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"

더 자세한 내용은 도움말을 확인하세요:

./wsdd --help

또는 S90wsdd 스크립트를 사용하여 데몬을 시작할 수 있습니다(구형 init.d 스크립트 스타일):

./start_scripts/S90wsdd start

시스템에서 systemd를 사용하는 경우: [wsdd.service]를 참고하세요.(./start_scripts/wsdd.service)

테스트

이 데몬을 테스트하려면 클라이언트 애플리케이션이 필요합니다.

Linux:

  1. ONVIF Device Tool

참고: ONVIF Device Tool은 자체 wsdd 데몬을 포함하고 있으며, 애플리케이션 시작 및 종료 시 killall wsdd 명령을 호출합니다. 이는 이 데몬에도 영향을 미칩니다.

Windows:

  1. ONVIF Device Manager

라이선스

GPLv2.

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