Refine and standardize wording in readme-translations/README.de.md and README.it.md. Improvements include clearer UI labels (Analyze/Download), consistent terminology for installation and features, corrected language names, updated tables and formatting, improved screenshot alt texts, and various grammar/translation fixes to align both locales with the main README for clarity and consistency.
27 KiB
Ein moderner YouTube-Downloader mit einer eleganten PySide6-Benutzeroberfläche.
Downloaden Sie Videos in jeder Qualität, extrahieren Sie Audio, rufen Sie Untertitel ab und vieles mehr.
🌍 README-Sprachen
Englisch: EN | Arabisch: AR | Deutsch: DE | Spanisch: ES | Französisch: FR | Hindi: HI | Indonesisch: ID | Italienisch: IT | Japanisch: JA | Polnisch: PL | Portugiesisch: PT | Russisch: RU | Türkisch: TR | Chinesisch: ZH
Installation • Funktionen • Bedienung • Screenshots • Fehlerbehebung • Sponsoren • 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 moderne und übersichtliche PySide6-Oberfläche
- Ein-Klick-Downloads für Video, Audio und Untertitel
- Erweiterte Funktionen wie SponsorBlock, Zusammenführen von Untertiteln und Playlist-Auswahl
- Optionaler generischer Modus (Generic Mode) für von yt-dlp unterstützte Seiten außerhalb von YouTube
- Plattformübergreifende Unterstützung und einfache Installation
✨ Funktionen
| Basisfunktionen | Erweiterte Funktionen | Zusätzliche Funktionen |
|---|---|---|
| 🎥 Formattabelle | 🚫 SponsorBlock-Integration | 🎞️ FPS/HDR-Anzeige |
| 🎵 Audio-Extraktion | 📝 Untertitel-Auswahl & Merging | 🔄 Automatisches yt-dlp Update |
| ✨ Einfache Benutzeroberfläche | 💾 Beschreibung & Thumbnail speichern | 🛠️ FFmpeg/yt-dlp/Deno Erkennung |
| 📋 Playlist-Support & Selector | 🚀 Geschwindigkeitsbegrenzer | ⚙️ Benutzerdefinierte Befehle |
| 📑 Kapitel-Integration | ✂️ Videoabschnitte zuschneiden | 🍪 Cookie-Login |
| 📜 Download-Historie | 🔄 Release-Kanal Auswahl | 🌐 Proxy-Support |
| 🎚️ Audioformat-Konvertierung | 🎬 Videoformat-Einstellungen | 🆙 Integrierter Update-Tab |
| 🌍 Generischer Modus | 🔊 Audio-Normalisierung (EBU R128) | 🌍 In 14 Sprachen lokalisiert |
| 💾 Playlist-Export | ⚙️ Standardqualität & Untertitel |
🚀 Installation
⚡ Schnelle Installation (Empfohlen)
Installieren Sie YTSage über PyPI:
pip install ytsage
🔄 Bestehende Installation aktualisieren
pip install --upgrade ytsage
Starten Sie dann die Anwendung:
ytsage
📦 Vorgefertigte ausführbare Dateien
🪟 Windows
| Format | Beschreibung |
|---|---|
| Standard-Installer | |
| Mit integriertem FFmpeg | |
| Portable Version, keine Installation erforderlich | |
| Portable Version mit FFmpeg, gepackt |
🛠️ Installationsschritte
- EXE-Installer (
.exe): Doppelklicken Sie auf die Datei und folgen Sie dem Installationsassistenten. - Portable Version (
.zip): Entpacken Sie das Archiv an den gewünschten Ort und starten Sieytsage.exe. - Integriertes FFmpeg: Wählen Sie die Versionen mit integriertem FFmpeg, falls FFmpeg nicht bereits auf Ihrem System installiert ist.
🐧 Linux
| Format | Beschreibung |
|---|---|
| Debian-Paket | |
| AppImage, portabel | |
| RPM-Paket | |
| Flatpak Bundle |
🛠️ Installationsschritte
- DEB (
.deb):sudo dpkg -i ytsage_*.deb sudo apt-get install -f # Repariert fehlende Abhängigkeiten, falls nötig - 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 aus:
flatpak install flathub io.github.oop7.ytsage
🍎 macOS
| Format | Beschreibung |
|---|---|
| Gepackte App für Apple Silicon | |
| Disk Image Installer für Apple Silicon |
🛠️ Installationsschritte
- DMG-Installer (
.dmg): Doppelklick zum Mounten, dannYTSage.appin den Programme-Ordner ziehen. - App-Archiv (
.zip): Zip entpacken undYTSage.appin den Programme-Ordner verschieben.
Hinweis: Wenn Sie die Fehlermeldung "App ist beschädigt" erhalten, lesen Sie bitte den Abschnitt zur Fehlerbehebung für macOS weiter unten.
💻 Manuelle Installation aus dem Quellcode
1. Repository klonen
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. Anwendung starten
python -m ytsage.main
📸 Screenshots
📖 Bedienung
🎯 Grundlegende Bedienung
- YTSage starten
- YouTube-URL einfügen (oder die Schaltfläche "Paste URL" verwenden)
- Auf "Analyze" klicken
- Format auswählen:
Videofür Video-DownloadsAudio Onlyfür Audio-Extraktion
- Optionen wählen:
- Untertitel aktivieren & Sprache auswählen
- Untertitel-Merging aktivieren
- Thumbnail speichern
- Sponsoren-Segmente entfernen
- Beschreibung speichern
- Kapitel integrieren
- Ausgabeverzeichnis wählen
- Auf "Download" klicken
💡 Das Standard-Download-Verzeichnis ist der "Downloads"-Ordner des Benutzers.
📋 Playlist-Download
- Playlist-URL einfügen
- Auf "Analyze" klicken
- Videos aus dem Playlist-Selector auswählen (optional, standardmäßig alle)
- Gewünschtes Format/Qualität wählen
- Auf "Download" klicken
💡 Die Anwendung verwaltet die Download-Warteschlange automatisch, und Sie können Playlist-Einträge als
.txt,.csv,.m3uoder.jsonexportieren.
🌍 Generischer Modus für Nicht-YouTube-Seiten
Verwenden Sie den generischen Modus (Generic Mode), wenn YTSage URLs von anderen von yt-dlp unterstützten Seiten wie Dailymotion, CBC Gem, TikTok und anderen akzeptieren soll.
So verwenden Sie ihn:
- Öffnen Sie
Download Settings. - Aktivieren Sie
Generic Mode. - Fügen Sie eine unterstützte Video- oder Playlist-URL ein, die nicht von YouTube stammt.
- 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 Zielseite muss weiterhin von Ihrer installierten yt-dlp-Version unterstützt werden.
- Einige Seiten erfordern Cookies, Login, Proxy oder zusätzliche yt-dlp-Argumente je nach Extractor.
- Wenn eine Seite fehlschlägt, aktualisieren Sie zuerst yt-dlp über den integrierten Update-Tab, bevor Sie das Problem melden.
🧰 Medien- & Download-Optionen
- Untertitel-Optionen: Sprachen filtern und Untertitel in die Videodatei einbetten.
- Untertitel-Merging: Mergt Untertitel in die Videodatei für fest eingebrannte (hardcoded) Untertitel.
- Beschreibung speichern: Speichert die Videobeschreibung als Textdatei.
- Thumbnail speichern: Speichert das Video-Thumbnail als Bilddatei.
- Kapitel integrieren: Bettet Kapitelmarken als Metadaten für kompatible Videoplayer ein.
- Sponsoren-Segmente entfernen: Entfernt gesponserte Abschnitte aus dem Video mithilfe von SponsorBlock.
- Video zuschneiden: Laden Sie nur bestimmte Teile eines Videos herunter, indem Sie Zeitbereiche im Format
HH:MM:SSangeben.
⚙️ Ausgabe- & Dateieinstellungen
- Geschwindigkeitsbegrenzer: Begrenzt die Download-Geschwindigkeit, z. B.
500Kfür 500 KB/s. - Download-Pfad speichern: Speichert den Standard-Download-Pfad für zukünftige Downloads. Verfügbar unter Download Settings → Download Path.
- Standard-Videoauflösung: Legen Sie Ihre bevorzugte Videoauflösung für die automatische Auswahl fest (z. B. 1080p, 720p). Verfügbar unter Download Settings → Default Video Resolution.
- Standard-Untertitelsprachen: Legen Sie Standard-Untertitelsprachen für die automatische Auswahl fest (kommagetrennt, z. B.
de,en). Verfügbar unter Download Settings → Default Subtitle Languages. - Dateinamen-Format: Passen Sie das Format des Ausgabedateinamen mit Variablen wie
%(title)s,%(uploader)s,%(playlist_index)sund%(resolution)san. Verfügbar unter Download Settings → Filename Format. - Ausgabeformat erzwingen: Erzwingt Video-Downloads in ein bestimmtes Containerformat wie
mp4,webmodermkv. Verfügbar unter Download Settings → Output Format Settings. - Audioformat-Konvertierung: Konvertiert reine Audio-Downloads in bevorzugte Formate wie
AAC,MP3,FLAC,WAV,Opus,M4A,VorbisoderBest. Verfügbar unter Download Settings → Audio Format Settings. - Audio-Normalisierung: Standardisiert die Lautstärke für reine Audio-Downloads unter Verwendung von EBU R128.
- Gleichzeitige Verbindungen: Erhöhen Sie die Download-Geschwindigkeit erheblich, indem Sie Dateien in mehreren Fragmenten gleichzeitig herunterladen. Verfügbar unter Download Settings → General → Concurrent Connections (Standardmäßig 1, maximal 8-10 empfohlen, um IP-Sperren zu vermeiden).
🌐 Zugriff & Netzwerk
- Cookie-Login: Loggen Sie sich mit Cookies bei YouTube ein, um auf private Inhalte zuzugreifen.
Verwendung:
- Empfohlen: Verwenden Sie die integrierte Option
Extract cookies from browserin der App, wählen Sie dann Ihren Browser und optional ein Profil. - Alternativ können Sie Cookies 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 namens
cookies.txtund fügen Sie die Cookies ein d. Wählen Sie die Dateicookies.txtin der App aus
- Empfohlen: Verwenden Sie die integrierte Option
- Proxy-Support: Verwenden Sie einen Proxy-Server für Downloads, z. B.
http://<proxy-server>:<port> - Generischer Modus: Ermöglicht YTSage das Analysieren und Herunterladen von anderen von yt-dlp unterstützten Seiten. Aktivieren Sie dies unter Download Settings → Generic Mode.
🛠️ Tools & Wartung
- Benutzerdefinierte Befehle: Greifen Sie auf erweiterte yt-dlp-Funktionen über Befehlszeilenargumente zu.
- Update-Tab: Verwalten Sie integrierte Update-Tools an einem Ort in den benutzerdefinierten Optionen:
- yt-dlp Updates: Suchen Sie nach Updates und wechseln Sie zwischen Stable- und Nightly-Release-Kanälen.
- FFmpeg-Versionsprüfung: Überprüfen Sie Ihre FFmpeg-Version und öffnen Sie Installationsanleitungen.
- Deno-Updates: Überprüfen und aktualisieren Sie die Deno-Laufzeitumgebung.
- FFmpeg/yt-dlp/Deno Erkennung: Erkennt Pfade und Versionen von FFmpeg, yt-dlp und Deno automatisch aus dem About-Dialog.
- Download-Historie: Zeigt vergangene Downloads mit Thumbnails und Status über die Schaltfläche History an.
🌍 Lokalisierung
YTSage unterstützt 14 Sprachen für globale Barrierefreiheit. Wählen Sie Ihre bevorzugte Sprache unter Custom Options → Language.
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 bei einer Übersetzung helfen? Schauen Sie in den Abschnitt Mitwirken, um uns zu helfen, weitere Sprachen hinzuzufügen!
🛠️ 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 zu yt-dlp nightly.
- Download schlägt fehl: Überprüfen Sie Ihre Internetverbindung und stellen Sie sicher, dass das Video verfügbar ist.
- Spezifische Download-Fehler:
- Private Videos: Verwenden Sie Cookie-Authentifizierung, um auf private Inhalte zuzugreifen.
- Videos mit Altersbeschränkung: Loggen Sie sich in Ihr YouTube-Konto ein, um altersbeschränkte Videos anzusehen.
- Geoblockierte Videos: Erwägen Sie die Verwendung eines VPN, um regionale Einschränkungen zu umgehen.
- Gelöschte Videos: Das Video ist auf YouTube nicht mehr verfügbar.
- Livestreams: Livestreams können während der Übertragung 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 ein YouTube-Premium-Abonnement.
- Urheberrechtssperren: Der Inhalt ist aufgrund von Urheberrechtsbeschränkungen gesperrt.
- Video- und Audiodateien sind nach dem Download getrennt: 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 installiert und im PATH Ihres Systems zugänglich ist. Für Windows-Benutzer ist die einfachste Option, die Datei
YTSage-v<version>-ffmpeg.exeherunterzuladen, die FFmpeg integriert hat.
- Lösung: Stellen Sie sicher, dass FFmpeg installiert und im PATH Ihres Systems zugänglich ist. Für Windows-Benutzer ist die einfachste Option, die Datei
🛡️ Windows Defender / Antivirus Warnung
Einige Antivirenprogramme können .exe-Dateien als Fehlalarm (False Positive) markieren. Dies ist eine bekannte Einschränkung von gepackten Anwendungen.
Warum das passiert:
- Antiviren-Heuristiken können gepackte ausführbare Dateien fälschlicherweise als verdächtig identifizieren.
Sichere Alternativen:
- ✅ Verwenden Sie die pip-Installation:
pip install ytsage(Empfohlen) - ✅ Aus dem Quellcode bauen: Folgen Sie diesem Leitfaden
- ✅ App auf die Whitelist setzen in Ihrer Antiviren-Software.
🍎 macOS: "Die App ist beschädigt und kann nicht geöffnet werden"
Wenn dieser Fehler unter macOS Sonoma oder neuer auftritt, müssen Sie das Quarantäne-Attribut entfernen.
- Öffnen Sie das Terminal (Sie finden es über Spotlight).
- Geben Sie den folgenden Befehl ein, aber drücken Sie noch nicht Enter. Stellen Sie sicher, dass am Ende ein Leerzeichen steht:
xattr -d com.apple.quarantine - Ziehen Sie die Datei
YTSage.appaus Ihrem Finder-Fenster direkt in das Terminal-Fenster. Dadurch wird der korrekte Dateipfad automatisch eingefügt. - Drücken Sie Enter, um den Befehl auszuführen.
- Versuchen Sie erneut, YTSage.app zu öffnen. Sie sollte nun korrekt starten.
Speicherorte der Konfiguration (Erweitert)
- Windows:
%LOCALAPPDATA%\YTSage - macOS:
~/Library/Application Support/YTSage - Linux:
~/.local/share/YTSage
💖 Sponsoren
Wenn YTSage Ihnen Zeit spart, ziehen Sie bitte in Erwägung, das Projekt zu sponsern. Sponsoring hilft, die Entwicklungszeit, Tests auf allen Plattformen und zukünftige Verbesserungen zu finanzieren.
- GitHub Sponsors: https://github.com/sponsors/oop7
- Der Sponsoring-Link ist auch direkt in der App über den About-Dialog verfügbar.
👥 Mitwirken
Beiträge sind herzlich willkommen! So können Sie helfen:
- 🍴 Forken Sie das Repository
- 🌿 Erstellen Sie einen Feature-Branch:
git checkout -b feature/AmazingFeature
- 💾 Committen Sie Ihre Änderungen:
git commit -m 'Add some AmazingFeature'
- 📤 Pushen Sie in den Branch:
git push origin feature/AmazingFeature
- 🔄 Öffnen Sie einen Pull Request
🌍 Zu Übersetzungen beitragen
- Aktualisieren Sie die entsprechende lokalisierte README-Datei (z. B.
readme-translations/README.de.md) - Halten Sie die App-Strings synchron, indem Sie
ytsage/languages/<code>.jsonbearbeiten - Wenn Ihre Sprache fehlt, beginnen Sie mit der
README.mdund erstellen SieREADME.<code>.md
📂 Projektstruktur
YTSage - Projektstruktur
Dieses Dokument beschreibt die organisierte Ordnerstruktur von YTSage.
📁 Projektstruktur
YTSage/
├── 📁 .github/ # GitHub-Konfiguration
│ ├── 📁 ISSUE_TEMPLATE/ # Ticket-Vorlagen
│ │ └── 🐛-bug-report.md # Bug-Report-Vorlage
│ ├─── 📁 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-Dokumentation
├── 📁 branding/ # Branding-Assets (Screenshots, SVGs)
│ ├── 📁 icons/ # App-Icons
│ ├── 📁 screenshots/ # Screenshots für die Dokumentation
│ └── 📁 svg/ # SVG-Assets
├── 📄 LICENSE # Lizenzdatei
├── 📄 pyproject.toml # Projekt-Metadaten und Abhängigkeiten
├── 📄 README.md # Projekt-Dokumentation
├── 📄 requirements.txt # Python-Abhängigkeiten (dev)
└── 📁 ytsage/ # Quellcode-Paket
├── 📁 assets/ # Laufzeit-Assets
│ ├── 📁 Icon/ # App-Icons
│ └── 📁 sound/ # Audiodateien
├── 📁 languages/ # Lokalisierungsdateien
│ ├── 📄 ar.json # Arabische Übersetzung
│ ├── 📄 de.json # Deutsche Übersetzung
│ ├── 📄 en.json # Englische Übersetzung
│ └── ... # Weitere Sprachen
├── 📁 core/ # Hauptgeschäftslogik
│ ├── 📄 __init__.py # Core-Paket-Initialisierung
│ ├── 📄 ytsage_deno.py # Deno-Integration
│ ├── 📄 ytsage_downloader.py # Download-Funktionalität
│ ├── 📄 ytsage_ffmpeg.py # FFmpeg-Integration
│ ├── 📄 ytsage_utils.py # Hilfsfunktionen
│ └── 📄 ytsage_yt_dlp.py # yt-dlp-Integration
├── 📁 gui/ # Benutzeroberflächen-Komponenten
│ ├── 📄 __init__.py # GUI-Paket-Initialisierung
│ ├── 📄 ytsage_gui_main.py # Hauptfenster der App
│ └── 📁 ytsage_gui_dialogs/ # Dialog-Klassen
├── 📁 utils/ # Hilfsmodule
│ ├── 📄 __init__.py # Utils-Paket-Initialisierung
│ ├── 📄 ytsage_config_manager.py # Konfigurationsverwaltung
│ └── 📄 ytsage_logger.py # Logging-Tool
├── 📄 __init__.py # Paket-Einstiegspunkt
└── 📄 main.py # Hauptskript zur Ausführung
⭐️ Star History
📜 Lizenz
Dieses Projekt steht unter der MIT-Lizenz – weitere Details finden Sie in der Datei LICENSE.
🙏 Danksagungen
Danksagungen anzeigen
Ein großes Dankeschön an alle, die zu diesem Projekt beigetragen haben, indem sie Tickets für Verbesserungsvorschläge oder Bug-Reports geöffnet haben.
| Kernkomponenten | |
|---|---|
| yt-dlp | Download-Engine |
| FFmpeg | Medienverarbeitung |
| Deno | Runtime für yt-dlp Integration |
| Bibliotheken & Frameworks | |
| PySide6 | GUI-Framework |
| Pillow | Bildverarbeitung |
| requests | HTTP-Anfragen |
| packaging | Versionsverwaltung & Packaging |
| markdown | Markdown-Rendering |
| loguru | Logging |
| Assets & Mitwirkende | |
| New Notification 09 by Universfield | Benachrichtigungston |
| viru185 | Code-Contributor |
⚠️ Haftungsausschluss
Dieses Tool ist nur für den persönlichen Gebrauch bestimmt. Bitte respektieren Sie die Nutzungsbedingungen von YouTube und die Rechte der Content-Ersteller.
Erstellt mit ❤️ von oop7



