import gradio as gr import os import cv2 from encoded_video import EncodedVideo, write_video import torch import numpy as np def video_identity(filepath): vid = EncodedVideo.from_path(filepath) clip = vid.get_clip(start_sec, start_sec + duration) video_arr = torch.from_numpy(clip['video']).permute(3, 0, 1, 2) write_video('out.mp4', video_arr, fps=60) capture = cv2.VideoCapture('out.mp4') while (True): success, frame = capture.read() if success: cv2.imwrite(f'train/frame_{frameNr}.jpg', frame) else: break frameNr = frameNr+10 img=cv2.imread('train/frame_0') return img demo = gr.Interface(video_identity, gr.inputs.Video(source='upload'), gr.inputs.Image(), cache_examples=True) demo.launch(debug=True)