SS_solar_POC_ver-1.0 / services /video_service.py
SathvikGanta's picture
Upload 16 files
197e2d4 verified
raw
history blame contribute delete
867 Bytes
import cv2
import os
# Global state
VIDEO_DIR = "data"
video_files = [os.path.join(VIDEO_DIR, file) for file in sorted(os.listdir(VIDEO_DIR)) if file.endswith((".mp4", ".avi"))]
video_index = 0
cap = None
def get_next_video_frame():
global cap, video_index
if not video_files:
raise RuntimeError("No video files found in the 'data' directory.")
if cap is None or not cap.isOpened():
cap = cv2.VideoCapture(video_files[video_index])
ret, frame = cap.read()
if not ret:
cap.release()
video_index = (video_index + 1) % len(video_files)
cap = cv2.VideoCapture(video_files[video_index])
ret, frame = cap.read()
if not ret:
raise RuntimeError(f"Cannot read video {video_files[video_index]}")
return frame
def reset_video_index():
global video_index
video_index = 0