Skip to content
/ YTSage Public

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.

License

Notifications You must be signed in to change notification settings

oop7/YTSage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

YTSage

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.

Screenshots

Main Interface

Screenshot1

Main interface with video metadata and thumbnail preview

Playlist download support with auto-detection

Screenshot2

Playlist download with auto-detection

Audio Format Selection

Screenshot

Smart format selection with quality options

Subtitle Options

Screenshot3

Support for both manual and auto-generated subtitles

Features

  • 🎥 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

Download

You can download the latest executable from the Releases page.

Pre-built Executables

  • Windows: YTSage.exe
  • macOS: YTSage.app
  • Linux: YTSage.AppImage
  • No installation required - just download and run!

PyPI Package

You can also install YTSage directly from PyPI:

pip install YTSage

Installation

  1. Clone the repository:
git clone https://github.com/oop7/YTSage.git

cd YTSage
  1. Install the required dependencies:
pip install -r requirements.txt
  1. Run the application:
python YTSage.py

Usage

  1. Run the application
  2. Paste a YouTube URL into the input field
  3. Click "Analyze" to load video information
  4. Select your desired format:
    • Choose "Video" for video downloads (will automatically merge with best audio)
    • Choose "Audio Only" for audio extraction
  5. Enable subtitle download if needed
  6. Select the output directory
  7. Click "Download" to start

Additional Steps for Playlist Download:

  1. Paste the Playlist URL: Instead of a single video URL, paste the URL of the entire YouTube playlist into the input field.
  2. Analyze the Playlist: Click "Analyze" to load information for all videos in the playlist.
  3. Select Best Quality: Ensure that the best quality option is selected for both video and audio.
  4. Download the Playlist: Click "Download" to start downloading all videos in the playlist. The application should automatically handle the download queue.

Note:

  • 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.

Requirements

  • Python 3.7+
  • PyQt6
  • yt-dlp
  • Pillow
  • requests
  • ffmpeg
  • packaging

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

Disclaimer

This tool is for personal use only. Please respect YouTube's terms of service and content creators' rights.

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Languages