ONVIF is a standard that has been around for 10 or so years now.. but it seems like there are only a few client libraries for performing ONVIF discovery and control and they are all either low quality, feature-lacking, or not widely used / abandoned. I've been trying to find a library that can perform a simple scan of the network and tell me what ONVIF devices it found but I absolutely have been unable to do so.

What I've found so far

https://github.com/quatanium/python-onvif - this seems to only work at controlling an ONVIF device once it's been found on the network.

https://github.com/linkingvision/rapidonvif/issues/11 - has build issues reported, main README says that you need to email some dev for newer code?

  • Are you interested in device discovery only or a full ONVIF protocol stack?
    – roalz
    Aug 29, 2018 at 7:09
  • I'm mostly looking or something to do device discovery and to enumerate the possible RTSP streams of cameras on the network. Aug 29, 2018 at 18:07

2 Answers 2


If a professional library is an option for you, consider using the LEADTOOLS Media Streaming SDK. (Disclaimer: I am an employee of this toolkit’s vendor).

The SDK supports both transmitting and receiving ONVIF streams, and it has a free evaluation edition in case you haven't tried it already. You can find more details in the following pages:

  • the OP seems to (only?) need device discovery through ONVIF protocol, can you please clarify if such feature is in LEADTOOLS and where is it documented?
    – roalz
    Aug 29, 2018 at 7:08
  • 1
    There is support in LEADTOOLS for Web Services Dynamic Discovery (WS-Discovery). It's mentioned in this help topic. The LEAD ONVIF Source User Interface contains the search button and dialog that implement the discovery.
    – Amin Dodin
    Aug 30, 2018 at 16:03

Came upon this : Valkka. I have not read it yet. Hoping that this might be a useful pointer.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.