import gradio as gr from pytube import YouTube import cv2 def load_video_yt(vid): yt = YouTube(vid) vid = yt.streams.filter(progressive=True, file_extension='mp4').order_by('resolution').desc().first().download(filename=f"{yt.title}-vid.mp4") vid_aud = yt.streams.filter(only_audio=True)[0].download(filename="tmp_aud.mp3") return f"{yt.title}-vid.mp4" with gr.Blocks() as app: with gr.Row(): in_txt = gr.Textbox() load_btn = gr.Button() out_file = gr.File() load_btn.click(load_video_yt,in_txt,out_file) app.launch()