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.
GNU General Public License v3.0
22 stars 3 forks source link

Implement motion speed #2

Closed victor-david closed 4 years ago

victor-david commented 4 years ago

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.

victor-david commented 4 years ago

d4d690d0efd3e99a1fbe86fd9ec7ab1b9e9895b7 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.

victor-david commented 4 years ago

ff737c42edaeedf8c316acb861471224f8c903d4 and 7d14274e3fdb00cad026eb1b22126dad80a060b6 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.