Skip to content
/ YTSage Public

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

oop7/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.

Installation β€’ Features β€’ Usage β€’ Screenshots β€’ Contributing


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

Topics

Resources

License

Stars

Watchers

Forks

Languages