youtube_dl_GUI is intended to serve as a basic interface for downloading YouTube videos/audio tracks/playlists that can be easily shared and used by non-programmers. youtube_dl_GUI can be run as a standalone .exe by running /dist/youtube_dl_GUI.exe
Updating EXE to latest version of yt-dlp (prev version was broken)
Migrating from youtube-dl to yt-dlp fork. Original repo is now broken and may not be maintained, yt-dlp fork is actively maintained.
- Run standalone youtube_dl_GUI.exe in the
/dist
folder. (Alternatively, you can run the python code youtube_dl_GUI.py - setup in "Developer Setup" section below) - Enter the URL of the video / playlist you want to download into the top "URL" textbox.
- Then enter the folder to save the video to in the "Output Folder" textbox.
- Next choose the video format
- To download the highest quality of video, select the video format
Video - Best Quality
- If you only want the audio (saved as .mp3), select
Audio Only - Best Quality
- If you want a specific video format, click the
Detect All Formats
button, which will fetch the available video formats and populate the dropdown with the available formats. Warning: some of these formats may be video only or audio only!
- To download the highest quality of video, select the video format
- Click the Download button. Output will display to the console.
Just set up Python3 with libraries PyQT5 (pip install pyqt5
) and youtube_dl (pip install yt-dlp
), and you should be able to run the code.
To build the code into an .exe using PyInstaller (easier to do this in an virtual environment):
- Install PyInstaller:
pip install pyinstaller
- Make sure you have PyQT5 and yt-dlp installed
- cd to the directory containing youtube_dl_GUI.py
- Run command:
pyinstaller.exe youtube_dl_GUI.py --onefile --hidden-import PyQt5.sip
Make sure you have the latest version of the code! Youtube changes things frequently, so use the latest version of the executable in this repository. If you are a developer, use pip install --upgrade yt-dlp
in the command line to make sure you have the latest library version.
- Make sure you have the Python 3.6+ with proper libraries installed with
pip install -r fastapi_requirements.txt
- Start the webserver with
python server.py
oruvicorn server:app --reload
- Open
localhost:8000
in your web browser (HTML templating is kept basic for demo purposes). - API documentation located at
localhost:8000/docs