Enhance camera management features: add debug endpoint for camera manager state, implement live camera routes without authentication, and improve logging for camera initialization and status checks. Update Docker configuration to include environment variables for the web app.

This commit is contained in:
salirezav
2025-09-02 15:31:47 -04:00
parent 62dd0d162b
commit 5bdb070173
138 changed files with 672 additions and 18 deletions

View File

@@ -460,12 +460,16 @@ class CameraManager:
def _initialize_streamers(self) -> None:
"""Initialize camera streamers for configured cameras"""
self.logger.info("Starting camera streamer initialization...")
with self._lock:
for camera_config in self.config.cameras:
if not camera_config.enabled:
self.logger.debug(f"Skipping disabled camera: {camera_config.name}")
continue
try:
self.logger.info(f"Initializing streamer for camera: {camera_config.name}")
# Find matching physical camera
device_info = self._find_camera_device(camera_config.name)
if device_info is None:
@@ -481,6 +485,10 @@ class CameraManager:
except Exception as e:
self.logger.error(f"Error initializing streamer for {camera_config.name}: {e}")
import traceback
self.logger.error(f"Traceback: {traceback.format_exc()}")
self.logger.info(f"Camera streamer initialization complete. Created {len(self.camera_streamers)} streamers: {list(self.camera_streamers.keys())}")
def get_camera_streamer(self, camera_name: str) -> Optional[CameraStreamer]:
"""Get camera streamer for a specific camera"""