Hev832's picture
Update run.py
4b1708b verified
raw
history blame
No virus
1.01 kB
import gradio as gr
import yt_dlp
import os
def downloader(video_url, audio_format, audio_name):
os.makedirs('audios', exist_ok=True)
ydl_opts = {
'format': 'bestaudio/best',
'postprocessors': [{
'key': 'FFmpegExtractAudio',
'preferredcodec': audio_format,
}],
'outtmpl': f"audios/{audio_name}",
}
output_path = f"audios/{audio_name}.%(ext)s"
with yt_dlp.YoutubeDL(ydl_opts) as ydl:
ydl.download([video_url])
return output_path
with gr.Blocks() as demo:
gr.Markdown("# YouTube Downloader 2.0")
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.Audio(label="Output")
download_button = gr.Button("Download")
download_button.click(downloader, inputs=[video_url, audio_format, audio_name], outputs=output)
demo.launch()