Free & Open Source  ·  No Cloud  ·  No Subscription

Control and monitor your PTZ cameras
from any browser on the network

Open your browser, find your cameras, reset and calibrate — done.
smart-reset runs locally on your machine and gives any device on the same network instant access to your Panasonic and BirdDog PTZ cameras. No cloud, no subscriptions, no extra software.

Download
smart-reset browser UI

Up and running in three steps

1

Start the server

Run smart-reset.exe on your Windows machine — or py web_main.py from source. The server starts instantly.

2

Open your browser

Navigate to localhost:8765 — or use the machine's IP from any other device on the same network.

3

Connect and control

Scan for cameras, select one, and start resetting and calibrating. The UI reads back the actual camera state after every change.

Built for the job

Open localhost:8765 from any device on the same network — your full camera control panel is ready.

Camera Discovery

No IP hunting needed. Finds Panasonic cameras via UDP broadcast and BirdDog cameras via HTTP scan — and lists everything automatically.

Reset Sequence

One click sends the full colour reset sequence and reads back the actual camera state when it's done.

Colour & Exposure

Fine-tune gamma, matrix, white balance, colour temperature, auto iris, auto focus, and exposure — all in one place.

ABB & AWB

Trigger Automatic Black and White Balance with confidence — controls are gated so they only activate when the camera is in a valid state.

NDI Monitor

Monitor your live NDI feed with real-time waveform and vectorscope, right in the browser. NDI runtime is bundled — nothing extra to install.

Logging

Every operation is logged to ~/smart-reset.log, so nothing goes unrecorded.

Practical scopes, right in your browser

All scopes computed in BT.709 colour space, with graticule at 0, 25, 50, 75, and 100 IRE.

RGB Parade

R, G, and B channels side by side — spot colour casts and channel imbalance at a glance.

RGB Overlay

All three channels on the same axes — the fastest way to check white balance and overall exposure at once.

Luma (Y)

Standard BT.709 luma (Y = 0.2126·R + 0.7152·G + 0.0722·B) for clean exposure and contrast judgement.

Vectorscope

YCbCr BT.709 trace with saturation rings every 10%, crosshair at neutral, and 75% colour-bar target boxes.

NDI live camera feed
Live NDI feed
RGB Parade waveform
RGB Parade waveform
YCbCr vectorscope
YCbCr vectorscope

NDI runtime (Processing.NDI.Lib.x64.dll) is bundled in lib/ndi/ — no SDK installation required. Link with camera to start/stop the feed automatically on connect.

Supported cameras

Works out of the box with a wide range of Panasonic and BirdDog models.

Panasonic UE Series

  • AW-UE30 / UE40 / UE50
  • AW-UE70 / UE80 / UE100
  • AW-UE145 / UE150A / UE160

Panasonic HE / HR

  • AW-HE40 / HE42 / HE50
  • AW-HE60 / HE120 / HE130
  • AW-HR140
  • AK-UB300

BirdDog — Full Matrix

  • P200 / A200 / A300
  • 14-parameter colour matrix

BirdDog — Standard

  • P100 / PF120
  • P110 / P120
  • 12-parameter colour matrix

BirdDog — Other

  • P4k / P400 / P240
  • Any other BirdDog model
  • Generic fallback

What you need

smart-reset is lightweight — no special hardware or software stack required.

Windows (exe)

  • Windows 10 or later
  • Network connection (wired recommended)
  • Cameras on the same subnet
  • NDI monitor: Windows only

macOS (from source)

  • Python 3.10 or later
  • Network connection
  • Cameras on the same subnet
  • NDI SDK for NDI monitor

Network

  • All devices on the same local network
  • UDP broadcast must be allowed
  • Port 8765 must be free
  • Wi-Fi works, wired is more reliable

Free & open source — download and run

Last updated: April 2026  ·  Actively maintained

With the Windows executable — nothing else required.
For macOS: see from source below.

smart-reset.exe

Everything in one executable — camera control, colour reset, and NDI monitor with practical scopes. Panasonic and BirdDog support included. NDI runtime bundled.

Download from GitHub

From source — Windows · macOS

Requires Python 3.10+. On macOS, the NDI monitor also requires the NDI SDK to be installed separately.

bash
# Clone and enter the repo
git clone https://github.com/AndyJae/smart-reset-browser.git
cd smart-reset-browser

# Create and activate a virtual environment
python -m venv .venv
.venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Launch — browser opens at http://localhost:8765
py web_main.py

Built with

FastAPI uvicorn HTMX Jinja2 Vanilla JS NumPy Pillow WebSocket NDI 6 SDK (ctypes)

Contribute to smart-reset

The most valuable contribution is adding support for new camera models. Everything you need is in the plugin architecture. Developers are encouraged to contribute new ideas and actively help shape the direction of the project.

What contributions are welcome

  • Adding new camera manufacturers
  • Adding new camera models
  • Adding new values for the reset sequence
  • Bug fixes for existing reset sequences
  • Improved network discovery
  • Documentation corrections
  • Help shape the direction of the project

Adding a Panasonic camera

  1. Copy camera_plugins/panasonic/aw_ue80.py as a starting point
  2. Name the file aw_<model>.py or ak_<model>.py — the loader filters by prefix
  3. Set CAMERA_ID, DISPLAY_NAME, and PROTOCOL = "panasonic"
  4. Define RESET_COMMANDS, UI_BUTTONS, UI_DROPDOWNS, UI_LAYOUT
  5. Test against real hardware

Adding a BirdDog camera

  1. Copy camera_plugins/birddog/p200.py as a starting point
  2. Same structure as Panasonic — REST/JSON instead of CGI; API port is 8080
  3. Verify against the BirdDog REST API documentation for your model
  4. Test against real hardware

Pull request checklist

  • One camera model per PR
  • DISPLAY_NAME matches the official product name exactly
  • No changes outside camera_plugins/ unless discussed in an issue first
  • Tested on real hardware — state this in the PR description

PRs without hardware testing are accepted as "untested" and merged with a warning comment in the module header. Questions? Open an issue or contact support@medien-support.com.

Get notified about updates

Leave your name and email and we'll let you know when something new ships. No spam — just release notes.

Frequently asked questions

Installation & setup

Yes. On Windows use the .exe — nothing else required. On macOS and Linux run it from source with py web_main.py. Linux is not officially tested yet.
No. The Windows executable is self-contained — just download and run.
The web interface runs on port 8765. The camera scan port can be changed in the UI.
smart-reset keeps running in the background. Click the PTZ icon in the system tray to open a new browser window.
Right-click the PTZ icon in the system tray and select Quit.

Camera support

Currently Panasonic AW series and BirdDog. More models can be added via plugins — see the Developer section.
Yes. The plugin architecture makes it straightforward to add new models. See the Developer section for step-by-step instructions.
It is designed for local networks. Remote access over the internet is not officially supported.

Reset behaviour

It sends a predefined set of commands to restore the camera's colour settings to a known baseline.
Not through the UI yet — custom presets can be configured directly in the camera plugin file.

Security & network

smart-reset has no login of its own. Keep it on a trusted local network.
Yes. Open a browser on any device on the same network and navigate to the host machine's IP address on port 8765.

Contributing

Follow the steps in the Developer section and open a pull request on GitHub. PRs without hardware testing are accepted as "untested".
Open an issue on GitHub or contact support@medien-support.com.