Spaces:
Paused
Paused
File size: 849 Bytes
cfb3ce0 1f0782b 529c9a7 1f0782b |
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 |
import gradio as gr
import os
def fetch(url, name, audio_only):
filename = f"{name}.{'mp3' if audio_only else 'mp4'}"
if audio_only:
opts = f'-x --audio-format mp3 -o "{filename}"'
else:
opts = f'-o "{filename}"'
os.system(f'yt-dlp {opts} "{url}"')
return filename if os.path.exists(filename) else "Download failed."
with gr.Blocks() as demo:
gr.Markdown("Downloads video/audio from url as mp4 (or mp3). Simply a convenience wrapper around [yt-dlp](https://github.com/yt-dlp/yt-dlp) :)")
url = gr.Textbox(label="media URL")
name = gr.Textbox(label="output name", value="output")
audio_only = gr.Checkbox(label="audio only (mp3)", value=False)
button = gr.Button("download")
output = gr.File()
button.click(fetch, inputs=[url, name, audio_only], outputs=output)
demo.launch() |