cap = cv2.VideoCapture('rain.mp4')
#--- video information
frame_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
frame_height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
FPS = int(cap.get(cv2.CAP_PROP_FPS))
frame_count = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
print(f'width {frame_width} height {frame_height}')
print(f'FPS: {FPS} frame_count {frame_count}')
#--- setup window for show
cv2.namedWindow('video',cv2.WINDOW_KEEPRATIO)
cv2.resizeWindow('video', int(frame_width/3), int(frame_height/3))
cv2.moveWindow('video',300,200)
# read frame by frame
while(True):
ret, frame = cap.read()
cv2.imshow('video',frame)
#gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
#cv2.imshow('video',gray)
#waitKey 單位msec 1000msec = 1sec
#FPS=24 表示1sec播24張,所以1000msec/24=25msec
#每張可停格 25msec=waitKey(25) 可設定20~25之間,肉眼無法區分快慢
#Escape key to leave
if cv2.waitKey(20)== 27:
break
#--- ending
cap.release()
cv2.destroyAllWindows()