Would it be possible to write an ONVIF Profile S plugin - Give Unity app ability to control IP network PTZ cameras?

Some facts about ONVIF:

  • ONVIF (the Open Network Video Interface Forum) is a global and open industry forum with the goal of facilitating the development and use of a global open standard for the interface of physical IP-based security products.
  • ONVIF creates a standard for how IP products within video surveillance and other physical security areas can communicate with each other. See onvif.org
  • ONVIF utilizes IT industry technologies including SOAP, RTP, and Motion JPEG, MPEG-4, and H.264 video codecs.
  • Building on the ONVIF Core Specification, ONVIF profiles are subset specifications that ensure the interoperability of specific sets of features between conformant devices.
  • ONVIF Profile S addresses common functionalities of IP video systems, such as video and audio streaming, PTZ controls, and relay activation.

As an example of how significant ONVIF is - As of Windows10 Insider Build 18995 or greater, Microsoft introduced support for discovery, pairing, configuration and streaming for major ONVIF Profile S compliant camera vendors in the market. See:

Currently for our project I’m using the AVPro Live Camera asset from Renderheads for easy control over Windows connected web cameras in our Unity app. But I posted an Enhancement request to their issue tracker asking if their plugin could be modified to view the video of windows paired network cameras now that that’s a thing. Check out the issue I posted here:
Support for Network Camera devices in Windows Insider Build 18995 and later

But better than that would be if I could write a plugin for Unity that would allow direct PTZ control and streaming of Profile S compliant cameras.

In case anyone is curious about what I’m trying to do is basically trying to create a VR Network Video Surveillance (NVS) system.

If anyone can tell me if this is possible or not possible I would appreciate it. If possible I’m curious about what kind of effort I’d be looking at to write a plugin of this scope and magnitude. The target platform would be VR running on desktop for either OpenVR or WindowsMixedReality.

Thank you.

Not an answer. Hey Jason, did you have ever get around to doing this?