| Symptom | Likely Cause | Solution | |---------|--------------|----------| | QR not decoding | Motion blur | Increase shutter speed (e.g., 1/500s) | | | Out of focus | Lock manual focus, use fixed focal length | | | Glare | Change camera angle or use polarizer | | High latency | Wi-Fi interference | Use Ethernet | | | Large image size | Reduce JPEG quality to 85% before upload | | Telegram send fails | File too large | Resize 4K to 1920x1080 for Telegram | | Camera stream drops | RTSP timeout | Reconnect on failure using try-except loop |


Some IP cameras (e.g., Axis, Vivotek) support Python or JavaScript apps. QR decoding can happen on the camera, sending only text to Telegram. This reduces server load but requires expensive cameras.

gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
_, thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
decoded = decode(thresh)

To avoid pixelated 320p thumbnails, follow this workflow:

Step A: Camera Configuration

Step B: The QR Code to Telegram Workflow You need an automation middleware (e.g., Node-RED, Home Assistant, or Frigate).

Python Script Example (Minimal):

import requests
from camera_lib import capture_frame
ip+camera+qr+telegram+high+quality