Spaces:
Runtime error
Runtime error
import gradio as gr | |
import cv2 | |
import PIL | |
def get_frame_id_from_pct(v, pct): | |
return int(v.get(cv2.CAP_PROP_FRAME_COUNT) * pct/100) | |
def frame2pil(frame): | |
return PIL.Image.fromarray(frame, mode="RGB") | |
def extract_frame(pct, video): | |
v = cv2.VideoCapture(video) | |
frame_at = get_frame_id_from_pct(v, pct) | |
v.set(cv2.CAP_PROP_POS_FRAMES, frame_at) | |
ret, frame = v.read() | |
return frame2pil(frame) | |
def process_video(pct, video): | |
return extract_frame(pct, video) | |
app = gr.Interface(fn=process_video, | |
inputs=[gr.Number(label="PCT", ) ,gr.PlayableVideo()] | |
, outputs='image') | |
app.launch() |