| 338 | |
| 339 | # Write frame to destination |
| 340 | def _writeFrame(self, frame): |
| 341 | if not self.active: |
| 342 | return |
| 343 | |
| 344 | try: |
| 345 | decoded_frame = np.frombuffer(frame, dtype=np.uint8) |
| 346 | decoded_frame = decoded_frame.reshape((self.resolution[0], self.resolution[1], 3)) |
| 347 | bgr_frame = self.__changeColorSpace(decoded_frame, self.RGB888) |
| 348 | |
| 349 | if self.filename == "": |
| 350 | cv2.imshow(self.filename, bgr_frame) |
| 351 | cv2.waitKey(10) |
| 352 | else: |
| 353 | if self.video: |
| 354 | self.stream.write(np.uint8(bgr_frame)) |
| 355 | self.frame_index += 1 |
| 356 | else: |
| 357 | cv2.imwrite(self.filename, bgr_frame) |
| 358 | except Exception: |
| 359 | pass |
| 360 | |
| 361 | # Run Video Server |
| 362 | def run(self): |