/SurveillanceMonitor

Monitor an Annke or Hikvision camera and responds to alarms

Primary LanguageC#MIT LicenseMIT

Surveillance Monitor

Disclaimer: I have written this primarily for my own needs. I make no claims as to the stability of the software, and take no responsibility for any damage it may cause

SurveillanceMonitor is a windows service that connects to IP Cameras that run the HIKVision software. This should also work for any OEMs that run the same camera software. e.g. Annke.

Pre-Requisites

  • Windows only.
  • VideoLan should be installed
  • .NET Framework 4.6
  • Open ports/Port forwarding so that this application can connect to the camera, and so that the camera can connect to this application

Capabilities

  • Windows service that runs in the background
  • On start, connects to the camera, and instructs the camera to send alerts to this application's IP address
  • Opens a port and listens for any alarms sent to the service's IP address.
  • On an alarm, instructs VLC to capture and save video from the camera for the required duration
  • Can monitor multiple Cameras

Settings

During installation you'll be prompted to enter some XML settings, this will be saved as MonitorSettings.xml in the installed folder.

VlcFolder="C:\Program Files (x86)\VideoLAN\VLC"

CallbackIp="192.168.0.102" is the IP address of the machine running the Surveillance service

For each camera RtspSource="rtsp://admin:password@192.168.0.103:554/ISAPI/Streaming/channels/101" enter the RTSP url to your camera. (you can test this out directly in vlc: Media > Open Network stream )

CameraHttpUrl="http://192.168.0.103:80" HTTP port of the camera.

CameraUserName="admin"

CameraPassword="password"

CallbackPort="8080" is the port that the service should listen on for alerts from this camera

And alert actions for the camera. At the moment only the VLC VideoDumper is supported <alarmAction Type="VideoDumper"> <setting Key="videoDumpDirectory" Value=".\videos\" ></setting> <setting Key="recordForSeconds" Value="30" ></setting> </alarmAction>

Contributing to Surveillance

I'd be willing to accept pull requests implementing any useful new features I'd love to hear feedback from other people using it.