Skip to main content

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.

Metadata

Release files for ptz-control-app 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ptz-control-app 0.4.0
File Size Uploaded
ptz_control_app-0.4.0.tar.gz 88.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ptz-control-app 0.4.0
File Interpreter ABI Platform
ptz_control_app-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 182.7 kB

Release files / ptz_control_app-0.4.0.tar.gz

Download URL ptz_control_app-0.4.0.tar.gz
Size 88.2 kB
Tags Source
SHA-256 checksum
How to use checksums
369178d1522e2c288a49350df045c9c024feca360845c9f2f3d52a1008ac802b
BLAKE2b-256 checksum
How to use checksums
ff72e1b0032b4ac41e4656a83e20b324a3b8e4b589d3423722bb0f5feb1a7140
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.2

Release files / ptz_control_app-0.4.0-py3-none-any.whl

Download URL ptz_control_app-0.4.0-py3-none-any.whl
Size 94.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
eb57b5d4cb6cf8d52f9a99b52c25487aeda7d1286ffb837d35435ba173a7396f
BLAKE2b-256 checksum
How to use checksums
efd5dc602b295662a745b9855486e5af10f0c19315a996ce8498a9b1da7ac6ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/5.0.0 CPython/3.12.2

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page