59 lines
2.8 KiB
Plaintext
59 lines
2.8 KiB
Plaintext
# ===========================================================================
|
|
# Beispiel-Konfiguration fuer den Vehicle-Counter
|
|
# ---------------------------------------------------------------------------
|
|
# 1. Diese Datei nach ".env" kopieren: cp .env.example .env
|
|
# 2. Werte an die eigene Umgebung anpassen.
|
|
# Die .env wird beim Start automatisch geladen (python-dotenv) und ist per
|
|
# .gitignore vom Repository ausgeschlossen.
|
|
# ===========================================================================
|
|
|
|
# --- Kamera / Livestream ---------------------------------------------------
|
|
# MJPEG-Stream der ESP32-CAM (oder einer anderen HTTP-Stream-Quelle).
|
|
export CAMERA_URL="http://CAMERA-IP:81/stream"
|
|
# Frei waehlbare Kennung der Kamera (taucht in den MQTT-Events auf).
|
|
export CAMERA_ID="meine-kamera"
|
|
|
|
# --- Inferenz-Tuning -------------------------------------------------------
|
|
# YOLO-Modelle, getrennt fuer Live-Webcam und Video-Upload (n<s<m<l<x:
|
|
# groesser = genauer, aber mehr GPU-Last). yolo11s ist ein guter Kompromiss.
|
|
export WEBCAM_MODEL="yolo11s.pt"
|
|
export UPLOAD_MODEL="yolo11s.pt"
|
|
# Eingabegroesse fuer YOLO. Kleiner = schneller, groesser = genauer.
|
|
export YOLO_IMGSZ=480
|
|
# Motion-Gate: ab so vielen veraenderten Pixeln laeuft YOLO ueberhaupt.
|
|
export MOTION_PIXELS=500
|
|
# 24/7-Zaehlung auch ohne Zuschauer: 1 = an, 0 = nur bei aktivem Viewer.
|
|
export GRABBER_ALWAYS_ON=0
|
|
# FP16-Inferenz. Leer lassen = automatisch (an bei CUDA-GPU, sonst aus).
|
|
#export YOLO_HALF=1
|
|
# Zaehl-Band um die Linie (Pixel): faengt schnelle Fahrzeuge ab, die zwischen
|
|
# zwei Frames weit springen. 0 = aus (nur klassischer Linien-Schnitt).
|
|
export COUNT_BAND_PX=45
|
|
# Entprellung gegen Doppelzaehlung bei Track-ID-Wechseln (Pixel-Radius / Frames).
|
|
export COUNT_DEDUP_PX=60
|
|
export COUNT_DEDUP_FRAMES=12
|
|
# 24/7-Betrieb: Track-IDs nach so vielen Frames ohne Sichtung vergessen
|
|
# (verhindert Speicherleck / "Zaehlen verhungert nach Stunden").
|
|
export COUNT_FORGET_FRAMES=150
|
|
|
|
# --- MQTT (optional) -------------------------------------------------------
|
|
# Komplett abschaltbar: "false" -> App laeuft ohne Broker, sendet keine Events.
|
|
export MQTT_ENABLED="true"
|
|
# Adresse + Port des MQTT-Brokers (z. B. Mosquitto).
|
|
export MQTT_HOST="127.0.0.1"
|
|
export MQTT_PORT=1883
|
|
# Zugangsdaten nur setzen, wenn der Broker Authentifizierung verlangt.
|
|
#export MQTT_USER="user"
|
|
#export MQTT_PASS="passwort"
|
|
# Basis-Topic. Events laufen auf <TOPIC>/crossing, Status auf <TOPIC>/status.
|
|
export MQTT_TOPIC="vehiclecounter/meine-kamera"
|
|
|
|
# --- Sonstiges -------------------------------------------------------------
|
|
# Zeitzone fuer die Zeitstempel der Events.
|
|
export TZ_NAME="Europe/Berlin"
|
|
# Flask-Secret. Sicheren Zufallskey generieren:
|
|
# python3 -c 'import secrets; print(secrets.token_urlsafe(32))'
|
|
export SECRET_KEY="bitte-aendern"
|
|
# Speicherort der persistierten Zaehllinie.
|
|
export LINE_FILE="counting_line.json"
|