Your Name d72685ca28 Refactor imports and add logging to main.py
Updated import paths to use src.gui and src.core modules. Integrated logger for improved error and status reporting throughout application startup and error handling.
2025-08-16 15:03:31 +03:00
2025-08-16 15:03:18 +03:00
2025-07-04 21:33:49 +03:00
2024-12-26 10:27:13 +02:00
2025-03-10 15:34:34 +02:00

🎥 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

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

S
Description
No description provided
Readme MIT 12 MiB
5.5.2 Latest
2026-08-08 23:38:07 +00:00
Languages
Python 94.2%
Inno Setup 5.8%