ONVIF 規範支援 Motion Detection,並且在兩個規範書內分別加以定義。
- ONVIF-Imaging-Service-Spec-v221.pdf
- "tns1:VideoSource/tns1:MotionAlarm"
- ONVIF-VideoAnalytics-Service-Spec-v221.pdf
- "tns1:VideoAnalytics/tns1:MotionDetection"
其實作方式是透過 ONVIF event 的機制,詳細作法請參考這裡,簡介如下:
- NVR先透過GetEventProperties得知系統支援那些Event。
- NVR透過Subscriber註冊想要了解的 Event。
- NVR可透過 Push/Pull 或 RTSP 的方式,取得 Event
參考這兩份規範書內的 Event 定義,可知兩者所定義的 Motion Detection 有所不同
- VideoSource :
- 針對單一的影像來源,只要有動作,便觸發 Motion
- VideoAnalytics :
- 將單一的影像來源區分為多個Window,只要某個Window內有動作,便觸發 Motion
"tns1:VideoSource/tns1:MotionAlarm" 的 Event 定義
<tns1:VideoSource>
<tns1:MotionAlarm wstop:topic="true">
<tt:MessageDescription IsProperty="true">
<tt:Source>
<tt:SimpleItemDescription Name="Source" Type="tt:ReferenceToken"/>
</tt:Source>
<tt:Data>
<tt:SimpleItemDescription Name="State" Type="xs:boolean"/>
</tt:Data>
</tt:MessageDescription>
</tns1:MotionAlarm>
</tns1:VideoSource>
"tns1:VideoAnalytics/tns1:MotionDetection" 的 Event 定義
<tns1:VideoAnalytics>
<tns1:MotionDetection wstop:topic="true">
<tt:MessageDescription IsProperty="true">
<tt:Source>
<tt:SimpleItemDescription Name="window" Type="tt:ReferenceToken"/>
</tt:Source>
<tt:Data>
<tt:SimpleItemDescription Name="motion" Type="xs:boolean"/>
</tt:Data>
</tt:MessageDescription>
</tns1:MotionDetection>
</tns1:VideoAnalytics>