CLI toolkit to download YouTube videos, audio, and playlists using yt-dlp.
sudo pacman -S python ffmpeg git
git clone https://github.com/mjasnaashari/download-engine
cd download-engine
python -m venv env
source env/bin/activate
python -m pip install yt-dlp yt-dlp-ejs requestsRun
source env/bin/activateevery new terminal session.
python yt_download.py -u "URL"
python yt_download.py -u "URL" -q 1080p
python yt_download.py -u "URL" -q audio
python yt_download.py -u "URL" -q 720p -o ~/Videos
python yt_download.py -u "URL" --list-formats
python yt_download.py -u "URL" --browser brave # pass auth to bypass bot blocks
python yt_download.py -u "URL" --cookies cookies.txt # use exported cookies filepython yt_playlist.py -u "URL" # download all (best quality)
python yt_playlist.py -u "URL" -q 720p # specific quality
python yt_playlist.py -u "URL" -q audio -o ~/Music # audio only → MP3
python yt_playlist.py -u "URL" --list # list videos, no download
python yt_playlist.py -u "URL" --start 50 # download from item 50 to end
python yt_playlist.py -u "URL" --start 50 --end 60 # download items 50 to 60
python yt_playlist.py -u "URL" --browser brave # pass auth to bypass bot blocks
python yt_playlist.py -u "URL" --cookies cookies.txt # use exported cookies fileFiles saved as: 01 - Video Title.mp4, 02 - Video Title.mp4 …
python yt_list.py -u "URL" # print to terminal
python yt_list.py -u "URL" -o list.txt # save to fileOutput:
1.
title: Video Title
url: https://www.youtube.com/watch?v=...
2.
title: Video Title
url: https://www.youtube.com/watch?v=...
| Option | Description |
|---|---|
best |
Highest available (default) |
2160p |
4K |
1440p |
2K |
1080p |
Full HD |
720p |
HD |
480p |
SD |
360p |
Low |
240p |
Very low |
worst |
Lowest available |
audio |
Audio only → MP3 |
yt-download/
├── env/ ← virtual environment (not committed)
├── downloads/ ← default output folder (not committed)
├── yt_download.py ← single video
├── yt_playlist.py ← full playlist
├── yt_list.py ← list playlist titles & URLs
├── .gitignore
└── README.md