A modern YouTube downloader with a clean PyQt6 interface. Download videos in any quality, extract audio, fetch subtitles (including auto-generated), and view video metadata. Built with yt-dlp for reliable performance.
Main interface with video metadata and thumbnail preview
Playlist download with auto-detection
Smart format selection with quality options
Support for both manual and auto-generated subtitles
- 🎥 Smart video quality selection with automatic audio merging
- 🎵 Audio-only extraction
- 📝 Manual and auto-generated subtitle support
- ℹ️ Video metadata display (views, upload date, duration)
- 🖼️ Thumbnail preview
- 🎨 Clean, user-friendly interface
- 🚀 Built on yt-dlp for robust downloading
- ⏯️ Download control (pause, resume, and cancel)
- 📊 Real-time progress tracking (speed, ETA, percentage)
- 📝 Built-in yt-dlp log viewer
- ⚙️ Custom yt-dlp command support
- 📋 Playlist download support with auto-detection
- 💾 Save download path memory
- 🔄 Automatic updates checker
⚠️ User-friendly error messages- 🛠️ FFmpeg installation checker and guide
You can download the latest executable from the Releases page.
- Windows:
YTSage.exe
- macOS:
YTSage.app
- Linux:
YTSage.AppImage
- No installation required - just download and run!
You can also install YTSage directly from PyPI:
pip install YTSage
- Clone the repository:
git clone https://github.com/oop7/YTSage.git
cd YTSage
- Install the required dependencies:
pip install -r requirements.txt
- Run the application:
python YTSage.py
- Run the application
- Paste a YouTube URL into the input field
- Click "Analyze" to load video information
- Select your desired format:
- Choose "Video" for video downloads (will automatically merge with best audio)
- Choose "Audio Only" for audio extraction
- Enable subtitle download if needed
- Select the output directory
- Click "Download" to start
- Paste the Playlist URL: Instead of a single video URL, paste the URL of the entire YouTube playlist into the input field.
- Analyze the Playlist: Click "Analyze" to load information for all videos in the playlist.
- Select Best Quality: Ensure that the best quality option is selected for both video and audio.
- Download the Playlist: Click "Download" to start downloading all videos in the playlist. The application should automatically handle the download queue.
- Best Quality: Always select the highest available resolution (e.g., 1080p, 4K) for video and the best audio format (e.g., 320kbps) for the best experience.
- Subtitle Download: If you need subtitles, enable this option before starting the download.
- Output Directory: Choose a directory with enough storage space, especially for large playlists.
By following these steps, you can efficiently download entire playlists in the best quality without encountering issues.
- Python 3.7+
- PyQt6
- yt-dlp
- Pillow
- requests
- ffmpeg
- packaging
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- yt-dlp for the powerful downloading engine
- PyQt6 for the GUI framework
- FFmpeg for the audio and video processing
- Pillow for the image processing
- requests for the HTTP requests
- packaging for the package management
- PyInstaller for the executable creation
This tool is for personal use only. Please respect YouTube's terms of service and content creators' rights.