-
Notifications
You must be signed in to change notification settings - Fork 5
/
webcam_record.py
36 lines (30 loc) · 1.07 KB
/
webcam_record.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import argparse
import time
import cv2
parser = argparse.ArgumentParser()
# Add an argument
parser.add_argument('--filename', type=str, required=True)
parser.add_argument('--duration', type=int, required=True)
parser.add_argument('--cam_id', type=int, required=True)
# Parse the argument
args = parser.parse_args()
# Capture video from webcam
vid_capture = cv2.VideoCapture(args.cam_id)
vid_cod = cv2.VideoWriter_fourcc(*'XVID')
output = cv2.VideoWriter(args.filename + ".mp4", vid_cod, 30.0, (640, 480))
start = time.time()
while time.time() - start < args.duration:
# Capture each frame of webcam video
ret, frame = vid_capture.read()
# cv2.imshow("My cam video", frame)
output.write(frame)
# Close and break the loop after pressing "x" key
# if cv2.waitKey(1) & 0XFF == ord('x'):
# break
# close the already opened camera
vid_capture.release()
# close the already opened file
output.release()
# close the window and de-allocate any associated memory usage
# cv2.destroyAllWindows()
print('Webcam recording is done!')