Skip to content
forked from oop7/YTSage

Modern YouTube downloader with a clean PySide6 interface. Download videos in any quality, extract audio, fetch subtitles, sponserBlock, and view video metadata. Built with yt-dlp for reliable performance.

License

Notifications You must be signed in to change notification settings

iamnarayana/YTSage

 
 

Repository files navigation

🎥 YTSage

YTSage Interface

PyPI version License: MIT Python 3.7+ Downloads GitHub Stars

A modern YouTube downloader with a clean PySide6 interface.
Download videos in any quality, extract audio, fetch subtitles, and more.

InstallationFeaturesUsageScreenshotsContributing


✨ Features

Core Features Advanced Features Extra Features
🎥 Format Table 🚫 SponsorBlock Integration 💾 Save Download Path
🎵 Audio Extraction 📝 Multi-Subtitle Select & Merge 🔄 Auto-Update yt-dlp
✨ Simple UI 💾 Save Description 🛠️ FFmpeg/yt-dlp Detection
📋 Playlist Support 🖼️ Save thumbnail ⚙️ Custom Commands
🖼️ Playlist Selector 🚀 Speed Limiter 🍪 Login with Cookies
✂️ Trim Video Sections

🚀 Installation

Quick Install (Recommended)

pip install ytsage
# Run the application
ytsage

📦 Other Installation Methods

Pre-built Executables

  • 🪟 Windows: YTSage.exe
  • 🪟 Windows: YTSage-ffmpeg.exe (Includes FFmpeg)
  • 🐧 Linux: YTSage_{version}_amd64.deb
  • 🐧 Linux: YTSage-x86_64.AppImage
  • 🍎 macOS: YTSage-macOS-app.zip
  • 🍎 macOS: YTSage-{version}.dmg
🛠️ Manual Installation from Source
# Clone repository
git clone https://github.com/oop7/YTSage.git

# Navigate to directory
cd YTSage

# Install dependencies
pip install -r requirements.txt

# Run application
python main.py

📸 Screenshots

Main Interface Playlist Download
Main Interface Playlist Download
Audio Format Selection with Save Thumbnail Subtitle Options merged with Remove Sponsor Segments
Audio Format Subtitle Options

📖 Usage

🎯 Basic Usage
  1. Launch YTSage
  2. Paste YouTube URL (or use "Paste URL" button)
  3. Click "Analyze"
  4. Select Format:
    • Video for video downloads
    • Audio Only for audio extraction
  5. Choose Options:
    • Enable subtitles & select language
    • Enable subtitle merge
    • Save thumbnail
    • Remove sponsor segments
    • Save description
  6. Select Output Directory
  7. Click "Download"
📋 Playlist Download
  1. Paste Playlist URL
  2. Click "Analyze"
  3. Select videos from the playlist selector (optional, defaults to all)
  4. Choose desired format/quality
  5. Click "Download"

💡 The application automatically handles the download queue

🧰 Advanced Options
  • Quality Selection: Choose the highest resolution for best quality
  • Subtitle Options: Filter languages and embed into video
  • Custom Commands: Access advanced yt-dlp features
  • Save Description: Save the description of the video
  • Save Thumbnail: Save the thumbnail of the video
  • Remove Sponsor Segments: Remove sponsor segments from the video
  • Speed Limiter: Limit the download speed
  • Login with Cookies: Login to YouTube using cookies to access private content
    How to use it:
    1. Extract cookies from your browser using an extension like cookie-editor
    2. Copy the cookies in Netscape format
    3. Create a file named cookies.txt and paste the cookies into it
    4. Select the cookies.txt file in the app
  • Save Download Path: Save the download path
  • Update yt-dlp: Update yt-dlp
  • FFmpeg/yt-dlp Detection: Automatically detect FFmpeg/yt-dlp
  • Custom Commands: Access advanced yt-dlp features
  • Trim Video: Download only specific parts of a video by specifying time ranges (HH:MM:SS format)
🛠️ Troubleshooting
  • Format table not displaying: Update yt-dlp to the latest version
  • Download fails: Check your internet connection and ensure the video is available
  • Audio extraction issues: Verify FFmpeg is properly installed

🧩 Requirements

  • Python: 3.7 or higher
  • GUI Framework: PySide6
  • Download Engine: yt-dlp
  • Media Processing: FFmpeg
  • Additional Libraries: Pillow, requests, packaging, markdown, pygame

👥 Contributing

We welcome contributions! Here's how you can help:

  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

📊 Star History

Star History Chart

📜 License

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

🙏 Acknowledgments

Technology Purpose
yt-dlp Download Engine
PySide6 GUI Framework
FFmpeg Media Processing
Pillow Image Processing
requests HTTP Requests
packaging Packaging
markdown Markdown Processing
pygame Audio Playback
New Notification 09 by Universfield Notification Sound

⚠️ Disclaimer

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


Made with ❤️ by oop7

About

Modern YouTube downloader with a clean PySide6 interface. Download videos in any quality, extract audio, fetch subtitles, sponserBlock, and view video metadata. Built with yt-dlp for reliable performance.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%