Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import cv2 as cv
- import time
- CAPTURE_WIDTH: int = 1280
- CAPTURE_HEIGHT: int = 720
- VIDEO_RESOLUTION = (CAPTURE_WIDTH, CAPTURE_HEIGHT)
- VIDEO_FRAMERATE: float = 5.0
- VIDEO_EXTENSION: str = 'mov'
- VIDEO_DURATION: int = 15
- IMAGE_FREQUENCY: int = 1
- FOURCC: int = cv.VideoWriter_fourcc(*'avc3')
- def main():
- # cap = cv.VideoCapture("udp://@127.0.0.1:5050", cv.CAP_FFMPEG)
- cap = cv.VideoCapture(0, cv.CAP_V4L2)
- cap.set(cv.CAP_PROP_FRAME_WIDTH, CAPTURE_WIDTH)
- cap.set(cv.CAP_PROP_FOURCC, cv.VideoWriter_fourcc(*'MJPG'))
- cap.set(cv.CAP_PROP_FRAME_HEIGHT, CAPTURE_HEIGHT)
- cap.set(cv.CAP_PROP_FPS, VIDEO_FRAMERATE)
- out = cv.VideoWriter(f'file.{VIDEO_EXTENSION}', FOURCC, VIDEO_FRAMERATE, VIDEO_RESOLUTION)
- print(cap.get(cv.CAP_PROP_FOURCC))
- start = time.time()
- frames = []
- while 1:
- _, frame = cap.read()
- if frame is None:
- print('system exit)))))')
- raise SystemExit
- # yuvj422p
- # convert to grey
- # grayFrame = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)
- # grayFrame = cv.cvtColor(grayFrame, cv.COLOR_GRAY2BGR)
- frames.append(frame)
- if time.time() - start > VIDEO_DURATION:
- start_time = time.time()
- print(len(frames))
- [out.write(frame) for frame in frames]
- print(time.time() - start_time)
- out.release()
- cap.release()
- time.sleep(1 / VIDEO_FRAMERATE)
- if __name__ == '__main__':
- main()
Add Comment
Please, Sign In to add comment