Hev832's picture
Update run.py
5806219 verified
raw
history blame
No virus
947 Bytes
import gradio as gr
import yt_dlp
import os
def downloader(video_url, audio_format, audio_name):
save_path = os.path.join(audio_name)
ydl_opts = {
'format': 'bestaudio/best',
'postprocessors': [{
'key': 'FFmpegExtractAudio',
'preferredcodec': audio_format,
}],
'outtmpl': save_path,
}
with yt_dlp.YoutubeDL(ydl_opts) as ydl:
ydl.download([video_url])
return save_path
with gr.Blocks() as demo:
gr.Markdown("# YouTube Audio Downloader")
video_url = gr.Textbox(label="YouTube video link")
audio_name = gr.Textbox(label="Audio name of YouTube audio")
audio_format = gr.Radio(["wav", "flac", "mp3"], label="Select the output format")
output = gr.Textbox(label="Output")
download_button = gr.Button("Download")
download_button.click(downloader, inputs=[video_url, audio_format, audio_name], outputs=output)
demo.launch()