# Edge RK3588 production counter — copy to .env on device # cp config.env.example .env && nano .env #DEBUG_TRACKING=true SITE_NAME=Salatiga OUTPUT_DIR=/opt/bytetrack-counter DB_PATH=/opt/bytetrack-counter/bytetrack_counter.db STATE_FILE=/tmp/bytetrack_current_batch.json # Direct LAN camera RTSP (low latency) #SOURCE=rtsp://frigate:zenai@127.0.0.1:8554/camera_stream_640 SOURCE=rtsp://10.38.30.64:8554/my_stream OPENCV_FFMPEG_CAPTURE_OPTIONS=rtsp_transport;tcp|fflags;nobuffer|flags;low_delay # RKNN model — export'd from YOLO9t with imgsz=320 MODEL_PATH=/opt/models/zenai_apc_salatiga_20260703.rknn IMGSZ=320 HALF=false CONF=0.3 # RKNN NPU core mask: 1=core0, 2=core1, 3=core0+core1, 7=all three CORE_MASK=7 # YOLO decoder params (must match model export) NUM_CLASSES=2 NUM_KEYPOINTS=9 REG_MAX=16 STRIDES=8,16,32 CAMERA_NAME=ZenAi OBJECT_LABEL=ayam-potong CLASS_AYAM=ayam CLASS_TALENAN=talenan # Line crossing: rtl (default) | ltr | both CROSS_DIRECTION=rtl LINE_X= LINE_X_FRAC=0.5 DAILY_CUTOFF_TIME=20:00 CUTOFF_TIME=20:00 BATCH_TIMEOUT_SECONDS=300 IGNORE_BATCH_LABEL_TIMEOUT_SECONDS=30 MIN_OBJECT_PER_BATCH=60 MIN_DURATION_PER_BATCH=60 DASHBOARD_HOST=0.0.0.0 DASHBOARD_PORT=5001 SECRET_KEY=change-me-in-production EXPORT_CSV=true RECORD_VIDEO=false LIVE_STREAM_ENABLED=true LIVE_STREAM_FRAME_PATH=/dev/shm/bytetrack-counter/live_frame.jpg LIVE_STREAM_QUALITY=75 LIVE_STREAM_EVERY_N=2 # Lower high_thresh to match CONF so all valid detections create tracks TRACK_HIGH_THRESH_0=0.3 TRACK_HIGH_THRESH_1=0.3 # Relax match_thresh for ayam (0.8 is too strict, IoU must be > 0.8 to keep identity) TRACK_MATCH_THRESH_0=0.5 TRACK_MATCH_THRESH_1=0.5 # Lower low_thresh below CONF so filtering doesn't interfere TRACK_LOW_THRESH_0=0.1 TRACK_LOW_THRESH_1=0.1