diff --git a/tools/webcam/camera.py b/tools/webcam/camera.py index 10900b60ff..8358846f3a 100644 --- a/tools/webcam/camera.py +++ b/tools/webcam/camera.py @@ -11,6 +11,7 @@ class Camera: self.cur_frame_id = 0 self.container = av.open(camera_id) + assert self.container.streams.video, f"Can't open video stream for camera {camera_id}" self.video_stream = self.container.streams.video[0] self.W = self.video_stream.codec_context.width self.H = self.video_stream.codec_context.height diff --git a/tools/webcam/camerad.py b/tools/webcam/camerad.py index d0b879a086..47dddfce98 100755 --- a/tools/webcam/camerad.py +++ b/tools/webcam/camerad.py @@ -26,7 +26,6 @@ class Camerad: self.cameras = [] for c in CAMERAS: cam = Camera(c.msg_name, c.stream_type, c.cam_id) - assert cam.cap.isOpened(), f"Can't find camera {c}" self.cameras.append(cam) self.vipc_server.create_buffers(c.stream_type, 20, False, cam.W, cam.H) @@ -47,11 +46,10 @@ class Camerad: def camera_runner(self, cam): rk = Ratekeeper(20, None) - while cam.cap.isOpened(): - for yuv in cam.read_frames(): - self._send_yuv(yuv, cam.cur_frame_id, cam.cam_type_state, cam.stream_type) - cam.cur_frame_id += 1 - rk.keep_time() + for yuv in cam.read_frames(): + self._send_yuv(yuv, cam.cur_frame_id, cam.cam_type_state, cam.stream_type) + cam.cur_frame_id += 1 + rk.keep_time() def run(self): threads = []