From f817f611b16f41bd3693543e5837ba8881841be7 Mon Sep 17 00:00:00 2001 From: AtulSharma Date: Fri, 30 Sep 2022 16:08:06 +0530 Subject: [PATCH] Youtube_Video_Downloader_GUI --- .../Youtube_Video_Downloader_GUI/main.py | 69 ++++++++++++++++++ .../Youtube_Video_Downloader_GUI/yt.png | Bin 0 -> 29922 bytes 2 files changed, 69 insertions(+) create mode 100644 Program's_Contributed_By_Contributors/Python_Programs/Youtube_Video_Downloader_GUI/main.py create mode 100644 Program's_Contributed_By_Contributors/Python_Programs/Youtube_Video_Downloader_GUI/yt.png diff --git a/Program's_Contributed_By_Contributors/Python_Programs/Youtube_Video_Downloader_GUI/main.py b/Program's_Contributed_By_Contributors/Python_Programs/Youtube_Video_Downloader_GUI/main.py new file mode 100644 index 0000000000..b62e7b1e32 --- /dev/null +++ b/Program's_Contributed_By_Contributors/Python_Programs/Youtube_Video_Downloader_GUI/main.py @@ -0,0 +1,69 @@ +from kivymd.app import MDApp +from kivymd.uix.label import MDLabel +from kivymd.uix.behaviors import SpecificBackgroundColorBehavior +from tkinter import * +from tkinter import filedialog +from pytube import YouTube +from moviepy import * +from moviepy.editor import VideoFileClip + +#functions +def select_path(): + #allows user to select a path from the explore + path=filedialog.askdirectory() + path_label.config(text=path) + +def download_file(): + # get user path + get_link=link_field.get() + #get selected path + user_path=path_label.cget("text") + #Download video + mp4_Video = YouTube(get_link).streams.get_highest_resolution().download() + vid_clip = VideoFileClip(mp4_Video) + vid_clip.close() + + + +screen =Tk() +title = screen.title('Youtube Downloader') +canvas = Canvas(screen, width=500, height=500) +canvas.pack() + +#image_logo +logo_img = PhotoImage(file="yt.png") + +#resize +logo_img = logo_img.subsample(2,2) +canvas.create_image(250, 80, image=logo_img) + + +link_field = Entry(screen, width=50) +link_label = Label(screen, text='Enter Download Link:', font=('Arial', 15)) + +#select for saving the file +path_label = Label(screen, text="Select path for Download", font=('Arial', 15)) +select_btn = Button(screen, text='Select', command=select_path) + +#Add to window +canvas.create_window(250, 280, window=path_label) +canvas.create_window(250, 330, window=select_btn) + + + +#Add widgets to windows +canvas.create_window(250, 170, window=link_label) +canvas.create_window(250, 220, window=link_field) + +#Download btns + +download_btn = Button(screen, text="Download File", command=download_file) + +#add to canvas +canvas.create_window(250, 390, window=download_btn) + + + +screen.mainloop() + + diff --git a/Program's_Contributed_By_Contributors/Python_Programs/Youtube_Video_Downloader_GUI/yt.png b/Program's_Contributed_By_Contributors/Python_Programs/Youtube_Video_Downloader_GUI/yt.png new file mode 100644 index 0000000000000000000000000000000000000000..b7c79c27c2f9ccec0e280b743186355b7bfbfc9d GIT binary patch literal 29922 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

E87}X!qqKRJ7zxDyZ6CD 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 dDT2O