Skip to content

Latest commit

 

History

History
34 lines (27 loc) · 1.66 KB

Readme.md

File metadata and controls

34 lines (27 loc) · 1.66 KB

Initial pass at a standardized camera control interface with pluggable camera modules.

Structure:

  • CameraControl.Backend is a backend webapi that handles the injection of the various cameras and the central api for directing controls.
  • CameraControl.Common is a set of standard classes, enums and interfaces.
  • CameraControl.Service.* This will be the set of camera control modules for different protocols, implementing CameraControl.Common. Currently only Vaddio Roboshot via REST or telnet.
  • CameraControl.WebUI is a Blazor web ui that connects to the Backend.

Notes:

  • Uses Docker and docker-compose currently to connect the frontend and backend.
    • may migrate to kubernetes eventually.
  • Currently camera services are plugged in via Dependency Injection (Backend > Startup.cs) and numbered/resolved via a CameraResolver service.

TODO:

  • Finish implementing frontend.
    • multi-cam
    • Presets
    • Remove default blazor template
    • Mobile friendly
  • Auto config of frontend from a metadata endpoint
    • Configure number of camers, camera names, preset names, etc
  • Figure out system configuration..
    • define cameras, names, types
    • define endpoints
    • Docker env variable configurations
  • General refactor
    • Can movement commands be combined? Especially Pan/Tilt?
  • More cameras
  • Does it make sense for camera modules to be individual docker services? Implemented via grpc, etc? More distributed, more pluggable.

This is a personal project for me, but it is also intended to be used at a House of Worship to unify ptz camera control without needing a standalone controller. This is also a prototype for how an open source, container/k8s based, AV Control system might work.