What are the tradeoffs between these forms of sending motion detection events?
1. Motion Detection as per ONVIF :
NVR or CMS will keep asking IP camera about motion detection with in certain intervals using GET API.
Disadvantage: If the motions get detected during the intervals CMS/NVR will get the information during next GET API query. Another thing is CMS/NVR will be busy doing this activity in case of multiple IP cameras are connected
2. Motion Detection as per proprietary methods (some IP cameras support this)
In case of motion detection IP camera will send the information to NVR/CMS. It is expected some listening port to be kept open @ NVR/CMS side which is again to be configured in IP camera which is clumsy. However it seems good implementation as GET is not expected everytime from CMS/NVR. But ONVIF doesn't support the 2nd method