Pelco Developer Network (PDN)

MotionDetection Issues

These are issues related to the MotionDetection service.



Pelco IP-based Devices (Sarix and so on) vs. Pelco Legacy Devices

Current Pelco IP-based devices encompass the latest Pelco product lines (e.g. Sarix, Spectra HD, and so on). Legacy Pelco devices include both analog and older IP-based products (e.g. Spectra IP IV, IP110, IP3701, and so on). The following are a list of differences between the two groups of devices regarding MotionDetection:

  • GetGridSize action: While both current Pelco IP-based devices and Pelco legacy devices provide this action for MotionDetection, Pelco legacy devices do not always return the correct grid size.
  • GetMDRegion action: In current Pelco IP-based devices, this action returns the bitmask for the entire available grid. However in Pelco legacy products this action will only return the bitmask of the given region that was passed into the SetMDRegion call.
  • Current Pelco IP-based devices are able to accept standard Base64. However they only return non-standard Pelco Base64. It is a recommended best practice to always use Pelco Base64.
  • Current Pelco IP-based devices require the following region name format: RegionX, where X is the number of the region. This does not affect Pelco legacy devices.
  • In current Pelco IP-based devices with multiple regions that overlap the same areas, higher indexed regions will force lower indexed regions to cancel enabled blocks that are part of the overlapping area. This does not occur in Pelco legacy products.
  • Current Pelco IP-based devices allow the creation of empty regions (regions with bitmask values set to all zeros). Anytime the GetMDRegions action is called, these empty regions will disappear.
  • Regions, in current Pelco IP-based devices, will have bitmasks relative to the grid size.
  • Current Pelco IP-based devices will accept a region whose bounds are smaller than the total grid size, with a bitmask relative to the region's size. However it will interlay convert the newly created region to encompass the entire grid, as well as its bitmask. Legacy products on the other hand will always have sizes relative to the region size.

Region Coordinates

The MotionDetection service currently calculates coordinates in an unexpected way. Specifically it fails to account for two rows. For example: (0,0) through (5,5) is technically a 6 x 6 area. However this is calculated as a 5 x 5 area. This is important to consider when determining the bitmask length.

Region Size

Creating a region outside the grid will yield a SOAP fault.


In some elements which are marked as being in base64 format, please be aware that in various Pelco device firmware, it is non-standard base64. Specifically, this non-standard base64 data ALWAYS has an additional equal sign (=) appended at the end.

Updating Configuration

Any MDConfiguration attributes that have not been given a value, will be reset to factory default values, upon a call to SetMDConfiguration.


This action is now deprecated. It is not recommended for production usage. The recommended method is now using the Event Arbiter Library to subscribe to this service's events and alarms.

After calling this action, please wait several seconds before calling this action again to prevent overwhelming your Pelco device.

Alarm Dwell Time

All 1st generation IP cameras have a 'motion alarm dwell time'. That is if the IP camera's motion alarm triggered for the 1st time, the alarm would stay activated for the 'dwell time' (approximately 30 seconds) before resetting the video quality to 'low'. If an additional alarm triggered during this period, the IP camera will not 'toggle' (switching video quality from 'low' to 'high'); instead this would just extend the motion alarm dwell time (for another 30 seconds at the point in time the 2nd alarm was triggered).

For example, three alarms were triggered. The 2nd alarm triggered 5 seconds after the 1st. At this point the dwell time would last another 30 seconds starting when the 2nd alarm was triggered (for a total or 35 seconds; assuming that another alarm does not trigger). However if another alarm triggers 7 seconds after the 2nd alarm, the dwell time would be extended for another 30 seconds; at the point in time that the 3rd alarm was triggered (12 seconds after the 1st alarm). Therefore the total dwell time would become 42 seconds.

Configuration Reset

When users change the primary stream's resolution, this will reset MotionDetection configuration.

Pelco IP-based Devices (Sarix and so on)

To see the MotionDetection service through UPnP and use it, the MotionDetection service must be enabled using either the CameraConfiguration web service (specifically the CameraConfig element) or Workstation.

Please be aware that enabling the MotionDetection uses resources on Pelco cameras. Consequently trying to enable the MotionDetection service may or may not return an error, depending on whether there are enough camera resources available based on the current stream and audio configurations.


This issue does not affect either non-Sarix IP cameras nor NET530x series encoders.

Sarix IP cameras currently do not implement this action properly. All requests will have a HTTP ERROR 500 response.

As a temporary work around, modify the desired region to delete so that it encompasses zero grids on the video frame, as well as disabling everything within its bitmask. Save the changes by calling the SetMDRegions action and passing the modified ROI.