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
๐ Issues & ๐ Pull Requests
๐ฅ Downloads
๐ป Codebase
โฑ๏ธ Activity
โ๏ธ How to Install
๐ฆ Windows
- Download the latest
YTGet-Windows.ziprelease. - Extract the contents.
- Run
YTGet.exe.
๐ง Linux
- Download the latest
YTGet-Linux.tar.gzrelease. - Extract the contents.
tar -xzf YTGet-ubuntu-latest.tar.gz
- Make it executable and launch:
chmod +x YTGet
./YTGet
๐ macOS
- Download the latest
YTGet-macOS.tar.gzrelease. - Extract the contents.
tar -xzf YTGet-macos-latest.tar.gz
- If macOS blocks the app, remove the quarantine flag:
xattr -d com.apple.quarantine YTGet.app
- 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
- ๐ฆ Extract the downloaded
.zipfile. - โถ๏ธ Launch
YTGet.exe. - ๐ Paste a YouTube URL.
- ๐๏ธ Select format (e.g., 1080p MKV or MP3).
- โฌ๏ธ Click โ Add to Queue.
- โฌ๏ธ 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:
- Export cookies using Get cookies.txt extension.
- Place the file in
_internal/cookies.txt.
โ๏ธ Requirements
- โ No installation โ just unzip and run.
- ๐ช Windows 10+ (64-bit).
๐ง Development Setup
Prerequisites
- Python 3.13+
- FFmpeg (Add to PATH or project folder)
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
-
Fork & clone the repo
-
Create a feature branch: git checkout -b my-feature
-
Commit & push: git commit -m "msg" && git push origin my-feature
-
Open a Pull Request
๐ License
This project is licensed under the MIT License. See the LICENSE file for full details.
๐ฆ Download
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
07f54edadae2237d1977389477b933e232175ebe0d78b81ebca2c43113438dc4
|
|
| MD5 |
12a425ed8a9a0fcee863575b49b6dc1e
|
|
| BLAKE2b-256 |
9950b79cbe5e45505ac66acc22fe11896e9cb82d10953b60f9657cfdde543820
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
27a8248c3b264d61e099f6c42bdc12fc506bf456202c31083ddc8bc194f80bc8
|
|
| MD5 |
eb3af7931b0fc69bfb98c45417fd45c2
|
|
| BLAKE2b-256 |
33d4ce3d3902d2c25a39f267637a8c999093bc7d363693b41e40245e4bc6ac74
|