yunhaveto

OpenCV OMX test video

Apr 21st, 2020
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.50 KB | None | 0 0
  1. import cv2 as cv
  2. import time
  3.  
  4. CAPTURE_WIDTH: int = 1280
  5. CAPTURE_HEIGHT: int = 720
  6. VIDEO_RESOLUTION = (CAPTURE_WIDTH, CAPTURE_HEIGHT)
  7. VIDEO_FRAMERATE: float = 5.0
  8. VIDEO_EXTENSION: str = 'mov'
  9. VIDEO_DURATION: int = 15
  10. IMAGE_FREQUENCY: int = 1
  11. FOURCC: int = cv.VideoWriter_fourcc(*'avc3')
  12.  
  13.  
  14. def main():
  15.     # cap  = cv.VideoCapture("udp://@127.0.0.1:5050", cv.CAP_FFMPEG)
  16.     cap = cv.VideoCapture(0, cv.CAP_V4L2)
  17.     cap.set(cv.CAP_PROP_FRAME_WIDTH, CAPTURE_WIDTH)
  18.     cap.set(cv.CAP_PROP_FOURCC, cv.VideoWriter_fourcc(*'MJPG'))
  19.     cap.set(cv.CAP_PROP_FRAME_HEIGHT, CAPTURE_HEIGHT)
  20.     cap.set(cv.CAP_PROP_FPS, VIDEO_FRAMERATE)
  21.     out = cv.VideoWriter(f'file.{VIDEO_EXTENSION}', FOURCC, VIDEO_FRAMERATE, VIDEO_RESOLUTION)
  22.     print(cap.get(cv.CAP_PROP_FOURCC))
  23.     start = time.time()
  24.     frames = []
  25.     while 1:
  26.  
  27.         _, frame = cap.read()
  28.  
  29.         if frame is None:
  30.             print('system exit)))))')
  31.             raise SystemExit
  32.  
  33.         # yuvj422p
  34.  
  35.         # convert to grey
  36.         # grayFrame = cv.cvtColor(frame, cv.COLOR_BGR2GRAY)
  37.         # grayFrame = cv.cvtColor(grayFrame, cv.COLOR_GRAY2BGR)
  38.  
  39.         frames.append(frame)
  40.         if time.time() - start > VIDEO_DURATION:
  41.             start_time = time.time()
  42.             print(len(frames))
  43.             [out.write(frame) for frame in frames]
  44.             print(time.time() - start_time)
  45.             out.release()
  46.             cap.release()
  47.         time.sleep(1 / VIDEO_FRAMERATE)
  48.  
  49.  
  50. if __name__ == '__main__':
  51.     main()
Add Comment
Please, Sign In to add comment