간단히 구현한 RTSP 재접속 및 비디오 다시 재생하는 OpenCV 코드OpenCV/OpenCV 강좌2023. 10. 7. 06:33
Table of Contents
반응형
RTSP 재접속 및 비디오 다시 재생하는 코드를 OpenCV로 간단히 구현해봤습니다.
2022. 10. 27 최초작성
import cv2 import time try_num = 1 program_quit = False # 두개의 루프를 사용합니다. # 바깥 루프는 RTSP 재접속 시도 및 비디오 다시 재생하는 루프이고 # 안쪽 루프는 이미지를 가져와 화면에 보여주는 루프입니다. while True: # 시도한 횟수를 출력합니다. print(f'try {try_num}') # 0 대신에 RTSP URL 이나 비디오 파일 이름으로 대체하면 됩니다. cap = cv2.VideoCapture(0) # 이미지를 가져옵니다. ret,img_color = cap.read() if ret == False: try_num += 1 time.sleep(1) continue try_num = 1 # fps 값을 획득합니다. fps = cap.get(cv2.CAP_PROP_FPS) print('fps', fps) # 읽어올 수 없는 경우 디폴트로 30을 사용합니다. if fps == 0.0: fps = 30.0 # 이미지를 가져오는 로프입니다. while True: # 이미지를 읽어옵니다. ret,img_color = cap.read() # 이미지를 읽어올 수 없는 경우 안쪽 루프에서 빠져나옵니다. if ret == False: print('이미지를 가져올 수 없습니다.') break cv2.imshow("Color", img_color) if cv2.waitKey(1) == 27: # ESC키 누르면 프로그램 종료 program_quit = True # 바깥쪽 루프도 빠져나가도록 합니다. break cap.release() cv2.destroyAllWindows() # ESC 키를 누른경우 바깥 루프에서 빠져나옵니다. if program_quit: break |
반응형
'OpenCV > OpenCV 강좌' 카테고리의 다른 글
OpenCV Python – fps 출력하는 Webcam/Video File 기본 예제 코드 (0) | 2023.10.08 |
---|---|
OpenCV Python을 사용하여 HeatMap 흉내내기 – applyColorMap 사용 (0) | 2023.10.08 |
OpenCV Python 그리기 예제 1. OpenCV의 좌표계 (0) | 2023.04.13 |
OpenCV 좌표계를 직교 좌표계로 변환하는 Python 코드 (0) | 2023.04.13 |
OpenCV Python - 이미지를 정사각형이 되도록 패딩(padding)하는 예제 (0) | 2022.05.28 |