File size: 1,652 Bytes
7f88dd7
b4d7fed
 
56afb5e
5e47d3b
9e24192
 
 
 
 
 
 
 
5e47d3b
 
 
9e24192
 
 
 
 
 
 
 
e793092
7f88dd7
 
46fd8e8
34d9197
 
 
c173614
34d9197
b187599
8690dda
fde2ec3
e25c521
 
b187599
 
34d9197
6ef6ed7
34d9197
05af1d5
7f88dd7
9e24192
7f88dd7
0078576
e793092
 
 
77889fa
c173614
9e24192
 
 
8c0fcd2
c173614
9e24192
 
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import gradio as gr 
import yt_dlp
import os 
import json
import backgroundremover
load_js = """
function(text_input, url_params) {
    console.log(text_input, url_params);
    const params = new URLSearchParams(window.location.search);
    url_params = Object.fromEntries(params);
    return [text_input, url_params]
}
"""

def rem_bg():

def predict(text, url_params):
    mod_url=""
    mod=gr.HTML("")
    out = None
    valid=gr.update(visible=False)
    mod_url = url_params.get('url')
    print (mod_url)
    return ["" + text + "", mod_url]

def dl(inp):
    out = None
    out_file=[]
    try:
        inp_out=inp.replace("https://","")
        inp_out=inp_out.replace("/","_").replace(".","_")
        os.system(f'yt-dlp "{inp}" --trim-filenames 100 -o "{inp_out}.mp4"')  
        out = f"{inp_out}.mp4"
        try:
            with open(f"{inp_out}.info.json", "r") as f:
                f_out = f.read()
            json_object = json.loads(f_out)
            out_json = json.dumps(json_object, indent=4)
        except Exception as e:
            print (e)
    except Exception as e:
        print (e)
        out = None
    return out

with gr.Blocks() as app:
    inp_url = gr.Textbox()
    go_btn = gr.Button("Run")
    with gr.Row():
        with gr.Column():
            outp_vid=gr.Video()
        with gr.Column():
            outp_file=gr.Textbox()
    with gr.Row(visible=False):
        text_input=gr.Textbox()
        text_output=gr.Textbox()
        url_params=gr.JSON()
    go_btn.click(dl,inp_url,outp_file)
    app.load(fn=predict, inputs=[text_input,url_params], outputs=[text_output,text_input],_js=load_js)
app.launch()