Skip to content

edb616321/QuickTube

Repository files navigation

QuickTube - Simple YouTube Downloader

Overview

QuickTube is a simple, clean YouTube downloader with a GUI interface. Just paste a URL and click download - that's it!

Features

Core Features

  • Simple Interface - Paste URL, click download, done
  • Single Video or Channel - Download one video or entire channels
  • Real-time Progress - Watch downloads happen live
  • Download History - Track what you've downloaded
  • Quality Settings - Choose video quality (best, 1080p, 720p, 480p)
  • Audio Only Option - Download as MP3
  • Clean UI - Matches CCL launcher theme

Search Tab (New in 2026-01)

  • YouTube Search - Search videos without leaving the app
  • Video Preview Panel - See thumbnail, title, duration before downloading
  • 30-Second Preview Clips - Preview videos with embedded VLC player
  • Quick Links - Open video/channel in browser directly
  • Batch Selection - Select multiple videos to download at once
  • Open Folder Button - Quick access to downloads folder in tab bar

Codec Compatibility (Added 2025-12)

  • Automatic Codec Detection - Scans downloads using FFprobe
  • Compatibility Warnings - Alerts for problematic files (Opus audio, VP9/AV1 video)
  • One-Click Conversion - Convert incompatible files to H.264 + AAC
  • Mobile/PLEX Friendly - Ensures videos work on all devices

Installation

Required

pip install yt-dlp customtkinter pyperclip pillow requests python-vlc

External Requirements

  • FFmpeg - For codec detection and conversion
  • VLC Media Player - For embedded video preview playback

Download Folder

All videos save to: D:\stacher_downloads

Usage

Launch QuickTube

cd D:\QuickTube
python quicktube.py

Download Tab - Single Video

  1. Copy YouTube video URL
  2. Click Paste URL (or Ctrl+V)
  3. Click Download Video
  4. Watch progress in real-time
  5. Done! File is in D:\stacher_downloads

Download Tab - Entire Channel

  1. Copy YouTube channel URL
  2. Click Paste URL
  3. Click Download Channel
  4. Confirm you want to download all videos
  5. Videos download one by one
  6. All videos save to D:\stacher_downloads\[Channel Name]\

Search Tab

  1. Enter search terms in the search box
  2. Click Search or press Enter
  3. Browse results with thumbnails on the left
  4. Click Preview on any result to see details in the preview panel
  5. Click Play 30s Preview to watch a clip embedded in the app
  6. Check boxes to select videos for download
  7. Click Download Selected to download all checked videos

Supported URLs

  • Single videos: https://youtube.com/watch?v=...
  • Short links: https://youtu.be/...
  • Channels: https://youtube.com/@channelname
  • Playlists: https://youtube.com/playlist?list=...

Settings

Click Settings to configure:

Video Quality

  • Best (default) - Highest quality available
  • 1080p - Full HD
  • 720p - HD
  • 480p - SD

Audio Only

  • Check this to download MP3 audio only (no video)

Codec Options

  • Check Compatibility - Scan downloads for codec issues (default: on)
  • Auto Convert - Automatically convert incompatible files (default: off)
  • Prefer H.264 - Request H.264 codec from YouTube when available

Codec Detection & Compatibility

QuickTube automatically checks downloaded videos for compatibility issues with mobile devices and media servers like PLEX.

The Problem

YouTube sometimes encodes videos with codecs that don't work well on all devices:

  • Opus audio in MP4 - Won't play on many mobile devices or PLEX mobile apps
  • VP9 video - Limited support on older devices
  • AV1 video - Cutting-edge codec with limited device support

Videos may play fine on your computer but fail on phones, tablets, or streaming servers.

Compatibility Levels

Level Video Audio Works On
Excellent H.264 AAC Everything - mobile, PLEX, TV, web
Good H.264 MP3 Most devices
Moderate H.265 AAC Newer devices, some issues
Poor Any Opus Computer only, fails on mobile
Very Poor VP9/AV1 Opus Limited device support

Conversion Options

When a compatibility issue is detected, QuickTube offers:

  1. Convert Now - Convert audio to AAC for mobile compatibility
  2. Skip - Keep the file as-is (works on computer)
  3. Auto-Convert - Enable in settings to always convert problematic files

Recent Updates

2026-01-09 - Embedded Video Preview

  • Added embedded VLC player for preview clips
  • Preview plays inside the app instead of launching external player
  • 30-second clips download via yt-dlp --download-sections

2026-01-09 - Search Tab UI Enhancements

  • Added Open Folder button to tab bar (always visible)
  • Added Video/Channel/Preview link buttons under each search result
  • Added preview panel on right side with thumbnail, title, and action buttons
  • Two-column layout: search results (left) + preview panel (right)

2026-01-09 - Wrong Video Bug Fix

  • Fixed issue where cached videos caused wrong file to be downloaded
  • Added parsing for "has already been downloaded" yt-dlp messages
  • Improved fallback logic to sort temp files by modification time
  • Added auto-cleanup of temp files older than 24 hours

2025-12-20 - Codec Compatibility

  • Added FFprobe-based codec detection
  • Compatibility warnings for Opus audio in MP4
  • Batch conversion tool for problematic files

2025-11-05 - Progress Display Fixes

  • Fixed progress tracking with temp folder architecture
  • Thread-safe UI updates
  • Clean output without ANSI codes
  • Duplicate file handling dialog

File Organization

Single Video

D:\stacher_downloads\
└── Video Title.mp4

Channel Downloads

D:\stacher_downloads\
└── Channel Name\
    ├── Video 1.mp4
    ├── Video 2.mp4
    └── Video 3.mp4

Files

D:\QuickTube\
├── quicktube.py           # Main application
├── codec_utils.py         # Codec detection utilities
├── settings.json          # User preferences
├── download_history.json  # Download history
├── temp/                  # Temporary download folder
├── logs/                  # Application logs
├── README.md              # This file
└── FIXES.md               # Bug fix documentation

Troubleshooting

Preview Not Playing in App

  • Ensure VLC Media Player is installed
  • Check that python-vlc package is installed: pip install python-vlc
  • Check logs in D:\QuickTube\logs\ for errors
  • Falls back to external player if embedded fails

Wrong Video Downloaded

  • This was fixed in 2026-01-09 update
  • Temp folder is now auto-cleaned every 24 hours
  • If issue persists, manually clear D:\QuickTube\temp\

"Sign in to confirm you're not a bot" Error

  1. Open Firefox
  2. Go to youtube.com
  3. Make sure you're logged in (you should see your profile icon)
  4. Restart QuickTube

Open Folder Not Working

  • Ensure download folder exists
  • App will create folder if missing
  • Falls back to subprocess if os.startfile fails

Download Fails

  • Check your internet connection
  • Video might be private or age-restricted
  • Try updating yt-dlp: pip install --upgrade yt-dlp

Codec Compatibility Issues

  • Files with Opus audio may not play on mobile/PLEX
  • Use the conversion feature to convert to AAC audio
  • Check D:\stacher_downloads\*_Converted\ for converted files

Integration with CCL

Add QuickTube to your Command Center LaunchPad:

{
  "name": "QuickTube",
  "path": "D:\\QuickTube\\quicktube.py",
  "category": "Media",
  "monitor": 0
}

Keyboard Shortcuts

  • Ctrl+V - Paste URL from clipboard
  • Enter - Submit search (in search tab)

YouTube Authentication

YouTube requires authentication to bypass bot detection. QuickTube handles this automatically.

How It Works

  1. Stay logged into YouTube in Firefox (your normal browser)
  2. QuickTube automatically reads Firefox cookies on startup
  3. Downloads work without any manual steps

Requirements

  • Firefox browser installed
  • Logged into YouTube in Firefox

Advanced: Command Line

QuickTube uses yt-dlp behind the scenes. You can also use it directly:

# Download single video
yt-dlp -o "D:\stacher_downloads\%(title)s.%(ext)s" [URL]

# Download channel
yt-dlp -o "D:\stacher_downloads\%(uploader)s\%(title)s.%(ext)s" --yes-playlist [CHANNEL_URL]

# Audio only
yt-dlp -f bestaudio -x -o "D:\stacher_downloads\%(title)s.%(ext)s" [URL]

Support

For issues with:


Built with CustomTkinter and yt-dlp | Theme matches CCL Launcher

About

Simple YouTube Downloader with search, preview, and codec compatibility

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages