A powerful and easy-to-use CLI tool to download YouTube videos, playlists, and audio directly to your computer. Built with Python and powered by yt-dlp and FFmpeg.
- Video Downloads: Download single videos in various resolutions (360p, 480p, 720p, 1080p, or Best Available).
- Playlist Downloads: Effortlessly download entire playlists as either Video or Audio files.
- Audio Extraction: Download high-quality audio directly as MP3 files (192kbps).
- Format Compatibility: Automatically merges video and audio into high-quality
.mp4files. - H.264 Conversion: Includes built-in logic to convert videos to H.264 for maximum compatibility across all devices.
- Auto-Update: Automatically checks for and installs
yt-dlpupdates every time you run the app to ensure it stays compatible with YouTube's changes.
The installation scripts will attempt to automatically install these for you if they are missing:
- FFmpeg: Essential for merging high-resolution video and audio.
- Deno: Required for environment support.
- Python 3.8+: Should be installed on your system before running the setup.
The repository includes setup scripts that handle dependency installation (including FFmpeg and Deno) and environment configuration.
- Open PowerShell as Administrator (required for
wingetto install FFmpeg/Deno). - Run the setup script:
./setup.ps1
- Open your terminal.
- Make the script executable and run it:
chmod +x setup.sh ./setup.sh
Simply run the start script, and the interactive CLI will guide you through the process.
- Windows:
./start.ps1 - Linux / macOS:
./start.sh
- Choose Download Type: Select (1) Video, (2) Playlist, or (3) Audio.
- Enter URL: Paste the YouTube link you want to download.
- Save Directory: Enter a path to save the file (or leave blank to save in the current folder).
- Choose Quality: For videos, select your preferred resolution (e.g.,
1080p). - Confirm: The app will show you the video title and estimated size. Type
yto start the download!
- yt-dlp: Used for high-speed metadata extraction and downloading.
- FFmpeg: Handles the merging of separate video and audio streams into a single MP4 file.
- Virtual Environment: The scripts automatically create and manage a
.venvfolder to keep your system Python clean.