victor-david / camera-eye

.Net Core 3.1 WPF Windows application to view and manipulate multiple IP cameras. Handles RTSP and MJPEG streams. Provides ability to pan and tilt the cameras. Uses plugins to deal with specific camera makes / models.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Implement motion speed

victor-david opened this issue · comments

ICameraMotion specifies properties regarding the speed at which the camera moves.

TODO: Implement the ability to change the speed via the manage camera UI.

In the management panel, should have movement controls also so you can test the speed that is set without the need to return to the main camera window.

d4d690d implements the ability to adjust the motion speed. The speed is saved in the database because (in Amcrest camera) it is used as a parameter when instructing the camera to move.

The Foscam plugin (although it supports ICameraMotion) doesn't do anything with the changed motion speed value yet. The Foscam camera doesn't use it as a parameter like the Amcrest. In the Foscam control panel, it reboots the camera when you change the speed. Need to investigate if there's another way of doing it for Foscam.

Currently, when you change the speed, it saves the new value in the database, but does not affect the speed of the camera instance on the wall (if one is mounted there). That's because the camera control on the wall has its own plugin instance which doesn't know about the speed change. Workarounds:

  1. Remove the camera from the wall and put it back.
  2. Move the camera to another slot on the wall (which is remove / add in one operation)
  3. Stop the app and then restart it.

To avoid these workarounds, would need to communicate with the plugin for the camera control on the wall. May not be worth it since speed probably doesn't need to changed much.

ff737c4 and 7d14274 implement motion speed for Foscam plugin. With Foscam, the speed change does affect the mounted camera because the value is stored inside the camera and is used the next time movement is requested.