Skip to main content

Web app to control settings for PTZOptics cameras

Project description

PTZ Camera Control App

This app is designed to provide a user interface to control PTZOptics cameras over the network by providing an easy interface to switch between presets for multiple cameras. The app also provides consistent control over various parameters of the camera such as color, exposure, and focus.

Installation

This app can be installed simply with pipx or pip (First you must install Python 3.11+ and pipx):

pipx install ptz-control-app

# To run the app:
ptz-control-app

Architecture

This app is designed as a server application with a Django backend and a React frontend. The backend uses a SQLite database to store camera presets and settings. When run, the ptz-control-app command (a CLI made with click) runs migrations (unless --no-migrations is specified), starts the Django server, and opens the browser to the app (unless --no-browser is specified).

Background

This app was created to support the use of PTZOptics cameras at Suber Road Baptist Church. The previous controller we were using was somewhat cumbersome in certain circumstances, and we regularly had problems with the camera settings automatically adjusting to unreasonable values (like aperture being completely closed or color varying widely between multiple cameras). This app primarily provides an easy mechanism to switch between presets, keeps camera settings consistent week after week, and provides a simple interface to adjust settings while making fine adjustments easy.

Development

The frontend is linked to the backend by running npm run build in the frontend directory and copying the js and css files to static/ptz_app. The npm run watch command will watch for changes and automatically rebuild the frontend and copy the files to the appropriate directory. This enables convenient development of frontend and backend together, but it does not feature live reloading, so when developing the frontend, it is often more convenient to run the frontend with npm run dev, which runs only the frontend and provides live reloading. Note that the contents of App.tsx are evaluated in this case, so whatever page that imports will get shown.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ptz_control_app-0.4.0.tar.gz (88.2 kB view details)

Uploaded Source

Built Distribution

ptz_control_app-0.4.0-py3-none-any.whl (94.5 kB view details)

Uploaded Python 3

File details

Details for the file ptz_control_app-0.4.0.tar.gz.

File metadata

  • Download URL: ptz_control_app-0.4.0.tar.gz
  • Upload date:
  • Size: 88.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for ptz_control_app-0.4.0.tar.gz
Algorithm Hash digest
SHA256 369178d1522e2c288a49350df045c9c024feca360845c9f2f3d52a1008ac802b
MD5 7b4b5c0d8086a7a20b3bc0d0bf68c065
BLAKE2b-256 ff72e1b0032b4ac41e4656a83e20b324a3b8e4b589d3423722bb0f5feb1a7140

See more details on using hashes here.

File details

Details for the file ptz_control_app-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for ptz_control_app-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eb57b5d4cb6cf8d52f9a99b52c25487aeda7d1286ffb837d35435ba173a7396f
MD5 6df4fe99ec4983f584f11ae0a88d3a64
BLAKE2b-256 efd5dc602b295662a745b9855486e5af10f0c19315a996ce8498a9b1da7ac6ed

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page