What is ONVIF?What can ONVIF do?
What is ONVIF?
Cameras can be seen everywhere in our daily lives. In the current era, most cameras have been networked, and early network camera hardware providers used proprietary protocols for communication. However, with the development of the times, there are more and more application scenarios of cameras, and the manufacturers of various cameras are also blooming. Private protocols will eventually become obsolete.
In order to solve this dilemma, Axis, together with Bosch and Sony, jointly developed the onvif (Open Network Video Interface Forum) protocol.
2. What can ONVIF do?
The onvif protocol covers device discovery, device configuration, events, PTZ control, video analytics and live streaming capabilities, as well as search, playback and recording management functions.
3. ONVIF develops the technical framework
The interfaces defined in the Device Management and Control section of the ONVIF specification are provided as Web services. Every end device that supports the ONVIF specification must provide a Web service appropriate to its functionality. Other parts of ONVIF, such as audio and video streaming, are conducted via RTP/RTSP.
To summarize the development formula of the onvif protocol: ONVIF = server + client = (Web Services + RTSP) + client = ((WSDL + SOAP) + RTSP) + client
So let’s first take a look at some of the technical frameworks involved in onvif’s development
Web Services
Web services is a remote calling technology across programming languages and operating system platforms, which can use Http, SMTP and other protocols to transfer data between the client and the server. XML is used as a syntax for data description, SOAP is used for messaging, and WSDL is used to describe services.
ONVIF is built on the Web services standard, and all configuration services defined in the onvif standard are represented as Web services operations and defined in WSDL, using HTTP as the communication mechanism.
WSDL
WSDL (Web Service Description Language), Web services description language. XML language for describing Web services and describing how to communicate with Web services, providing users with detailed interface specifications.
WSDL documents use these main elements to describe a web service: <portType>:
The <portType> element can be compared to a library (or a module, or a class) in a traditional programming language.
<message>: An abstract typed definition of a message used by a web service to communicate the data structure of a message. Use the types defined by Types to define the data structure of the entire message. message is used to define the input and exit parameters of each SOAP service, including parameter names and parameter type information. (Somewhat similar to function signatures).
<types>: Data type definitions used by web services, and for maximum platform neutrality, WSDL uses XML Schema syntax to define data types.
<binding>: The communication protocol used by the web service.