Skip to content

TTONREE14/YT-Downloader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YT-Downloader

A terminal-based YouTube downloader for Linux. Paste any channel, playlist, or single video URL — browse, select, and download in MP4 or MP3 with your choice of quality.

Features

  • Channels — paste a channel URL (e.g. https://www.youtube.com/@martyandjamie), then grab the top 20 most popular or hand-pick from the full list
  • Playlists — paste a playlist URL to download the entire playlist or select specific videos
  • Single videos — paste any watch?v=, youtu.be/, or /shorts/ link to download one video directly
  • Smart detection — auto-detects URL type; if a video link contains a playlist, asks whether you want the single video or the full playlist
  • MP4 video — quality options: Best, 1080p, 720p, 480p, 360p
  • MP3 audio — bitrate options: 320, 256, 192, 128, 96 kbps
  • Custom download directory — defaults to ~/Downloads/YT-Downloader
  • Interactive TUI — arrow-key navigation, checkboxes, and rich formatted tables

Requirements

  • Python 3.10+
  • ffmpeg (for MP3 conversion and merging best-quality MP4)

Install ffmpeg if you don't have it:

sudo apt install ffmpeg

Quick Start

# 1. Clone / navigate to the project
cd ~/Documents/YT-Downloader

# 2. Run the installer (creates venv + installs deps)
bash install.sh

# 3. Launch the app
./run.sh

Manual Setup

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python3 downloader.py

Usage

  1. Run ./run.sh
  2. Paste any YouTube URL — channel, playlist, or single video
  3. Channel → Top 20 most popular or select manually
  4. Playlist → Download all or select manually
  5. Video → Confirm and download
  6. Pick format: MP4 or MP3
  7. Choose quality / bitrate
  8. Confirm download directory
  9. Downloads begin!

File Structure

YT-Downloader/
├── downloader.py       # Main application
├── install.sh          # One-time setup script
├── run.sh              # Launch script
├── requirements.txt    # Python dependencies
└── README.md           # This file

About

Terminal-based YouTube downloader for Linux. Download from channels, playlists, or individual videos.

Resources

License

Stars

Watchers

Forks

Contributors