Troubleshooting
July 5, 2026 · View on GitHub
Run with logs to see what's happening:
python -m autoptz --log-level INFO
The in-app Logs panel shows the same stream; Camera Info shows the active execution provider + precision.
No detection boxes / "live-preview-only"
The detector model couldn't be loaded. The log says why. Common causes:
- First run, no network — the YOLO11 ONNX downloads on first use. Pre-fetch
offline:
python -m tools.fetch_models, or setAUTOPTZ_MODEL_PATHto an existing ONNX, orAUTOPTZ_MODEL_URLto a mirror. onnxruntime/cv2missing — you installedrequirements/ui.txtonly. Runpython tools/install.py --editable.
Tracking still works once a model is present; boxmot is optional (the tracker falls back to a built-in IoU tracker).
No face boxes / face enrollment does nothing
Face recognition is optional, but when enabled the Services panel should show
where the InsightFace buffalo_l pack is being loaded from. If it reports a
missing model path, open Engine → Models… and click Download on the
"Face recognition pack" row (or, headlessly / for offline installers, run
python -m tools.fetch_models).
Packaged builds bundle the pack under autoptz/models/insightface. Source/dev
runs can also set INSIGHTFACE_HOME to a directory containing
models/buffalo_l/*.onnx. The Model Manager can remove the pack only when it
lives in the AutoPTZ app-data cache — a bundled or ~/.insightface copy is never
deleted. Manual click-to-track still works without face recognition.
Running on CPU when a GPU is present
make_session logs the requested vs actual EP and any downgrade. Usual fixes:
- You have the wrong
onnxruntimewheel. Only one can be installed — see Installation and reinstall the right accelerator wheel. - NVIDIA — the CUDA EP needs CUDA 12.x + cuDNN 9.x; the TensorRT EP needs TensorRT 10.x on the machine.
- Force/inspect with
AUTOPTZ_FORCE_EP=...and confirm in Camera Info.
First TensorRT launch is slow
TensorRT builds an engine on first run (can take minutes). It's cached
persistently afterward — the second launch is fast. Run
python tools/bench/ep_compare.py twice to confirm.
Wrong camera opens / camera names are generic (macOS)
Run python tools/install.py --editable so the PyObjC AVFoundation packages from
requirements/base.txt are present. That lets cameras open by stable uniqueID
instead of OpenCV's divergent index order.
Tracking is laggy or jittery
See Configuration. Quick levers while the 2.2 controller is being validated:
- Laggy follow — lower
aim_smoothing, raiselead_time_sorkp. - Jittery — raise
aim_smoothingand check stale/lost target telemetry; the framing quiet zone is internal and should not become a normal tuning knob. - CPU-bound — drop the detector tier, raise
detect_interval(or leavequality_floor=auto), cap sourcefps.
App menu shows "Python" (macOS, source run)
Cosmetic — only the packaged .app (with CFBundleName=AutoPTZ) fixes the menu
title. Build it with bash packaging/build_macos.sh.
Reset everything
Delete the app-data dir (~/Library/Application Support/AutoPTZ,
%APPDATA%\AutoPTZ, or ~/.config/AutoPTZ) to clear cameras, settings, and the
model cache. 2.0.0 uses a fresh config schema with no migration from older dev
builds, so an incompatible old database should be removed if you hit load errors.