From 054f92aa184421ced4f6a8928fa1bb1872f0a89a Mon Sep 17 00:00:00 2001 From: jimmy Date: Mon, 18 Jul 2022 18:35:03 +1200 Subject: [PATCH] Set frame rate --- slave/video.py | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/slave/video.py b/slave/video.py index 102a4b9..87eaea8 100644 --- a/slave/video.py +++ b/slave/video.py @@ -1,7 +1,5 @@ from random import randint import cv2 -import numpy as np -import os import multiprocessing import time @@ -14,7 +12,7 @@ class Video: self.path = path def start(self): - self.run = True + self.cap = cv2.VideoCapture(self.path) # Check if camera opened successfully if (self.cap.isOpened()== False): @@ -27,7 +25,11 @@ class Video: # self.cap.set(cv2.CAP_PROP_POS_FRAMES, randint(0, totalframecount* 0.9)) # Read until video is completed - while(self.cap.isOpened() and self.run): + fps = self.cap.get(cv2.CAP_PROP_FPS) + delay = 1/fps * 1000 + print(fps, delay) + + while(self.cap.isOpened()): # Capture frame-by-frame ret, frame = self.cap.read() @@ -37,27 +39,26 @@ class Video: cv2.namedWindow("window", cv2.WND_PROP_FULLSCREEN) cv2.moveWindow("window", self.x, self.y) - cv2.setWindowProperty("window",cv2.WND_PROP_FULLSCREEN,cv2.WINDOW_FULLSCREEN) + #cv2.setWindowProperty("window",cv2.WND_PROP_FULLSCREEN,cv2.WINDOW_FULLSCREEN) cv2.imshow("window", frame) + cv2.waitKey(int(delay)) + # Break the loop else: break - - def stop(self): - self.run = False - self.cap.release() + # self.cap.release() - # Closes all the frames - cv2.destroyAllWindows() + # # Closes all the frames + # cv2.destroyAllWindows() if __name__ == "__main__": video = Video(0, 0) - video.setVideo("slave/sample-mp4-file.mp4") + video.setVideo("sample-mp4-file.mp4") x = multiprocessing.Process(target = video.start) x.start() - time.sleep(1) + time.sleep(2) x.terminate() time.sleep(1) x = multiprocessing.Process(target = video.start)