Spaces:
Runtime error
Runtime error
File size: 1,696 Bytes
7f88dd7 b4d7fed 11a28b8 56afb5e 7f88dd7 46fd8e8 d14169a 34d9197 a0ef9d6 8690dda f4858c1 34d9197 2a7ed74 19fa55a 8690dda 77889fa b187599 8690dda 56afb5e fde2ec3 84a96b1 fde2ec3 d64e162 fde2ec3 d14169a b187599 34d9197 6ef6ed7 34d9197 77889fa 7f88dd7 2a7ed74 77889fa 7f88dd7 |
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 |
import gradio as gr
import yt_dlp
import os
import binascii
import json
def dl(inp):
out = None
out_file=[]
json_line=[]
try:
inp_out=inp.replace("https://","")
inp_out=inp_out.replace("/","_").replace(".","_")
os.system(f'yt-dlp "{inp}" --write-description --skip-download -o "{inp_out}"')
os.system(f'yt-dlp "{inp}" --write-info-json --skip-download -o "{inp_out}"')
os.system(f'yt-dlp "{inp}" --trim-filenames 100 -o "{inp_out}.mp4"')
out = f"{inp_out}.mp4"
out_file.append(out)
out_file.append(f"{inp_out}.description")
out_file.append(f"{inp_out}.info.json")
out_json=f'{inp_out}.info.json'
try:
with open(f"{inp_out}.info.json", "r") as f:
f_out = f.read()
print(f_out)
#for line in f_out:
# print (line)
# json_line.append(line)
#dec_line = line.decode('utf-8', 'backslashreplace')
#out_line = binascii.hexlify(eval(dec_line))
#print (out_line)
#json_object = json.dumps(json_line)
out_json = json.dumps(f_out, indent=4)
print (out_json)
except Exception as e:
print (e)
except Exception as e:
print (e)
out = None
return out,out_file,out_json
with gr.Blocks() as app:
inp_url = gr.Textbox()
go_btn = gr.Button()
with gr.Row():
outp_vid=gr.Video()
with gr.Column():
outp_files=gr.Files()
out_json = gr.JSON()
go_btn.click(dl,inp_url,[outp_vid,outp_files,out_json])
app.launch()
|