ONVIF Detailed Technical AnswersBy Carlton Purvis, Published on Mar 31, 2013
ONVIF is simultaneously one of the most successful and disliked new offerings of the last few years. On the one hand, its adoption has been staggering, with over 3000 products supporting it. On the other, many people have had problems integrating devices with ONVIF. While it has improved significantly over the last two years, ONVIF integrations cannot be taken for granted. Worse, outside of their plugfest, their public interaction has been underwhelming.
However, we recently talked with key ONVIF technical team members to get a better sense of the issues involved, receiving a lot of useful information. This long review summarizes them, including:
- Major Differences Between Versions
- Profile S positioning
- Status of Profile's G and C
- Performance Issues: PTZs and Motion Detection
- Compliance / Verification Process
- VMS Conformance Issues
- Communication Issues
Major Differences Between Versions
Core video streaming capabilities have remained the same across all versions of ONVIF. For example, a camera using version 2.1 is designed to stream video to a VMS using version 1.1 (though the reverse may not). Moreover, audio, I/O, motion detection, and other optional features may not (likely will not) work.
Release 2.0 added storage, recording and analytic management (specifically - new device types: NVS (Network Video Storage), NVD (Network Video Display), and NVA (Network Video Analytics)). These device types are in addition to Network Video Transmitter (cameras, encoders, etc.), and Network Video Client (VMS/NVR, and other devices which receive video), the most common device types in use.
ONVIF also has a number of minor versions (1.02, 2.11, 2.2). For example, namepsaces have changed between versions (e.g., 1.02), meaning issues may arise if using mismatched versions between camera and VMS. Additionally, errors have been corrected and a few advanced methods added (e.g., 2.11). Unfortunately, these are difficult to diagnose, as this information is not public, only which versions each is using.
The most recent version of ONVIF is 2.2, adding a number of advanced functionalities such as PTZ e-flip, reversing PTZs, PTZ tour configuration, imaging stabilization modes and level, washer and wiper commands. Additionally, quite a number of recorded video search optimizations were added (standardizing on time zones, duration of keep alives, etc.). Finally, default motion detection events were added, to simplify motion detection implementation, instead of manufacturers creating their own motion events. We discuss this more in the motion detection section below.
How Do I Know My ONVIF Version?
Checking your device's specific version is challenging. Manufacturers generally do not document which ONVIF version a specific device is using, and tech support may not even know. Instead, the only consistent way to find a device's version is through the ONVIF conformant devices lists [link no longer available]. However, in order to find it, users must click to a specific manufacturer's product list, then click a link in each product, which is not always obvious, then the product details page, and finally check inside the product conformance page, which shows the ONVIF version (if 1.x) or otherwise that it is Profile S plus the test tool version in the case of NVTs, or which devices were used to test in the case of NVCs.
[UPDATE: We are checking with ONVIF to understand the ramifications / issues of Profile S not listing the specific ONVIF version.]
Profile S is the new baseline for ONVIF compliance. Devices will no longer by certified as simply "ONVIF compliant", they must meet at least one profile, with S being first, and most fundamental. As we discussed in our overview, it includes basic features needed to connect and control a cameras, such as video streaming (what "S" stands for), encoder configuration, device discovery, and PTZ. Some optional features, including motion detection, were originally intended to be included in Profile S, but were voted out by ONVIF members for the sake of simplicity and expediency.
Profiles: What's Next?
ONVIF currently has two additional profiles in committee:
Profile G provides a storage framework. It covers both edge storage (flash in the camera or network-connected) and local storage with a common method for archiving, search, and replay. The latest version of the test tool (12.12) already contains tests for this profile, which some manufacturers have begun implementing, but no products will be certified until the profile is publicly released. Profile G is expected to be publicly released in Q3 or Q4 2013.
Profile C is a “proof of concept” profile for access control, similar in some ways to PSIA's Entry Control specification. Essentially, Profile C will allow VMS systems to read events from an access control system (access granted, door forced open, etc.) and link them to video without requiring custom integration for each manufacturer.
Since it's still relatively early, and not yet public (planned for early 2014), ONVIF could not reveal all of the access control providers on board with Profile C, though they did cite Honeywell, also active in PSIA's Area Control Spec, as actively contributing.
Performance issues: PTZ and Motion Detection
ONVIF acknowledges two issues frequently cited by integrators: PTZ control and motion detection.
Speaking on this topic, ONVIF agrees that latency can be an issue when using ONVIF, with an increase over cameras directly integrated to the VMS. ONVIF explains that this is due to several factors.
- A number of manufacturers implemented full web service libraries when implementing ONVIF, which creates unnecessary overhead, as these stacks contain many unneeded layers. As time goes on, developers have learned to remove unnecessary portions of these libraries, reducing needed resources.
- Secondly, instead of "speaking" directly to the hardware via ONVIF commands, many manufacturers at first created proxies to translate ONVIF PTZ commands to their own proprietary protocol, introducing latency. As they become more comfortable with the ONVIF specification, this has changed, with the proxies being removed.
- Finally, some manufacturers have begun developing hardware with architecture which is directly compatible with ONVIF commands, requiring less translation of commands to machine code. This architecture reduces latency by nature.
While motion detection has been included in the ONVIF specification for some time, default events were not included until recently, in version 2.2. This meant that manufacturers created their own events using the ONVIF framework, which had to be individually supported in each VMS. Default events should eliminate this problem moving forward, and include some considerations for analytic rules, should they be implemented, so this may not happen again. Additionally, note that ONVIF has not implemented any configuration of motion events from the client, so users must still set motion detection zones in the camera when using ONVIF.
Object Video's lawsuits were cited as one reason motion detection development has progressed so slowly within ONVIF. With so many member companies targets of these suits, many were wary of the spec potentially infringing one of OV's patents, as well.
ONVIF does not independently test for compliance of each device. Instead, members test their own devices with the ONVIF test tool, which generates a report that is sent to ONVIF for verification. As long as all test parameters are passed, the device is added to the compliant list. Users may view a device's conformance document by viewing the detail page of the device from the conformant devices list (such as this example [link no longer available]). This document shows the tested firmware version, features supported, test tool version, and most importantly, which ONVIF version or profile is supported. These points can be seen in this sample image:
The major difference between each test tool release is which version of the ONVIF spec they support. Profile S was not included until version 11.12, for example. Previously, user companies could test for only a certain subset of features to check conformance (such as streaming only). Now, since only profile conformance is granted, instead of generic ONVIF compliance, users must test to the profile spec (starting in test tool version 12.12), and all features must pass or the device is not certified conformant.
Because of this self-testing system, devices have been found which claimed compliance, but were found nonconformant. In these cases, the device is removed from the list immediately, until retested and found conformant. Cease and desist letters have been sent in some cases to combat false conformance claims.
Additionally, ONVIF does not require manufacturers to update to new versions of the specification or move to the profile system as they are released. They point out that the move to profile conformance offers some incentive for manufacturers to update to the latest specs, instead of being listed as generically conformant. In the future they may eliminate the generic conformant products list, documenting only profile-specific conformance, but there are no plans to do so now.
VMS conformance requirements have increased to testing with five compliant devices. Previously, only two devices were required to be tested, but it was found that this was too narrow a selection to truly prove conformance. A VMS manufacturer may select the most readily available cameras, for example, instead of the most feature-rich. One manufacturer member informed us that this increase indeed unearthed more problems than were found if they had only tested with Axis and Sony, for example.
Some VMS manufacturers have said that this requirement slows their conformance testing, since up-to-date Profile S cameras may be hard to find, for example. We asked ONVIF if they considered making a set of cameras publicly available via the internet for conformance testing, but they currently have no plans for this.
Communication With End Users and Integrators
ONVIF acknowledged that communication with end users and integrators has been a weakness. While technical specifications are readily available on their website, no simplified marketing material is available outlining ONVIFs benefits, the profile system, or support for users. ONVIF tells us that improving user communication is one of their goals for 2013 because of this.
Support has been another issue for end users and integrators working with ONVIF. While ONVIF has no internal technical support, they do recommend users contact them [link no longer available] if two compliant devices fail to integrate, and manufacturers are not cooperative or able to remedy the issue. If the problem cannot be solved, a device or devices may lose their compliance certificate.