A GUI program that runs on top of yt-dlp and ffmpeg to download videos and audio. This project is only for educational purpose DO NOT SELL . DO NOT
plagiarize. USE AT YOUR RISK . I DO NOT PROMOTE ANY ILLEGAL DOWNLOADS .
Version 23.xx.yy coming soon....
Update model 3 will built using python 3.8.10
Windows 7 support will be dropped in Oct 2024.
yt-dlp and youtube-dl licensed under The Unlicense
FFmpeg is licensed under the GNU Lesser General Public License (LGPL) version 2.1 or later.
AtomicParsley is licensed under GPL-2.0 license
pygame is licensed under GNU LGPL version 2.1
More Screenshots
Installation demo
Full demo
Features⬇️\Application➡️ | Ytdl | 4k downlader | YTD Downloader | yt1s website |
---|---|---|---|---|
Video download YouTube | yes | yes | yes | yes |
playlist download | yes | yes | no | no |
Specific video inside playlist | yes | no | no | no |
Audio download | yes | yes | no (Pro) | yes (mp3,m4a) |
Converter | yes | no | yes | no |
8K support | yes | yes | yes | no |
Ads | no | no | yes | yes |
Downlaod limit | no limit | 5/day | no limit | no limit |
thumbnail download | yes | no | no | no |
Captions support | yes | yes | no | no |
Proxy support | yes | no | no | no |
Supported website | 1700+ | 11 | 48 | 2 |
Simultaneous downloads | upto 5 | Pro | Pro | No |
Create custom command | yes | no | no | no |
Metadata | yes | no | no | no |
Updates | yes | yes | yes | - |
Size of application | 37 Mib | 78.5 Mib | 13.7 Mib | - |
Screenshots of changes
Version 22.208.02 and above with dark theme and categorized data.
Select audio ,video and caption stream(s).
Click Browse to browse the location where video/audio will be saved if not clicked default browse location is downloads
Captions support (YouTube)
Thumbnail download
Advanced option to specifically select audio , video separately
Convert video into music MP3(64,128,320 KB/S), M4A , WAV ,FLAC WITH METADATA
Supports upto 5 Youtube downloads parallely
Full application can be updated by clicking on update button (including yt-dlp) version 22.0526.23 or higher required
Variety of supported websites
Proxy support.
Rate limit
File converter
Expanded supported websites
made with python 3.8 and 3.10
multi video supports que
multi video supports more URLs other than youtube.com
Hyper user
Wav format for playlist and more.
☑️Alsina
- Settings menu, history of saved files , auto update(June end)
☑️Transition release
- Help users with old version to migrate to Meteor release
☑️Meteor
- updater changes stable(July-Aug)
☑️Clang
- Regex support in output template, (Sept-Oct)
tag editor.
Output template with regex support.
If you have VLC not installed try using these combination.
Recommended combination of audio and video codecs
MP4 --> video: avc1 & audio: mp4a
WEBM --> video: VP9 & audio : OPUS
NOTE : Files are converted into MKV format since other combination are incompatible
mp3 64K, mp3 320K, m4a, wav, flac available
m4a, mp3 320K, flac includes thumbnail and Metadata
flac , wav formats takes more space than mp3 and m4a
Currently supports Youtube playlist
Enter playlist url select format (144p,240p...,mp3,m4a) hit download
Download specific episodes in playlist
Playlist video items to download. Specify indices of the videos in the playlist separated by commas like:
1,2,5,8
if you want to download videos indexed 1, 2, 5, 8 in the playlist. You can specify range: 1-3,7,10-13
, it will download the videos at index 1, 2, 3, 7,10, 11, 12 and 13.
If nothing is specified whole playlist will be downloaded.
New version demo
old version demo
Playlist demo
Older version watch demo here
Windows 7 support will be dropped in Oct 2024.
Playlist items selector will no longer be based on text input.
Direct terminal option will be shifted to custom command section.(Discontinued)
Full installer will not use program files instead will use {localappdata}
dir, it will remove admin requirement. Program folder will not be used in future. To update uninstall existing version and install August version when available (Updater will not work for older version).
Currently this is supported only on windows.
System Requirement : Windows 7 SP1 or above (x86 & x64)
Execute the following command in powershell
iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/sourabhkv/ytdl/main/WebInstaller%20CLI.ps1'))
Installer Type | Name |
---|---|
Full Installer | Youtube-dl GUI.exe |
Web Installer | Youtube-dl GUI Webinstaller.exe |
Portable Installer | Youtube-dl GUI Portable.zip |
Click Launch button after downloading.
You are ready to go 🚀.
Few update model were tested in past to update application.
Model 1 : Manual updates with admin rights (to make changes directly in programs folder)
Model 2 : Auto updates without admin rights (using C:\Users\<username>\AppData\Local\Youtube-dl GUI
)
Model 1 & 2 required additional component like updater.exe
where as upcoming Model 3 no such additional component is required.
Model 3 : Updater will be baked in main executable. Resulting in size reduction. ytdl will store temporary folder to store update. Each update.zip will contain script.bat to guide how changes will be made.
Model 3 is under development
.
..
Youtube-dl GUI
|--certify
*.*
|--Cryptodome
*.*
|--database
args.txt
cookies.txt
history.txt
loc.txt
log.txt
output_temp_vid.txt
output_temp_plst.txt
|--temp
script.bat
Youtube-dl GUI.exe
*.*(Other files depending upon update)
*.*
If any updates are available ytdl will clear temp dir contents before downloading.
After downloading update script.bat will launch to taskill & delete current Youtube-dl GUI.exe and place new Youtube-dl GUI.exe at same location to prior and perform any other task depending upon update.
- Clone this repository
- Install the following dependencies
python >= 3.8.10
ffmpeg >= 3.3.4
yt-dlp latest version
- ffmpeg and yt-dlp should be placed in cloned dir Libraries
pyinstaller==5.6.2
Pillow==9.4.0
yt-dlp==2023.1.6
virtualenv==20.17.1
pycryptodomex==3.16.0
requests==2.28.1
psutil==5.9.4
pytube==12.1.2
- Run the builder.ps1
- Build will be generated
./dist/Youtube-dl GUI/
folder
- Follow step 1 and 2 as above
- Give permission to builder.sh
chmod +x builder.sh
- Before compiling change few lines in code which ask for logo.ico
- Run the builder.sh
./builder.sh
- Build will be generated
./dist/Youtube-dl GUI/
folder
Youtube-dl GUI not installing
Click on more info then run anyway.
URL not loading
Sometime it takes 1-2 minute to load URL try restarting router or reconnecting internet.
How to use multi video download?
It only supports 5 YouTube url at max (only video playlist excluded). Paste 1st URL then copy 2nd URL then paste spaces will be automatically added. If using keyboard add spaces manually between each URL.
How to download YouTube playlist?
Paste Youtube URL of form https://www.youtube.com/playlist?list=<playlist-id>
How to download specific videos in playlist?
1,2,5,8
if you want to download videos indexed 1, 2, 5, 8 in the playlist.
You can specify range: 1-3,7,10-13
, it will download the videos at index 1, 2, 3, 7,10, 11, 12 and 13.
If nothing is specified whole playlist will be downloaded.
How to download music (MP3,M4A,WAV,FLAC) ?
After loading URL in basic
tab click on checkbox which will enable music formats. Select your desired format and download.
How to update applcation?
Auto updater will check for updates
User can click on update
button to check for update if updates are available user shall be given choice to update.
If unsupported version is detected user will be prompted to forcefully update.
Latest 3 release will be supported for updates. User will be notified with message if existing version support will be dropped in future.
Any other issues join t.me/ytdlgui
NOTE for Windows 7 users
Source python.org
This project is based on python 3.8.10. In future this may use python 3.9+ which is not supported in Windows 7.
yt-dlp (youtube-dl for older version) searches streams available in website and displays streams. sometimes there may only be only video stream(s) available or no streams at all.Using VPN might help. User selects streams and browse location (default location in downloads could be changed). ffmpeg converts it into videos/audios. if m4a is selected audio format ffmpeg uses AtomicParsley to write metadata in m4a file. Pygame window displays live download progress (for older version).
Bugs and suggestions should be reported at: /ytdl/issues Select the type of issue
Bug report
Feature request
Ask a question
Please see the issues section before opening issue
Duplicate issues will not be entertained and make sure you are on latest version
Adding Screenshots/videos will be helpful.
Do not include database files, other dependencies in PR.
This project development started with wish to download youtube physics video(Center of mass) at 240p in March,2021 because 240p quality was managable and took decent amount of mobile data compared to 360p.
Many people don't have technical knowledge of how to use youtube-dl/yt-dlp command line, to make things easier to use (started to port yt-dlp/youtube-dl CLI to GUI) ,I thought of making GUI version of youtube-dl/yt-dlp for those having no knowledge about command line program.
Initially it was a very basic program which lack many features as time passed encountered many bugs and fixed it ,specially giving the live download progress in main window statusbar took almost 2 months to fix this removing black console window at startup was also challenging to fix without using --noconsole
option.
Threading helped execute many function at same time The function popens(cmd) never executed with object oriented programming (OOPs) Tkinter was easy to use and took less space compared to PySide2/PyQt5 After june,2021 there was no update to youtube-dl. Development stopped for 3 months finally backend changed to yt-dlp During this development period many bugs were encountered and fixed , many features were added ,hope this project will be active in future... Need help to make this better so that anyone with poor internet connctivity can learn something.
If you have liked my work and want to support please consider donating.
Help to keep Ytdl active and running by donating. It will be really helpful and appreciated if you donate or contribute to us. Any amount is appreciated.
: sourabhkv@upi
:PinakiSahu
Supported Websites youtube-dl
Supported websites yt-dlp
youtube-dl
yt-dlp
Pytube
ffmpeg
AtomicParsley
Pygame
Inno Setup