SmartOffice-1 / video_processor.py
SuriRaja's picture
Upload 13 files
98b1db7 verified
raw
history blame contribute delete
436 Bytes
import cv2
def frames_from_video(path, target_fps=None):
cap = cv2.VideoCapture(path)
orig_fps = cap.get(cv2.CAP_PROP_FPS) or 25.0
fps = target_fps or orig_fps or 25.0
step = max(1, int(round(orig_fps / fps))) if orig_fps else 1
idx = 0
while True:
ret, frame = cap.read()
if not ret:
break
if idx % step == 0:
yield frame, fps
idx += 1
cap.release()