Update translated README feature lists to include audio normalization (EBU R128). Applied the change across multiple language files in readme-translations (ar, de, es, fr, hi, id, it, ja, pl, pt, ru, tr, zh) to reflect the new audio normalization feature in the project documentation.
27 KiB
Ein moderner YouTube-Downloader mit einer sauberen PySide6-Oberfläche.
Laden Sie Videos in beliebiger Qualität herunter, extrahieren Sie Audio, rufen Sie Untertitel ab und mehr.
🌍 README-Sprachen
Englisch: EN | Quelle: AR | Deutsch: DE | Spanisch: ES | Französisch: FR | Quelle: HI | Bahasa Indonesien: ID | Italienisch: IT | 日本語: JA | Polnisch: PL | Portugiesisch: PT | Russisch: RU | Türkei: TR | Quelle: ZH
Installation • Funktionen • Verwendung • Screenshots • Fehlerbehebung • Sponsor • Mitwirken
❓ Warum YTSage?
YTSage wurde für Benutzer entwickelt, die einen einfachen, aber leistungsstarken YouTube-Downloader suchen. Im Gegensatz zu anderen Tools bietet es:
- Eine saubere, moderne PySide6-Schnittstelle
- Ein-Klick-Downloads für Video, Audio und Untertitel
- Erweiterte Funktionen wie SponsorBlock, Zusammenführen von Untertiteln und Auswahl von Wiedergabelisten
- Optionaler generischer Modus für von YT-DLP unterstützte Websites außerhalb von YouTube
- Plattformübergreifende Unterstützung und einfache Installation
✨ Funktionen
| Kernfunktionen | Erweiterte Funktionen | Zusätzliche Funktionen |
|---|---|---|
| 🎥 Tabelle formatieren | 🚫 SponsorBlock-Integration | 🎞️ FPS/HDR-Anzeige |
| 🎵 Audioextraktion | 📝 Mehrere Untertitel auswählen und zusammenführen | 🔄 yt-dlp automatisch aktualisieren |
| ✨ Einfache Benutzeroberfläche | 💾 Beschreibung und Miniaturansicht speichern | 🛠️ FFmpeg/yt-dlp/Deno-Erkennung |
| 📋 Playlist-Unterstützung und -Auswahl | 🚀 Geschwindigkeitsbegrenzer | ⚙️ Benutzerdefinierte Befehle |
| 📑 Kapitel einbetten | ✂️ Videoabschnitte zuschneiden | 🍪 Mit Cookies anmelden |
| 📜 Download-Verlauf | 🔄 Kanalauswahl freigeben | 🌐 Proxy-Unterstützung |
| 🎚️ Audioformatkonvertierung | 🎬 Videoformateinstellungen | 🆙 Integrierte Updater-Registerkarte |
| 🌍 Allgemeiner Modus | 🔊 Audio-Normalisierung (EBU R128) | 🌍 Lokalisierung in 14 Sprachen |
🚀 Installation
⚡ Schnellinstallation (empfohlen)
Installieren Sie YTSage von PyPI:
pip install ytsage
🔄Aktualisieren Sie eine vorhandene Installation
pip install --upgrade ytsage
Starten Sie dann die App:
ytsage
📦 Vorgefertigte ausführbare Dateien
🪟 Windows
| Formatieren | Beschreibung |
|---|---|
| Standardinstallationsprogramm | |
| Mit FFmpeg gebündelt | |
| Portable Version, keine Installation erforderlich | |
| Tragbar mit FFmpeg, gezippt |
🛠️ Installationsschritte
- EXE-Installationsprogramm (
.exe): Doppelklicken Sie auf die Datei und folgen Sie dem Setup-Assistenten. - Portable Version (
.zip): Extrahieren Sie das Archiv an den gewünschten Speicherort und führen Sieytsage.exeaus. - FFmpeg gebündelt: Wählen Sie die gebündelten FFmpeg-Versionen, wenn Sie FFmpeg nicht auf Ihrem System installiert haben.
🐧 Linux
| Formatieren | Beschreibung |
|---|---|
| Debian-Paket | |
| AppImage, tragbar | |
| RPM-Paket | |
| Flatpak-Bundle |
🛠️ Installationsschritte
- DEB (
.deb):sudo dpkg -i ytsage_*.deb sudo apt-get install -f # Fix missing dependencies if any - RPM (
.rpm):sudo rpm -i ytsage-*.rpm - AppImage (
.AppImage):chmod +x YTSage-*.AppImage ./YTSage-*.AppImage - Flatpak: Folgen Sie den Anweisungen auf Flathub oder führen Sie Folgendes aus:
flatpak install flathub io.github.oop7.ytsage
🍎 macOS
| Formatieren | Beschreibung |
|---|---|
| Gezippte Anwendung für Apple Silicon | |
| Disk-Image-Installationsprogramm für Apple Silicon |
🛠️ Installationsschritte
- DMG-Installationsprogramm (
.dmg): Doppelklicken Sie zum Mounten und ziehen Sie dannYTSage.appin Ihren Anwendungsordner. - App-Archiv (
.zip): Extrahieren Sie die ZIP-Datei und verschieben SieYTSage.appin Ihren Anwendungsordner.
Hinweis: Wenn Sie auf den Fehler „App ist beschädigt“ stoßen, sehen Sie sich das macOS troubleshooting section unten an.
💻 Manuelle Installation von der Quelle
1. Klonen Sie das Repository
git clone https://github.com/oop7/YTSage.git
cd YTSage
2. Abhängigkeiten installieren
⚡ Mit UV
uv pip install .
📦 Oder mit Standard-Pip
pip install .
3. Führen Sie die Anwendung aus
python -m ytsage.main
📸 Screenshots
📖 Verwendung
🎯 Grundlegende Verwendung
- YTSage starten
- YouTube-URL einfügen (oder verwenden Sie die Schaltfläche „URL einfügen“)
- Klicken Sie auf „Analysieren“
- Format auswählen:
Videofür Video-DownloadsAudio Onlyzur Audioextraktion
- Optionen wählen:
- Untertitel aktivieren und Sprache auswählen
- Untertitelzusammenführung aktivieren
- Miniaturansicht speichern
- Entfernen Sie Sponsorsegmente
- Beschreibung speichern
- Kapitel einbetten
- Ausgabeverzeichnis auswählen
- Klicken Sie auf „Herunterladen“
💡 Das Standard-Download-Verzeichnis ist der Ordner „Downloads“ des Benutzers.
📋 Playlist-Download
- Playlist-URL einfügen
- Klicken Sie auf „Analysieren“
- Wählen Sie Videos aus der Playlist-Auswahl aus (optional, standardmäßig alle)
- Wählen Sie das gewünschte Format/die gewünschte Qualität
- Klicken Sie auf „Herunterladen“
💡 Die Anwendung verwaltet die Download-Warteschlange automatisch
🌍 Allgemeiner Modus für Nicht-YouTube-Websites
Verwenden Sie den generischen Modus, wenn Sie möchten, dass YTSage URLs von Websites akzeptiert, die von yt-dlp unterstützt werden, wie z. B. Dailymotion, CBC Gem, TikTok und andere.
So verwenden Sie es:
- Öffnen Sie
Download Settings. - Aktivieren Sie
Generic Mode. - Fügen Sie eine unterstützte Nicht-YouTube-Video- oder Playlist-URL ein.
- Klicken Sie auf
Analyze. - Wählen Sie ein Format und laden Sie es wie gewohnt herunter.
Hinweise:
- Der generische Modus ändert nur die URL-Validierung innerhalb von YTSage. Die Zielsite muss weiterhin von Ihrer installierten yt-dlp-Version unterstützt werden.
- Einige Websites erfordern je nach Extraktor Cookies, eine Anmeldesitzung, einen Proxy oder zusätzliche YT-DLP-Argumente.
- Wenn eine Site ausfällt, aktualisieren Sie yt-dlp zunächst über die Registerkarte des integrierten Updaters, bevor Sie das Problem melden.
🧰 Medien- und Download-Optionen
- Untertiteloptionen: Sprachen filtern und Untertitel in die Videodatei einbetten
- Untertitel zusammenführen: Untertitel für fest codierte Untertitel in die Videodatei einbinden
- Beschreibung speichern: Speichern Sie die Videobeschreibung als Textdatei
- Miniaturansicht speichern: Speichern Sie die Miniaturansicht des Videos als Bilddatei
- Kapitel einbetten: Betten Sie Kapitelmarkierungen als Metadaten für kompatible Videoplayer ein
- Sponsorensegmente entfernen: Entfernen Sie Sponsorsegmente aus dem Video mit SponsorBlock
- Video zuschneiden: Laden Sie nur bestimmte Teile eines Videos herunter, indem Sie Zeitbereiche im Format
HH:MM:SSangeben
⚙️ Ausgabe- und Dateieinstellungen
- Geschwindigkeitsbegrenzer: Begrenzen Sie die Download-Geschwindigkeit, zum Beispiel
500Kauf 500 KB/s - Download-Pfad speichern: Speichern Sie den Standard-Download-Pfad für zukünftige Downloads. Verfügbar unter Download-Einstellungen → Download-Pfad.
- Format des Ausgabedateinamens: Passen Sie das Format des Ausgabedateinamens mithilfe von Variablen wie
%(title)s,%(uploader)sund%(resolution)san. Verfügbar unter Download-Einstellungen → Dateinamenformat. - Ausgabeformat erzwingen: Video-Downloads in ein bestimmtes Containerformat wie
mp4,webmodermkverzwingen. Verfügbar unter Download-Einstellungen → Ausgabeformat-Einstellungen. - Audioformatkonvertierung: Konvertieren Sie reine Audio-Downloads in bevorzugte Formate wie
AAC,MP3,FLAC,WAV,Opus,M4A,VorbisoderBest. Verfügbar unter Download-Einstellungen → Audioformat-Einstellungen. - Audio-Normalisierung: Standardisieren Sie die Lautstärke für reine Audio-Downloads mit EBU R128.
🌐 Zugang und Netzwerk
- Mit Cookies anmelden: Melden Sie sich mit Cookies bei YouTube an, um auf private Inhalte zuzugreifen.
So verwenden Sie es:
- Empfohlen: Verwenden Sie die integrierte Option „Extract cookies from browser“ in der App und wählen Sie dann Ihren Browser und optional ein Profil aus.
- Alternativ können Sie Cookies auch manuell extrahieren:
a. Exportieren Sie Cookies aus Ihrem Browser mit einer Erweiterung wie cookie-editor
b. Kopieren Sie die Cookies im Netscape-Format
c. Erstellen Sie eine Datei mit dem Namen
cookies.txtund fügen Sie die Cookies darin ein d. Wählen Sie in der App die Datei „cookies.txt“ aus
- Proxy-Unterstützung: Verwenden Sie einen Proxy-Server für Downloads, zum Beispiel
http://<proxy-server>:<port> - Generischer Modus: Ermöglicht YTSage die Analyse und den Download von Nicht-YouTube-Websites, die von yt-dlp unterstützt werden. Aktivieren Sie es über Download-Einstellungen → Allgemeiner Modus.
🛠️ Werkzeuge und Wartung
- Benutzerdefinierte Befehle: Greifen Sie über Befehlszeilenargumente auf erweiterte yt-dlp-Funktionen zu
- Registerkarte „Updater“: Integrierte Update-Tools von einem Ort aus in den benutzerdefinierten Optionen verwalten:
- yt-dlp-Updates: Suchen Sie nach Updates und wechseln Sie zwischen den Veröffentlichungskanälen Stable und Nightly
- FFmpeg-Versionsprüfer: Überprüfen Sie Ihre FFmpeg-Version und öffnen Sie die Installationsanleitungen
- Deno-Updates: Überprüfen und aktualisieren Sie die Deno-Laufzeitumgebung
- FFmpeg/yt-dlp/Deno-Erkennung: Erkennt automatisch FFmpeg-, yt-dlp- und Deno-Pfade und -Versionen im Info-Dialog.
- Download-Verlauf: Zeigen Sie frühere Downloads mit Miniaturansichten und Status über die Schaltfläche Verlauf an.
🌍 Lokalisierung
YTSage unterstützt 14 Sprachen für weltweite Zugänglichkeit. Wählen Sie Ihre bevorzugte Sprache unter Benutzerdefinierte Optionen → Sprache aus.
Unterstützte Sprachen
| Sprache | Code | Sprache | Code |
|---|---|---|---|
| 🇺🇸 Englisch | en |
🇪🇸 Spanisch | es |
| 🇸🇦 Arabisch | ar |
🇫🇷 Französisch | fr |
| 🇩🇪 Deutsch | de |
🇮🇳 Hindi | hi |
| 🇮🇩 Indonesisch | id |
🇮🇹 Italienisch | it |
| 🇯🇵 Japanisch | ja |
🇵🇱 Polnisch | pl |
| 🇧🇷 Portugiesisch | pt |
🇷🇺 Russisch | ru |
| 🇹🇷 Türkisch | tr |
🇨🇳 Chinesisch | zh |
README-Übersetzungen
| Sprache | Datei | Sprache | Datei |
|---|---|---|---|
| 🇺🇸 Englisch | README.md | 🇪🇸 Spanisch | README.es.md |
| 🇸🇦 Arabisch | README.ar.md | 🇫🇷 Französisch | README.fr.md |
| 🇩🇪 Deutsch | README.de.md | 🇮🇳 Hindi | README.hi.md |
| 🇮🇩 Indonesisch | README.id.md | 🇮🇹 Italienisch | README.it.md |
| 🇯🇵 Japanisch | README.ja.md | 🇵🇱 Polnisch | README.pl.md |
| 🇧🇷 Portugiesisch | README.pt.md | 🇷🇺 Russisch | README.ru.md |
| 🇹🇷 Türkisch | README.tr.md | 🇨🇳 Chinesisch | README.zh.md |
💡 Möchten Sie eine Übersetzung beisteuern? Schauen Sie sich den Abschnitt Contributing an, um uns beim Hinzufügen weiterer Sprachen zu helfen!
🛠️ Fehlerbehebung
Klicken Sie hier, um häufige Probleme und Lösungen anzuzeigen
- Formattabelle wird nicht angezeigt: Aktualisieren Sie yt-dlp auf die neueste Version und wechseln Sie jede Nacht zu yt-dlp.
- Download schlägt fehl: Überprüfen Sie Ihre Internetverbindung und stellen Sie sicher, dass das Video verfügbar ist.
- Spezifische Downloadfehler:
- Private Videos: Verwenden Sie die Cookie-Authentifizierung, um auf private Inhalte zuzugreifen.
- Inhalte mit Altersbeschränkung: Melden Sie sich bei Ihrem YouTube-Konto an, um Videos mit Altersbeschränkung anzusehen.
- Geoblockierte Videos: Erwägen Sie die Verwendung eines VPN, um regionale Beschränkungen zu umgehen.
- Entfernte/gelöschte Videos: Das Video ist nicht mehr auf YouTube verfügbar.
- Live-Streams: Live-Streams können nicht heruntergeladen werden; Warten Sie, bis der Stream beendet ist.
- Netzwerkfehler: Überprüfen Sie Ihre Internetverbindung und versuchen Sie es erneut.
- Ungültige URLs: Stellen Sie sicher, dass die URL korrekt ist und von einer unterstützten Plattform stammt.
- Premium-Inhalte: Erfordert eine YouTube Premium-Mitgliedschaft.
- Urheberrechtliche Sperren: Der Inhalt ist aufgrund von Urheberrechtsbeschränkungen gesperrt.
- Video- und Audiodateien nach dem Download trennen: Dies passiert, wenn FFmpeg fehlt oder nicht erkannt wird. YTSage benötigt FFmpeg, um hochwertige Video- und Audiostreams zusammenzuführen.
- Lösung: Stellen Sie sicher, dass FFmpeg im PATH Ihres Systems installiert und zugänglich ist. Für Windows-Benutzer ist es am einfachsten, die Datei „YTSage-v-ffmpeg.exe“ herunterzuladen, die im Lieferumfang von FFmpeg enthalten ist.
🛡️ Windows Defender/Antivirus-Warnung
Einige Antivirenprogramme kennzeichnen die „.exe“-Dateien möglicherweise als falsch positive Ergebnisse. Dies ist eine bekannte Einschränkung von Paketanwendungen.
Warum das passiert: – Antivirus-Heuristiken können gepackte ausführbare Dateien fälschlicherweise als verdächtig identifizieren
Sichere Alternativen:
- ✅ Pip-Installation verwenden:
pip install ytsage(empfohlen) - ✅ Aus dem Quellcode erstellen: Folgen Sie diesem guide
- ✅ **Setzen Sie die Anwendung in Ihre Antivirensoftware auf die Whitelist
🍎 macOS: „App ist beschädigt und kann nicht geöffnet werden“
Wenn dieser Fehler unter macOS Sonoma oder neuer auftritt, müssen Sie das Quarantäneattribut entfernen.
- Öffnen Sie das Terminal (Sie können es mit Spotlight finden).
- Geben Sie den folgenden Befehl ein, drücken Sie aber noch nicht die Eingabetaste. Achten Sie darauf, das Leerzeichen am Ende einzufügen:
xattr -d com.apple.quarantine - **Ziehen Sie die Datei „YTSage.app“ aus Ihrem Finder-Fenster und legen Sie sie direkt im Terminalfenster ab. Dadurch wird automatisch der richtige Dateipfad eingefügt.
- Drücken Sie die Eingabetaste, um den Befehl auszuführen.
- Versuchen Sie erneut, YTSage.app zu öffnen. Es sollte jetzt korrekt starten.
Konfigurationsorte (Erweitert)
- Windows:
%LOCALAPPDATA%\YTSage - macOS:
~/Library/Application Support/YTSage - Linux:
~/.local/share/YTSage
💖 Sponsor
Wenn Sie mit YTSage Zeit sparen, sollten Sie das Projekt sponsern. Durch Sponsoring können Entwicklungszeit, plattformübergreifende Tests und zukünftige Verbesserungen abgedeckt werden.
- GitHub-Sponsoren: https://github.com/sponsors/oop7
- Der Sponsor-Link ist auch direkt in der App im Info-Dialog verfügbar.
👥 Mitwirken
Wir freuen uns über Beiträge! So können Sie helfen:
- 🍴 Forken Sie das Repository
- 🌿 Erstellen Sie Ihren Feature-Branch:
git checkout -b feature/AmazingFeature
- 💾 Übernehmen Sie Ihre Änderungen:
git commit -m 'Add some AmazingFeature'
- 📤 Zur Filiale schieben:
git push origin feature/AmazingFeature
- 🔄 Öffnen Sie eine Pull-Anfrage
🌍 Mitwirkende Übersetzungen
- Aktualisieren Sie die passende lokalisierte README-Datei (zum Beispiel
README.es.md) - Halten Sie App-Strings synchron, indem Sie
ytsage/languages/<code>.jsonbearbeiten - Wenn Ihre Sprache fehlt, beginnen Sie mit
README.mdund erstellen SieREADME.<code>.md
📂 Projektstruktur
YTSage – Projektstruktur
Dieses Dokument beschreibt die organisierte Ordnerstruktur von YTSage.
📁 Projektstruktur
YTSage/
├── 📁 .github/ # GitHub configuration
│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates
│ │ └── 🐛-bug-report.md # Bug report template
│ ├─── 📁 workflows/ # GitHub Actions workflows
│ │ ├── build-linux.yml # Linux build workflow
│ │ ├── build-macos.yml # macOS build workflow
│ │ │── build-windows.yml # Windows build workflow
| | └── release-all.yml # Master release workflow
│ └── 📄 CI_CD_README.md # CI/CD documentation
├── 📁 branding/ # Branding assets (Screenshots, SVGs)
│ ├── 📁 icons/ # Application icons
│ ├── 📁 screenshots/ # Screenshots for documentation
│ └── 📁 svg/ # SVG assets
├── 📄 LICENSE # License file
├── 📄 pyproject.toml # Project metadata and dependencies
├── 📄 README.md # Project documentation
├── 📄 requirements.txt # Python dependencies (dev)
└── 📁 ytsage/ # Source package
├── 📁 assets/ # Runtime assets
│ ├── 📁 Icon/ # Application icons
│ └── 📁 sound/ # Audio files
├── 📁 languages/ # Localization files
│ ├── 📄 ar.json # Arabic translation
│ ├── 📄 de.json # German translation
│ ├── 📄 en.json # English translation
│ └── ... # Other languages
├── 📁 core/ # Core business logic
│ ├── 📄 __init__.py # Core package init
│ ├── 📄 ytsage_deno.py # Deno integration
│ ├── 📄 ytsage_downloader.py # Download functionality
│ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration
│ ├── 📄 ytsage_utils.py # Utility functions
│ └── 📄 ytsage_yt_dlp.py # yt-dlp integration
├── 📁 gui/ # User interface components
│ ├── 📄 __init__.py # GUI package init
│ ├── 📄 ytsage_gui_main.py # Main application window
│ └── 📁 ytsage_gui_dialogs/ # Dialog classes
├── 📁 utils/ # Utility modules
│ ├── 📄 __init__.py # Utils package init
│ ├── 📄 ytsage_config_manager.py # Configuration management
│ └── 📄 ytsage_logger.py # Logging utilities
├── 📄 __init__.py # Package entry point
└── 📄 main.py # Main execution script
⭐️ Sterngeschichte
📜 Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei „LICENSE“.
🙏 Danksagungen
Danksagungen anzeigen
Ein herzliches Dankeschön an alle, die zu diesem Projekt beigetragen haben, indem sie ein Problem geöffnet haben, um eine Verbesserung vorzuschlagen oder einen Fehler zu melden.
| Kernkomponenten | |
|---|---|
| yt-dlp | Download Engine |
| FFmpeg | Medienverarbeitung |
| Deno | Laufzeit für die Integration mit yt-dlp |
| Bibliotheken und Frameworks | |
| PySide6 | GUI-Framework |
| Kissen | Bildverarbeitung |
| Anfragen | HTTP-Anfragen |
| Verpackung | Versions- und Pakethandhabung |
| Abschlag | Markdown-Rendering |
| loguru | Protokollierung |
| Vermögenswerte und Mitwirkende | |
| Neue Benachrichtigung 09 von Universfield | Benachrichtigungston |
| viru185 | Code-Mitwirkender |
⚠️ Haftungsausschluss
Dieses Tool ist nur für den persönlichen Gebrauch bestimmt. Bitte respektieren Sie die Nutzungsbedingungen und die Rechte der Inhaltsersteller von YouTube.
Hergestellt mit ❤️ von oop7



