deepfake-detector / video_frames.py
dappai's picture
Upload 9 files
459fc8b verified
raw
history blame contribute delete
656 Bytes
import cv2
def extract_frames(video_path, num_frames=32):
cap = cv2.VideoCapture(video_path)
if not cap.isOpened():
raise RuntimeError("Cannot open video")
total = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
step = max(total // num_frames, 1)
frames = []
for i in range(num_frames):
cap.set(cv2.CAP_PROP_POS_FRAMES, i * step)
ret, frame = cap.read()
if not ret:
break
frames.append(frame)
cap.release()
if len(frames) == 0:
raise RuntimeError("No frames extracted")
while len(frames) < num_frames:
frames.append(frames[-1])
return frames