UPDATED INFORMATION ON THIS TOPIC HERE:
__________________________________________________________________________________________________________
Contribution by Chesapeake and Midlantic Marketing as well as Mr. Brad Eck, Bosch Integration Manager North America
Simple questions, complicated answers.
What is ONVIF? Literally – Open Network Video Interface Forum Conceptually it is a 'common calling protocol' for all devices that establishes conformance expectations for easy plug and play when a single interface has been implemented. ONVIF initially began as a video-only specification but has expanded into access control as well. The implementation of “profiles” allows common feature sets to be implemented as a baseline of conformance.
Why is it so difficult to implement, i.e. NOT plug and play as advertised?
Well that depends on your perspective. So, for clarity of focus, let’s consider bringing an ONVIF profile S conformant camera into an ONVIF profile S conformant VMS.
Arguably, the greatest difficulty is in the extensibility of the protocol. Every ‘call’ has multiple options that can be implemented, some required, some optional, but all can be implemented uniquely and still be fully ‘conformant’ to the standard. In fact, implementation doesn’t matter as long as the protocol for the caller is implemented based on the available specification. ONVIF is very flexible and covers the most common use cases at a high level. To establish conformance, the ONVIF organization created a test tool to validate the systems being built for both the video device (sender device) and the VMS (receiver client). Consider the tool to be like a test VMS. The tool, having been developed by ONVIF, covers every option and every variation to ensure a manufacturer has built a ‘conformant’ device or software platform. When a VMS manufacturer creates their ‘receiving’ software, they will have a few different cameras from one or more manufacturers in their lab. Many times this is project driven, so they may select cameras based on a specific business case. They will then verify that the combination of the VMS and the cameras present for the lab testing work properly. Rarely will a VMS manufacturer pull out the ONVIF specification and use it as the definition of their requirements and follow up by testing every camera defined as conformant. The intent of the specification is to minimize that need. So, when an integrator decides to utilize that same VMS for the next project and add in a camera that the VMS manufacturer did not test, it is possible that there is a shortfall in the VMS code as originally written.
But this problem is nothing new and is not isolated to ONVIF but common to any API specification. For example, several years ago Bosch implemented a new integration for Bosch IP cameras to a brand “x” NVR. Bosch was immediately blocked by an H.264 specification item that was implemented in the Bosch camera stream. However, the brand “x” renderer did not decode that specification item, even though it was defined by the standard. It was nearly a year before the mismatch was fixed. These types of issues will constantly creep up to any client manufacturer that does project driven work versus strategic implementation work. Standards are only as good as those who completely implement them (which from a resource standpoint is not viable so it never happens). Partial implementation is the killer.
Another 'gotcha' is event (alarm) management as shown to the left, offered by Bosch's Intelligent Video Analysis (IVA). ONVIF addresses the event MECHANISM, not the actual events (save a couple). So while any client manufacturer can retrieve the events in a common fashion, the events themselves are unique which causes the creation of a custom development cycle for the client manufacturer for every type of device integrated. This is why some VMS providers are ONVIF profile S conformant but only support events from specific vendors.
How does Bosch try to simplify integration between Bosch IP cameras and 3rd party VMS manufacturers? Bosch invested in a global initiative several years ago to establish global and regional teams of engineers dedicated to working with 3rd party VMS manufacturers to implement integrations to Bosch devices.
More about the Bosch Integration Partner Program (Bosch IPP) can be found here.