Giter Site home page Giter Site logo

linkingvision / rapidonvif Goto Github PK

View Code? Open in Web Editor NEW
245.0 59.0 177.0 90.83 MB

ONVIF C++ lib, support ProfileS

Home Page: https://linkingvision.com/

License: GNU General Public License v3.0

Batchfile 0.01% C++ 65.72% C 22.31% Objective-C 11.96% CMake 0.01%

rapidonvif's Introduction

Gsoap based ONVIF C++ lib: including server and client, support ProfileS and ProfileG, support Event. This lib will be used by http://sourceforge.net/projects/onvifmanager/

Thanks John Blowers for Media PTZ Device Receiver Imaging contributions.

rapidonvif's People

Contributors

dcopm999 avatar xsmart avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rapidonvif's Issues

Class OnvifClientDevice's member variable may be protected, instead of private.

When someone want to change struct soap attribute, such as soap::connect_timeout to get a more friendly experience when destination port is closed, there are no means to achieve this, because OnvifClientDevice class member variable DeviceBindingProxy deviceBindProxy; is private, and no method to get/set it. I think make these variable protected, and we can then inherit class OnvifClientDevice to custom soap attribute through DeviceBindingProxy deviceBindProxy; I do think this will make library more extendable or is there any problem I didn't consider?
Appreciate your answers.

Lot of memory leaks and segfault

Hello,
I made some tests with this library.
There is lot of memory leaks and segfault due to non return value check.
I do not recommand this library on production tools.

Cannot instantiate abstract class

Hello,

I tried to rum the onvifclientwin32 project but got some error claiming about virtual definitions.

Error C2259 'OnvifClientEventNotify': cannot instantiate abstract class onvifclient c:\devsoap\onvifcpplib\example\client\onvifclientwin32\onvifclient.cpp 69

I tested it with MSVC2015


1>c:\devsoap\onvifcpplib\example\client\onvifclientwin32\onvifclient.cpp(69): error C2259: 'OnvifClientEventNotify': cannot instantiate abstract class
1>  c:\devsoap\onvifcpplib\example\client\onvifclientwin32\onvifclient.cpp(69): note: due to following members:
1>  c:\devsoap\onvifcpplib\example\client\onvifclientwin32\onvifclient.cpp(69): note: 'int PullPointSubscriptionBindingService::PullMessages(_tev__PullMessages *,_tev__PullMessagesResponse &)': is abstract

virtual int PullMessages(_tev__PullMessages *tev__PullMessages, _tev__PullMessagesResponse *tev__PullMessagesResponse) 
    {return SOAP_OK;}

What can I do ?
Thanks in advance!

Implement all services in a single thread using a single soap context

Hi,
I have implemented server side with one thread per each service. Now, i want to get all these services into one thread and listening on the same port.

Is it possible since the soap instance is not shared by the services? If possible, can you provide a small example?

Thanks,

The parameter 'profileToken' in GetSnapshotUri is not handled

In line 363 & 379 of onvifclientmedia.hpp.
The parameter 'profileToken' is not handled. Should be requested to the camera.
I suggest to add the following code to line 379.
SnapshotUriReq.ProfileToken = profileToken;

Some camera do not response correctly without the profileToken.

Example runs,but reports it can't find the agent.

Upon running the example program "../output/raspberry-pi2-32bit/bin/onvifagentcli" on a raspberry PI I2
I get the repeated error message:
sh: 1: onvifagent: not found
include/onvifagentlib.hpp 109 onvif Agent process exit !!!
I had some problems getting it to make, but after installing automake tools(not mentioned in the readme) it seemed to finish make after compiling the example program. There were a ton of warnings, mostly about shadowed classes. I also found that "onvifagent.o" was never made. I found no make recipe for it for Linux although there were instructions on how to build it for windows.

An example of how compile ones own program would be nice. A complete g++ command line or a make file which compiles just the files in the current directory. There seems to be a lot of search paths required.

All I need to do is goto a camera's PTZ preset. Can you give an example?

Thanks,
Tom

PTZ Doesn't work with 2 of 3 Onvif cameras

I have 3 Onvif cameras with PTZ. I have written a small demo program that is just using the PTZ ContinuousMove part of your library. It works with one camera. Are there any incompatibility issues known?

The error message of the 2nd cameras is: Detail: The requested profile token ProfileToken does not exist. SOAP 1.2 fault: SOAP-ENV:Sender ["":NoProfile] "No Profile"
Connected with the 3rd camera, the method OnvifClientPTZ::ContinuousMove returns 1 (probably =SOAP_CLI_FAULT)
What could be the matter?

License

What license should we adhere to if we choose to use this library?

libeay32.dll ordinal not found

Compiling under windows 7 64 bit, I copied libeay32.dll and libssl32.dll from 3rdparty\openssl-1.0.1g\lib\ to win32\Debug directory, the error of libeay32.dll 352 ordinal not found cames up, and the application stops.

Error while running code from ReadMe file

Hi,

When I attempt to run the code from the ReadMe file, a lot of errors show up.

example:
"EVP_CIPHER_CTX' does not name a type"
"'EVP_CIPHER' does not name a type"

I have used only the "onvifclient.hpp" as the header file.
Did I miss out on anything?

Thanks in advance!

example/example.cpp does not compile

The example code in rapidonvif/onvif/example/example.cpp does not compile. I tried this command but it fails:

arm-linux-gnueabihf-g++ example/example.cpp -o example -Wall -Wextra -Wshadow -Wformat-security -Winit-self -Wmissing-prototypes -O2 -DLINUX -Iinclude -DUSE_WEBSOCKET -I/home/pi/projs/evd/onvif_output/output/raspberry-pi3-32bit/include -I./include -I./include/video -I./src/ -I../3rdparty/live555/BasicUsageEnvironment/include -I../3rdparty/live555/groupsock/include -I../3rdparty/live555/liveMedia/include -I../3rdparty/live555/UsageEnvironment/include -I../3rdparty/live555/live555/include/ -I../3rdparty/civetweb/include/ -DNDEBUG -Os out.linux/build/../3rdparty/civetweb/src/CivetServer.o out.linux/build/src/onvifagentlib.o out.linux/build//src/tinyprocess/process_unix.o out.linux/build/src/tinyprocess/process.o out.linux/build/include/video/h264_bit_reader.o out.linux/build/include/video/h264_parser.o out.linux/build/include/video/h5s_h264_sink.o out.linux/build/include/video/h5slib.o out.linux/build/include/onvifclidevice.pb.o out.linux/build/include/onvifclimedia.pb.o out.linux/build/include/onvifcli.pb.o out.linux/build/include/onvifcliptz.pb.o out.linux/build/../3rdparty/civetweb/src/civetweb.o out.linux/build/example/example.o -lpthread -lm -lrt -ldl -L/home/pi/projs/evd/onvif_output/output/raspberry-pi3-32bit/lib -llive555 -lprotobuf -lssl -lcrypto -lpthread -ldl -lstdc++ -lm -Wl,-Bdynamic -lcrypt

Could not find "onvifcpplib.;ib"

I try to open example/client with Visual Studio 2013
When I Compile the code ,I got error can not open file "onvifcpplib.lib"
I think this lib is missing

Linux build error

I have followed the steps for linux build in order on Ubuntu 17.10.
The make command results in this two errors:

g++ -o onvifagent -DLINUX -Os -fPIC -DUSE_WEBSOCKET  -DWITH_OPENSSL -DWITH_DOM -DWITH_PURE_VIRTUAL -DWITH_NONAMESPACES   src/webserver.o ./lib/linux//libonvifcpplib.a -L/output//lib -g -L../../3rdparty/openssl-linux/ -lprotobuf  -lssl -lcrypto -lpthread -ldl -lstdc++ -lm -Wl,-Bdynamic -lcrypt 
g++: error: ./lib/linux//libonvifcpplib.a: No such file or directory
Makefile:138: recipe for target 'onvifagent' failed
make[1]: *** [onvifagent] Error 1
make[1]: *** Waiting for unfinished jobs....
g++ -o onvifagentcli -Wall -Wextra -Wshadow -Wformat-security -Winit-self -Wmissing-prototypes -O2 -DLINUX -Iinclude  -DUSE_WEBSOCKET -I/output//include -I./include -I./include/video -I./src/ -I../3rdparty/live555//BasicUsageEnvironment/include  -I../3rdparty/live555//groupsock/include -I../3rdparty/live555//liveMedia/include -I../3rdparty/live555//UsageEnvironment/include -I../3rdparty/live555//live555/include/ -I../3rdparty/civetweb/include/ -DNDEBUG -Os  out.linux/build//../3rdparty/civetweb/src/CivetServer.o out.linux/build//src/onvifagentlib.o out.linux/build//src/tinyprocess/process_unix.o out.linux/build//src/tinyprocess/process.o out.linux/build//include/video/h264_bit_reader.o out.linux/build//include/video/h264_parser.o out.linux/build//include/video/h5s_h264_sink.o out.linux/build//include/video/h5slib.o out.linux/build//include/onvifclidevice.pb.o out.linux/build//include/onvifclimedia.pb.o out.linux/build//include/onvifcli.pb.o out.linux/build//include/onvifcliptz.pb.o out.linux/build//../3rdparty/civetweb/src/civetweb.o out.linux/build//example/example.o  -lpthread -lm -lrt -ldl -L/output//lib -llive555 -lprotobuf  -lssl -lcrypto -lpthread -ldl -lstdc++ -lm -Wl,-Bdynamic -lcrypt 
/usr/bin/ld: cannot find -llive555
/output//lib/libssl.so: file not recognized: File truncated
collect2: error: ld returned 1 exit status
Makefile:148: recipe for target 'onvifagentcli' failed
make[1]: *** [onvifagentcli] Error 1
make[1]: Leaving directory '/home/visionstudio/Documents/Github/rapidonvif/onvif'
Makefile:4: recipe for target 'all' failed
make: *** [all] Error 2

I tried to install manually live555 library.
Also, I tried to call the command with sudo.
Is this incompatible with ubuntu 17.20 or ubuntu in general?

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.