How to use Onvif Api with survillence cameras

Muhammad Adeel Zahid picture Muhammad Adeel Zahid · May 10, 2012 · Viewed 25k times · Source

My company provides security and surveillance services to its clients and i was asked to do R&D on how we can use onvif api. I visited their operations page and relevant wsdl definitions for some of the operations. My quest so far suggests that onvif has created set of standards for security equipment and conformant devices implement the services listed on onvif api and specification page. I think that the way to go about it is that i create web service client stubs by using wsdl definitions from onvif site and use device's ip as endpoint to get its functionality. Are my assumptions correct? Furthermore, if someone could refer me some initial reading to get going with this, i would be really thankful.

Answer

agfe2 picture agfe2 · May 24, 2012

For ONVIF Client (NVC - Network Video Client), you can refer onvifdm. OnvifDM is a one of NVC.

It has many functions based on ONVIF specification:

  • Network device discovery (WS-Discovery)
  • Live video display
  • Video capture configuration (digital sensor or analogue inputs)
  • Encoder configuration
  • Video analytics configuration
  • Event and metadata configuration
  • Alert rule management
  • Firmware update
  • Local storage / network storage recording

At the moment, ONVIF latest version is 2.2.
But in the market most of ONVIF conformant device support v1.02 and v2.0 (v2.1?).

NVC (like as onvifdm) needs NVT (Network Video Transmitter) for interoperation.

NVT will be IP camera or NVR (traditional or hybrid), it has various functionalities and capabilites.
ONVIF standard consists of many mandatory items and some optional items.
So, for Inter-operation, you must check the ONVIF version and NVC/NVT capabilities.

If you register as ONVIF member, you can get a ONVIF Conformance Tool (latest ver1.02).
The conformance tool is for NVT compatibility check and you can refer it as a client.
If any NVT pass the test process with ONVIF Conformance Tool, it can be a conformant product.

You can find any ONVIF conformant product in the ONVIF's website.

You can find a open source library in the onvifdm, code-based on .NET.
For more detail look into http://en.synesis.ru/en/surveillance/onvifdm/.