0% found this document useful (0 votes)
26 views

Python_YouTube_Video_Downloader[1] (1)

Uploaded by

ramphool83
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views

Python_YouTube_Video_Downloader[1] (1)

Uploaded by

ramphool83
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 21

PM SHRI KENDRIYA VIDYALAYA

Artillery Centre Nashik Road Camp

SESSION- 2024-25
Computer Science Project A
Project Report On : Python YouTube
Video Downloader
SUBMITTED BY: Utkarsha Jitendra PATIL

ROLLNO- 16 SUBMITTED TO- CLASS –

12 B MRS. Pooja Agrawal

PGT(COMPUTER SCIENCE)

1
Certificate
This is to certify that utkarsha
Jitendra patil of class 12th B have
successfully completed their
Computer Science project on
“Python YouTube Video Downloader”
under the guidance of Mrs. Pooja
Agarwal during the academic year
2024-2025 as per the guidelines
issued by Central Board of
Secondary Education (CBSE).

Signature of Subject Teacher Signature of External Examiner

Signature of Principal

2
Acknowledgements

I would like to thank our teacher, Mrs.


Pooja Agarwal who gave me this
opportunity to work on this project. I am
very grateful to her for her support and
guidance in completing this project. I
must also thank my parents and friends
for the immense support and help during
this project. Without their help,
completing this project would have been
very difficult.

3
Thank You

Table of Contents
Page
1. Cover Page
1
2. Certificate
2
3. Acknowledgements
3
4. Table Of Contents
4
5. Introduction To Project
5
6. Objective of the Project
6

4
7. Scope of the Project
7
8. The Existing System
8
9. Proposed System
9
10. Input / Output Requirements
10
11. Future Scope of the Project
11
12. Conclusion
12
13. Python YouTube Video Downloader
13
14. Code
14 - 17

5
6
1. Introduction To Project
Python YouTube Video Downloader is an
application to download videos from
YouTube. This provides users to download
videos they need in their devices and watch
them offline.
In this python project, user has to copy the
YouTube video URL that they want to
download and simply paste that URL in the
‘paste link here’ section and click on the
download button, it will start downloading
the video. When video downloading finishes,
it shows a message ‘downloaded’ popup on
the window below the download button.

7
2. Objective of the Project
The Python YouTube Video Downloader is a
python project. The objective of this project is
to download any type of video in a fast and
easy way from YouTube in your device.
YouTube is very popular video sharing
website. Downloading a video from YouTube
is a tough job. Using Python, this task is very
easy. Few lines of code will download the

8
video from YouTube for you. And this is the
main function of the project.

3. Scope of the Project


Steps to Develop Python YouTube Video Downloader:-
Project Prerequisites: -

To implement this project I have used basic


concept of python, tkinter, and Pytube library.
 Tkinter is a standard GUI library and it is one of
the easiest ways to build a GUI application.
 Pytube used for downloading videos from
YouTube.

9
To install the required modules run pip installer
command on the command line:
pip install tkinter
pip install pytube

4.The existing system


Currently, there are many websites
that provide the functionality of
downloading YouTube videos, but
these websites are filled with Ads,

10
malicious pop ups and sometimes can
download malware instead of the
video we need. So, it is safe for us to
make our own simple Python YouTube
Video Downloader and download
videos without any fear of getting
malware.

Some examples of these harmful


websites: -

11
5.Proposed System
Python YouTube Video Downloader is a
simple software that allows the user to
download any YouTube videos directly on to
their devices. It also provides the
functionality of downloading the video in a
specific folder, chosen by the user. These
are the main features of this application.
Besides these features, the user can choose
the quality of the video before downloading
it. The user can also download an MP3
sound file of the desired video.

And the GUI is very user friendly and easy


to understand.

12
6. Input/output Requirements
• For Input:-
1. Standard Keyboard
2. Standard Mouse

• For Output: -
1. Standard Monitor

• Other Necessary Requirements: -


1. Python 3 (> 3.5)
2. Modules Required:
i. Tkinter
ii. Pytube
3. Windows, Mac, Linux OS only.
4. Minimum Hardware Requirement
a. 4 GB RAM
b. 64 GB storage
c. Standard CPU
13
7. Future Scope of the Project
Below are some extra features that can be added
in the future, to the project to make it more
efficient: -

Downloading multiple videos: -

The basic task of downloading the multiple videos


is same as downloading a single video. We can
use a for loop for downloading the video.

Revealing various Information about the


Video: -

Now, when we have the link, we can play with the


link and reveal all sorts of information about the
video like its title, number of views, ratings,
description, length of the video and various other
things.

14
The Option for downloading the thumbnail: -

We can also provide the option for downloading


the thumbnail of video in high quality.

8.Conclusion
With the help of this project and the

application discussed in it, the user can

download any YouTube video for their

office presentation, or for their school

work, or to just watch videos offline,

without the fear of malware and

inappropriate Ads.

In the end, we can safely say that I have

managed to create a prototype or early

15
version of a fully functional Python

YouTube Video Downloader that can be

used in day-to-day life and is user

friendly.

# working python YouTube video


downloader.

16
17
#CODE
from tkinter import *
from tkinter import ttk
from tkinter import filedialog
from pytube import YouTube #pip install pytube3

Folder_Name = ""

#file location
def openLocation():
global Folder_Name
Folder_Name = filedialog.askdirectory()
if(len(Folder_Name) > 1):
locationError.config(text=Folder_Name,fg="green")

else:
locationError.config(text="Please Choose Folder!!",fg="red")

#donwload video
def DownloadVideo():
choice = ytdchoices.get()
url = ytdEntry.get()

if(len(url)>1):
ytdError.config(text="")
yt = YouTube(url)

18
if(choice == choices[0]):
select = yt.streams.filter(progressive=True).first()

elif(choice == choices[1]):
select = yt.streams.filter(progressive=True,file_extension='mp4').last()

elif(choice == choices[2]):
select = yt.streams.filter(only_audio=True).first()

else:
ytdError.config(text="Paste Link again!!",fg="red")

#download function
select.download(Folder_Name)
ytdError.config(text="Download Completed!!")

root = Tk()
root.title("YTD Downloader")
root.geometry("350x400") #set window
root.columnconfigure(0,weight=1)#set all content in center.

#Ytd Link Label


ytdLabel = Label(root,text="Enter the URL of the Video",font=("jost",15))
ytdLabel.grid()

#Entry Box
ytdEntryVar = StringVar()

19
ytdEntry = Entry(root,width=50,textvariable=ytdEntryVar)
ytdEntry.grid()

#Error Msg
ytdError = Label(root,text="Error Msg",fg="red",font=("jost",10))
ytdError.grid()

#Asking save file label


saveLabel = Label(root,text="Save the Video File",font=("jost",15,"bold"))
saveLabel.grid()

#btn of save file


saveEntry = Button(root,width=10,bg="red",fg="white",text="Choose Path",command=openLocation)
saveEntry.grid()

#Error Msg location


locationError = Label(root,text="Error Msg of Path",fg="red",font=("jost",10))
locationError.grid()

#Download Quality
ytdQuality = Label(root,text="Select Quality",font=("jost",15))
ytdQuality.grid()

#combobox
choices = ["1080p","720p","480p","360p","144p","Only Audio"]
ytdchoices = ttk.Combobox(root,values=choices)
ytdchoices.grid()

#donwload btn

20
downloadbtn =
Button(root,text="Donwload",width=10,bg="red",fg="white",command=DownloadVideo)
downloadbtn.grid()

#developer Label
developerlabel = Label(root,text="SMK Developers",font=("jost",15))
developerlabel.grid()
root.mainloop()

21

You might also like