소스 뷰어

카메라 프레임 동영상 파일로 저장

import cv2

capture = cv2.VideoCapture(0)                       # 0번 카메라 연결
if capture.isOpened() == False: raise Exception("카메라 연결 안됨")
fps = 29.97                                         # 초당 프레임 수
delay = round(1000/ fps)                            # 프레임 간 지연 시간
size  = (640, 360)                                  # 동영상 파일 해상도
fourcc = cv2.VideoWriter_fourcc(*'H264')            # 압축 코덱 설정

# 카메라 속성 콘솔창에 출력
print("프레임 해상도:", size )
print("압축코덱 숫자:", fourcc)
print("delay: %2d ms" % delay)
print("fps: %.2f" % fps)

capture.set(cv2.CAP_PROP_ZOOM, 1)                   # 카메라 속성 지정
capture.set(cv2.CAP_PROP_FOCUS, 0)
capture.set(cv2.CAP_PROP_FRAME_WIDTH , size[0])     	# 해상도 설정
capture.set(cv2.CAP_PROP_FRAME_HEIGHT, size[1])

# 동영상 파일 개방 및 코덱, 해상도 설정
writer = cv2.VideoWriter("img/video_file.mp4", fourcc, fps, size)

if writer.isOpened() == False: raise Exception("동영상 파일 쓰기 불가")

while True:
    ret, frame = capture.read()             # 카메라 영상 받기
    if not ret: break
    if cv2.waitKey(delay) >= 0: break

    writer.write(frame)                 # 프레임을 동영상으로 저장
    cv2.imshow("View Frame from Camera", frame)
pass

writer.release()   # 쓰기 동영상 파일 자원 해제
capture.release()  # 캡쳐 카메라 자원 해제