I’m trying to write an onvif client and I can already receive onvif events, but I don’t understand why I specify the options for detecting people and cars if I can’t receive these messages through onvif. My camera is a HikvisiomEvent configuration on web DS-2CD1043G2-I, but I can see through ivms 4200 ivms 4200 appthat it indicates a person in the image and even draws squares around objects. How can I catch this through onvif or is it impossible?
Camera is connected without using a NVR simply through the Ethernet port and power.
Setup:
Camera: DS-2CD1043G2-I Hikvision
Firmware: V5.7.11 build 230601
Onvif version: 19.12
GetSupportedAnalyticsModules response is:
<?xml version="1.0" encoding="UTF-8"?>
<env:Body>
<tan:GetSupportedAnalyticsModulesResponse>
<tan:SupportedAnalyticsModules>
<tt:AnalyticsModuleContentSchemaLocation>http://www.w3.org/2001/XMLSchema</tt:AnalyticsModuleContentSchemaLocation>
<tt:AnalyticsModuleDescription Name="tt:CellMotionEngine" maxInstances="1">
<tt:Parameters>
<tt:SimpleItemDescription Name="Sensitivity" Type="xs:integer"/>
<tt:ElementItemDescription Name="Layout" Type="tt:CellLayout"/>
</tt:Parameters>
<tt:Messages IsProperty="true">
<tt:Source>
<tt:SimpleItemDescription Name="VideoSourceConfigurationToken" Type="tt:ReferenceToken"/>
<tt:SimpleItemDescription Name="VideoAnalyticsConfigurationToken" Type="tt:ReferenceToken"/>
<tt:SimpleItemDescription Name="Rule" Type="xs:string"/>
</tt:Source>
<tt:Data>
<tt:SimpleItemDescription Name="IsMotion" Type="xs:boolean"/>
</tt:Data>
<tt:ParentTopic>tns1:RuleEngine/CellMotionDetector/Motion</tt:ParentTopic>
</tt:Messages>
</tt:AnalyticsModuleDescription>
<tt:AnalyticsModuleDescription Name="hikxsd:TamperEngine" maxInstances="1">
<tt:Parameters>
<tt:SimpleItemDescription Name="Sensitivity" Type="xs:integer"/>
<tt:ElementItemDescription Name="Transformation" Type="tt:Transformation"/>
<tt:ElementItemDescription Name="Field" Type="tt:PolygonConfiguration"/>
</tt:Parameters>
<tt:Messages IsProperty="true">
<tt:Source>
<tt:SimpleItemDescription Name="VideoSourceConfigurationToken" Type="tt:ReferenceToken"/>
<tt:SimpleItemDescription Name="VideoAnalyticsConfigurationToken" Type="tt:ReferenceToken"/>
<tt:SimpleItemDescription Name="Rule" Type="xs:string"/>
</tt:Source>
<tt:Data>
<tt:SimpleItemDescription Name="IsTamper" Type="xs:boolean"/>
</tt:Data>
<tt:ParentTopic>tns1:RuleEngine/TamperDetector/Tamper</tt:ParentTopic>
</tt:Messages>
</tt:AnalyticsModuleDescription>
</tan:SupportedAnalyticsModules>
</tan:GetSupportedAnalyticsModulesResponse>
</env:Body>
</env:Envelope>
I think ONVIF doesn’t include object classification features like person or car detection.
Although Hikvision’s camera’s may have additional features beyond the ONVIF standard and this features are accessed through their own protocol or API’s.
The object classification you see in iVMS-4200 may fall into this category.
- You can check Hikivision’s documentation or reach support if they offer API’s that allows access to object classification features.