import cv2 | |
import gradio as gr | |
import numpy as np | |
def gif_maker(): | |
img_array = [] | |
height, width = 50, 50 | |
for i in range(30): | |
img_array.append(np.random.randint(0, 255, size=(height, width, 3)).astype(np.uint8)) | |
output_file = "test.mp4" | |
out = cv2.VideoWriter(output_file, cv2.VideoWriter_fourcc(*'mp4v'), 15, (height, width)) # type: ignore | |
for i in range(len(img_array)): | |
out.write(img_array[i]) | |
out.release() | |
return output_file, output_file | |
demo = gr.Interface(gif_maker, inputs=None, outputs=[gr.Video(), gr.File()]) | |
if __name__ == "__main__": | |
demo.launch() | |