mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-09-30 11:12:35 +02:00
A1/P1 printers don't support RTSP - they use a custom chamber image protocol on port 6000: - SSL/TLS connection - 80-byte binary auth payload (magic + "bblp" + access code) - 16-byte header with payload size + JPEG data Changes Made backend/app/services/camera.py - Added supports_rtsp() - detects X1/H2/P2 (RTSP) vs A1/P1 (chamber image) - Added is_chamber_image_model() - inverse check - Added _create_chamber_auth_payload() - builds 80-byte auth - Added _create_ssl_context() - SSL for self-signed certs - Added read_chamber_image_frame() - single frame capture - Added generate_chamber_image_stream() - persistent connection - Added read_next_chamber_frame() - read from stream - Updated capture_camera_frame() - uses correct protocol per model backend/app/api/routes/camera.py - Added generate_chamber_mjpeg_stream() - MJPEG from chamber protocol - Renamed generate_mjpeg_stream() → generate_rtsp_mjpeg_stream() - Updated camera_stream endpoint - chooses protocol based on model - Updated stop_camera_stream - cleans up both stream types - Added tracking for _active_chamber_streams Protocol Matrix | Model | Protocol | Port | |-----------------------------|---------------|------| | X1, X1C, X1E, H2C, H2D, P2S | RTSP | 322 | | A1, A1MINI, P1P, P1S | Chamber Image | 6000 |