Skip to main content

A GUI YouTube downloader powered by yt-dlp

Project description

๐ŸŽฌ YTGet โ€” Cross-Platform YouTube Downloader

YTGet GUI is a modern, lightweight, and user-friendly desktop application built with Python and PySide6.
Powered by yt-dlp, it makes downloading YouTube videos, playlists, and music simple and efficient.

  • ๐Ÿ–ฅ๏ธ Cross-Platform: Runs seamlessly on Windows, macOS, and Linux.
  • ๐Ÿ“ฆ Standalone: Each release comes with all dependencies bundled, so it works right out of the box.
  • โšก Optimized & Stable: Designed for smooth performance with smart resource handling, and built-in update management.
  • ๐ŸŽต Versatile: Supports full videos, playlists, and music downloads in multiple formats.

Whether youโ€™re grabbing a single clip or archiving an entire channel, YTGet delivers a polished and seamless experience on every operating system.


๐Ÿ“Š Repository Stats

๐ŸŒŸ Community

GitHub repo stars GitHub forks GitHub watchers

๐Ÿ› Issues & ๐Ÿ”€ Pull Requests

GitHub issues GitHub closed issues GitHub pull requests GitHub closed PRs

๐Ÿ“ฅ Downloads

GitHub all releases GitHub release (latest by date)

๐Ÿ’ป Codebase

GitHub repo size GitHub code size in bytes GitHub language count GitHub top language

โฑ๏ธ Activity

GitHub last commit GitHub commit activity


โ˜„๏ธ How to Install

๐Ÿ“ฆ Windows

  1. Download the latest YTGet-Windows.zip release.
  2. Extract the contents.
  3. Run YTGet.exe.

๐Ÿง Linux

  1. Download the latest YTGet-Linux.tar.gz release.
  2. Extract the contents.
tar -xzf YTGet-ubuntu-latest.tar.gz
  1. Make it executable and launch:
chmod +x YTGet
./YTGet

๐Ÿ macOS

  1. Download the latest YTGet-macOS.tar.gz release.
  2. Extract the contents.
tar -xzf YTGet-macos-latest.tar.gz
  1. If macOS blocks the app, remove the quarantine flag:
xattr -d com.apple.quarantine YTGet.app
  1. Launch from Finder or via Terminal:
open YTGet.app

Or run directly:

chmod +x YTGet.app/Contents/MacOS/YTGet
YTGet.app/Contents/MacOS/YTGet

๐Ÿ PyPI Installation

YTGet requires FFmpeg to process media. You can set it up in one of the following ways:

1๏ธโƒฃ Add FFmpeg to PATH (Recommended)

Download the latest FFmpeg build. Extract it and add the bin/ folder to your system PATH so that the ffmpeg command is available globally.

2๏ธโƒฃ Place Binaries in the Program Folder (Alternative)

Download the FFmpeg binaries. Copy ffmpeg.exe and ffprobe.exe into the YTGet installation directory (the same folder as the executable).

3๏ธโƒฃ Install YTGet via pip:

pip install ytget-gui

๐Ÿ”„ How to Update (PyPI version)

To update YTGet GUI installed via pip:

pip install --upgrade ytget-gui

This will fetch the latest version from PyPI and replace the old version automatically.


โœจ Features

๐Ÿ–ฅ๏ธ Interface

  • ๐ŸŽฏ Clean Qt GUI โ€” Intuitive layout with dark-friendly visuals.
  • ๐Ÿ›‘ Cancel Anytime โ€” Gracefully stop downloads at any moment.
  • ๐Ÿ”’ Offline Capable โ€” No Python installation required.

๐Ÿ“ฅ Download Options

  • ๐Ÿ“น Multiple Formats โ€” Download videos from 480p up to 8K.
  • ๐ŸŽต MP3 Mode โ€” High-quality audio extraction with embedded thumbnails & metadata.
  • ๐Ÿ“„ Subtitles โ€” Auto-fetch subtitles (multi-language).
  • ๐Ÿ“‚ Playlist Support โ€” Download entire playlists in audio/video mode.

๐Ÿ”ง Advanced Features

  • โš™๏ธ Persistent Settings โ€” All settings saved to config.json.
  • ๐Ÿš€ Improved Playlist Support โ€” Reverse order, select items, archive tracking.
  • โœ‚๏ธ Clip Extraction โ€” Download video portions by start/end time.
  • โญ๏ธ SponsorBlock โ€” Skip sponsored content, intros, and outros.
  • ๐Ÿงฉ Chapters Handling โ€” Embed or split videos by chapters.
  • ๐ŸŽผ YouTube Music Metadata โ€” Accurate music info and album data.

๐Ÿ›  Functionality

  • ๐ŸŒ Proxy Support โ€” Configure proxies for downloads.
  • ๐Ÿ“… Date Filter โ€” Download videos uploaded after a specified date.
  • ๐Ÿงช Custom FFmpeg Args โ€” Add advanced arguments for power users.
  • ๐Ÿ”Š Audio Normalization โ€” Uniform volume for all downloads.
  • ๐Ÿ—ƒ Channel Organization โ€” Auto-sort videos into uploader folders.
  • โšก Performance Enhancements โ€” Smart rate limiting and retry logic.

๐Ÿ–ผ Screenshots


๐Ÿงฐ How to Use

  1. ๐Ÿ“ฆ Extract the downloaded .zip file.
  2. โ–ถ๏ธ Launch YTGet.exe.
  3. ๐Ÿ”— Paste a YouTube URL.
  4. ๐ŸŽš๏ธ Select format (e.g., 1080p MKV or MP3).
  5. โฌ‡๏ธ Click โž• Add to Queue.
  6. โฌ‡๏ธ Click โ–ถ๏ธ Start Queue.

๐Ÿ“ Output

  • โœ… Clean filenames: %(title)s.ext
  • ๐ŸŽต Audio downloads include:
    • Embedded album art
    • Metadata tags (artist, title, etc.)
    • Subtitles (if available)

๐Ÿงฉ Format Options

Format Description
๐ŸŽž๏ธ 480pโ€“8K MKV video with merged best audio
๐ŸŽต MP3 Audio High-quality audio with tags & thumbnails
๐Ÿ“ƒ Playlist MP3 Batch audio extraction from playlists

๐Ÿ”’ Cookies Support

For age-restricted or private content:

  1. Export cookies using Get cookies.txt extension.
  2. Place the file in _internal/cookies.txt.

โš™๏ธ Requirements

  • โœ… No installation โ€” just unzip and run.
  • ๐ŸชŸ Windows 10+ (64-bit).

๐Ÿ”ง Development Setup

Prerequisites

Setup

# Clone the repo
git clone https://github.com/ErfanNamira/ytget-gui.git

# Navigate to project
cd ytget-gui

# Create & activate virtual environment
python -m venv venv
# Linux/Mac
source venv/bin/activate
# Windows
venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Run app
python -m ytget_gui

๐Ÿค Contribution Guide

  1. Fork & clone the repo

  2. Create a feature branch: git checkout -b my-feature

  3. Commit & push: git commit -m "msg" && git push origin my-feature

  4. Open a Pull Request


๐Ÿ“„ License

This project is licensed under the MIT License. See the LICENSE file for full details.


๐Ÿ“ฆ Download

๐Ÿ‘‰ Latest Release (.zip)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ytget_gui-2.4.7.0.tar.gz (230.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ytget_gui-2.4.7.0-py3-none-any.whl (233.9 kB view details)

Uploaded Python 3

File details

Details for the file ytget_gui-2.4.7.0.tar.gz.

File metadata

  • Download URL: ytget_gui-2.4.7.0.tar.gz
  • Upload date:
  • Size: 230.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ytget_gui-2.4.7.0.tar.gz
Algorithm Hash digest
SHA256 07f54edadae2237d1977389477b933e232175ebe0d78b81ebca2c43113438dc4
MD5 12a425ed8a9a0fcee863575b49b6dc1e
BLAKE2b-256 9950b79cbe5e45505ac66acc22fe11896e9cb82d10953b60f9657cfdde543820

See more details on using hashes here.

File details

Details for the file ytget_gui-2.4.7.0-py3-none-any.whl.

File metadata

  • Download URL: ytget_gui-2.4.7.0-py3-none-any.whl
  • Upload date:
  • Size: 233.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ytget_gui-2.4.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 27a8248c3b264d61e099f6c42bdc12fc506bf456202c31083ddc8bc194f80bc8
MD5 eb3af7931b0fc69bfb98c45417fd45c2
BLAKE2b-256 33d4ce3d3902d2c25a39f267637a8c999093bc7d363693b41e40245e4bc6ac74

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page