dev #17

Merged
siwat merged 29 commits from dev into main 2025-09-25 19:59:50 +00:00
Showing only changes of commit a1e7c42fb3 - Show all commits

View file

@ -89,7 +89,11 @@ class RTSPReader:
continue
# Read frame immediately without rate limiting for minimum latency
ret, frame = self.cap.read()
try:
ret, frame = self.cap.read()
except Exception as read_error:
logger.error(f"Camera {self.camera_id}: cap.read() threw exception: {type(read_error).__name__}: {read_error}")
ret, frame = False, None
if not ret or frame is None:
consecutive_errors += 1
@ -98,10 +102,14 @@ class RTSPReader:
logger.error(f"Camera {self.camera_id}: cap.read() failed - ret={ret}, frame={frame is not None}")
# Try to get more info from the capture
if self.cap.isOpened():
logger.debug(f"Camera {self.camera_id}: Capture still open, backend: {self.cap.getBackendName()}")
else:
logger.error(f"Camera {self.camera_id}: Capture is closed!")
try:
if self.cap.isOpened():
backend = self.cap.getBackendName()
logger.debug(f"Camera {self.camera_id}: Capture still open, backend: {backend}")
else:
logger.error(f"Camera {self.camera_id}: Capture is closed!")
except Exception as info_error:
logger.error(f"Camera {self.camera_id}: Error getting capture info: {type(info_error).__name__}: {info_error}")
if consecutive_errors >= self.max_consecutive_errors:
logger.error(f"Camera {self.camera_id}: Too many consecutive errors ({consecutive_errors}), reinitializing")