From 345fa4a0b00d5e28e6dae6294138594708e7ed69 Mon Sep 17 00:00:00 2001 From: Vito-M Date: Thu, 23 Apr 2026 19:47:49 +0000 Subject: [PATCH] fix: no cam detected on Arch Linux, use string path for camera capture instead --- modules/ui.py | 2 +- modules/video_capture.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/ui.py b/modules/ui.py index fca9f30..4c89e3e 100644 --- a/modules/ui.py +++ b/modules/ui.py @@ -417,7 +417,7 @@ def get_available_cameras() -> Tuple[List[int], List[str]]: indices: List[int] = [] names: List[str] = [] for i in range(10): - cap = cv2.VideoCapture(i) + cap = cv2.VideoCapture(f"/dev/video{i}") if cap.isOpened(): indices.append(i) names.append(f"Camera {i}") diff --git a/modules/video_capture.py b/modules/video_capture.py index b374a1a..163805e 100644 --- a/modules/video_capture.py +++ b/modules/video_capture.py @@ -71,8 +71,9 @@ class VideoCapturer: self.cap.release() except Exception: continue + elif platform.system() == "Linux": + self.cap = cv2.VideoCapture(f"/dev/video{self.device_index}") else: - # Unix-like systems (Linux/Mac) capture method self.cap = cv2.VideoCapture(self.device_index) if not self.cap or not self.cap.isOpened():