from random import randint import cv2 import numpy as np import os class Video: def __init__(self, x, y): self.x = x self.y = y def setVideo(self, path): 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): print("Error opening video file") totalframecount= int(self.cap.get(cv2.CAP_PROP_FRAME_COUNT)) print("The total number of frames in this video is ", totalframecount) 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): # Capture frame-by-frame ret, frame = self.cap.read() if ret == True: # Display the resulting frame 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.imshow("window", frame) # Press Q on keyboard to exit if cv2.waitKey(25) & 0xFF == ord('q'): break # Break the loop else: break def stop(self): self.run = False self.cap.release() # Closes all the frames cv2.destroyAllWindows()