File size: 689 Bytes
2bef370 4ac47d1 2bef370 4ac47d1 2bef370 4ac47d1 2bef370 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | import gradio as gr
import cv2
import os
def extract_frames(video_file):
video_path = video_file.name
cap = cv2.VideoCapture(video_path)
frame_paths = []
i = 0
os.makedirs("frames", exist_ok=True)
while True:
ret, frame = cap.read()
if not ret:
break
path = f"frames/frame_{i:03d}.jpg"
cv2.imwrite(path, frame)
frame_paths.append(path)
i += 1
cap.release()
return frame_paths[:5] # return first 5 for demo
demo = gr.Interface(
fn=extract_frames,
inputs=gr.File(label="Upload Video", file_types=[".mp4"]),
outputs=gr.Gallery(label="Extracted Frames").style(grid=5)
)
demo.launch()
|