Discover Onvif IP cameras on remote networks in C#

This article shows you how to discover Onvif IP cameras on a remote network. The device discovery mechanisms in the standard are based on the Web Services Dynamic Discovery (WS-Discovery) specification with extensions. A client searches for available devices using the dynamic Web Services discovery protocol.

Web Services

The term Web Services is the name of a standardized method of integrating applications using open, platform independent Web Services standards such as XML, SOAP, and WSDL over an IP network. XML is used as the data description syntax, SOAP is used for message transfer and WSDL is used to describe the services.

Device discovery

With this help you can discover Onvif devices on the network. A client searches for available devices using the dynamic WS-Discovery protocol. A successful discovery provides the device service address. Once a client has the device service address it can receive detailed device information through the device service.

Ozeki Camera SDK gives you great solution for discovering cameras on local network. After the detection has finished you will get the details of every Onvif camera connected to your local network.

Remote discovery

In addition to the standard web services discovery protocol this specification supports remote discovery proxies to find registered devices through the remote discovery proxy even if the client and the device reside in different administrative network domains.

Related Pages


Below you can find the answers for the most frequently asked questions related to this topic:

  1. How can I get the URL of the camera?

    You can get the URL from the producer of the camera. (In the 10th tutorial you can find information on how to create an own IP camera discoverer program.)

  2. I have not managed to build the solution. How to solve it?

    • Please set the Target framework property of the project to .NET 4.0.
    • You should add the OzekiSDK.dll to the references of the solution.
    • Please import the missing classes.

More information