yt-dlp mit aria2 beschleunigen
yt-dlp holt die Stream-URLs, Cookies und Header. aria2c lädt anschließend die Daten mit bis zu 16 parallelen Verbindungen pro Datei und verwandelt einen gedrosselten Einzel-Socket in eine gesättigte Leitung. Diese Anleitung ist die vollständige, praxisnahe Referenz: installieren, optimieren, automatisieren, prüfen und Fehler beheben.
Zuletzt geprüft im September 2026 · aria2 v1.37.0 · erfordert yt-dlp 2024+ und ffmpeg
Voraussetzungen
- aria2 installiert und im
PATH– prüfen mitaria2c --version. - yt-dlp installiert und aktuell – prüfen mit
yt-dlp --version. - ffmpeg installiert, damit yt-dlp separate Video- und Audiospuren zusammenführen und Container umwandeln kann.
- Ein Terminal (Cmd/PowerShell, Terminal oder Bash) und ausreichend freier Speicherplatz.
Laden Sie nur Inhalte herunter, zu denen Sie berechtigt sind. Beachten Sie die Nutzungsbedingungen der jeweiligen Website und das geltende Urheberrecht.
So funktioniert es (und wann es wirklich hilft)
yt-dlp ist ein Resolver: Es verhandelt mit der Website, wählt Stream-Formate und schreibt die exakte Anfrage (URL, Cookies, Header, Byte-Bereiche). aria2c ist eine Transport-Engine: Es öffnet viele Sockets zu einem Host und lädt Blöcke parallel. Beide zusammen liefern die Korrektheit von yt-dlp mit dem Durchsatz von aria2.
aria2 hilft stark bei
- Direkten HTTP(S)-Mediendateien (große Video-/Audiodateien als eine Datei)
- YouTube-ähnlichem DASH, bei dem Video- und Audiospur separate ganze Dateien sind
- Multi-Gigabyte-4K/8K-Downloads auf einer schnellen Leitung (500 Mbit/s+)
- Servern, die eine einzelne TCP-Verbindung drosseln, aber viele Byte-Range-Anfragen zulassen
aria2 hilft nicht bei
- Live-Streams (keine feste Dateigröße)
- Fragmentiertem HLS/DASH (tausende kleine Segmente) – dafür nutzen Sie den nativen/ffmpeg-Downloader von yt-dlp und optimieren mit
-N - Servern, die parallele Bereiche ausdrücklich blockieren (Sie sehen 403/429 –
-xverringern)
Faustregel: Meldet yt-dlp eine einzelne Destination-Datei mit bekannter Größe, beschleunigt aria2 sie. Meldet es hunderte kleine Fragmente, nutzen Sie -N 8 und verzichten Sie für diesen Job auf den externen Downloader.
Installation & Updates
yt-dlp wird sehr häufig aktualisiert, um mit Website-Änderungen Schritt zu halten. Eine veraltete Version ist die häufigste Ursache für plötzliche Fehler.
# aria2 sudo apt install aria2 # Debian/Ubuntu brew install aria2 # macOS winget install aria2.aria2 # Windows (oder: scoop install aria2) # ffmpeg (zum Zusammenführen von Video + Audio) sudo apt install ffmpeg brew install ffmpeg winget install Gyan.FFmpeg # yt-dlp - eigenständige Binärdatei (empfohlen), dann selbst aktualisieren yt-dlp -U # yt-dlp - über Python/pip (dann mit pip aktualisieren, nicht mit -U) python -m pip install -U yt-dlp
Prüfen Sie, dass alles im PATH liegt:
aria2c --version && yt-dlp --version && ffmpeg -version
Schnellstart (ein Befehl)
Übergeben Sie den Download mit --downloader an aria2 und reichen Sie aria2-Flags über --downloader-args mit dem Präfix aria2c: weiter:
yt-dlp --downloader aria2c --downloader-args "aria2c:-x 16 -s 16 -k 1M" "URL"
Anatomie der Flags
--downloader aria2c– den externen Downloader aria2c für HTTP(S)-Downloads verwenden. (Das ältere youtube-dl nutzte--external-downloader; bei yt-dlp heißt es--downloader.)--downloader-args "aria2c:…"– alles nacharia2c:wird unverändert an den aria2c-Prozess übergeben.-x 16=--max-connection-per-server=16(Sockets pro Host)-s 16=--split=16(Datei in 16 Blöcke aufteilen)-k 1M=--min-split-size=1M(verhindert Verbindungswechsel bei kleineren Dateien)
yt-dlp übergibt Cookies, User-Agent und benötigte Header automatisch an aria2c, sodass signierte URLs weiter funktionieren.
Nachweis, dass es funktioniert: Fügen Sie --verbose hinzu und achten Sie auf den aria2c-Aufruf und dessen Fortschrittszeilen (siehe Prüfen & überwachen).
Interaktiver yt-dlp + aria2 Befehlsgenerator
Wählen Sie Ihre Optionen und kopieren Sie einen sofort ausführbaren Befehl.
yt-dlp --downloader aria2c --downloader-args "aria2c:-x 16 -s 16 -k 1M" -f "bestvideo+bestaudio/best" --merge-output-format mkv --embed-subs --embed-chapters "URL"
Verbindungen & Splits optimieren
Für eine einzelne Datei öffnet aria2 bis zu min(split, max-connection-per-server) Verbindungen. Starten Sie bei 16 und reduzieren Sie, wenn eine Website ablehnt.
| Situation | -x | -s | -k | Hinweise |
|---|---|---|---|---|
| Schnelle Heimleitung / VPS (500 Mbit/s+) | 16 | 16 | 1M | Maximaler Durchsatz |
| Typische Breitbandverbindung | 8 | 8 | 1M | Gute Balance, weniger Blockaden |
| Strenges CDN / häufige 403 oder 429 | 4 | 4 | 2M | Wirkt weniger wie ein Scraper |
| Viele Elemente in einer Playlist | 16 | 16 | 1M | aria2 -j (Parallelität) mit Bedacht erhöhen |
# Playlist-freundlich: parallele Dateien auf 4 begrenzen, Wiederholungen ergänzen yt-dlp --downloader aria2c \ --downloader-args "aria2c:-x 16 -s 16 -k 1M -j 4 --retry-wait=3 --max-tries=5" \ "PLAYLIST_URL"
Fragmentierte Streams (HLS/DASH) sind ein anderer Pfad: Lassen Sie aria2 weg und erhöhen Sie yt-dlps eigene parallele Fragmente mit -N 8 (z. B. yt-dlp -N 8 URL).
Formatauswahl & Zusammenführen
yt-dlp lädt Video und Audio als separate Spuren und führt sie anschließend mit ffmpeg zusammen. Das ist unabhängig von aria2 (sind die Spuren einzelne Dateien? Dann beschleunigt aria2 jede davon).
# Beste Qualität, nach MKV umwandeln -f "bestvideo+bestaudio/best" --merge-output-format mkv # Auflösung begrenzen, ohne das beste Audio zu verlieren -S "res:1080" -f "bv*+ba/b" # Nur Audio (nach MP3 über ffmpeg) -x --audio-format mp3 --audio-quality 0 # Erst alle verfügbaren Formate anzeigen -F URL
-S (Sortierung) ist meist sauberer als fest codierte -f-Filter. --merge-output-format benötigt ffmpeg.
Dauerhaft konfigurieren
Statt die Flags jedes Mal neu zu tippen, legen Sie sie in einer yt-dlp-Konfigurationsdatei ab.
- Linux / macOS:
~/.config/yt-dlp/config - Windows:
%APPDATA%\yt-dlp\config - Portabel (neben der Binärdatei):
yt-dlp.conf
--downloader aria2c --downloader-args "aria2c:-x 16 -s 16 -k 1M --file-allocation=falloc --retry-wait=3 --max-tries=5" -f "bestvideo+bestaudio/best" --merge-output-format mkv --embed-metadata --embed-chapters --embed-thumbnail -o "%(title)s [%(id)s].%(ext)s"
Windows-Quoting: Die doppelten Anführungszeichen um den aria2c:-Wert sind erforderlich. In PowerShell funktionieren sie direkt; in einer Konfigurationsdatei verwenden Sie wörtliche doppelte Anführungszeichen wie gezeigt.
Praxisrezepte
Direkt einsetzbare Startpunkte für die typischen Aufgaben.
Eine ganze Playlist/einen Kanal laden, ohne erneut zu laden
yt-dlp --downloader aria2c \ --downloader-args "aria2c:-x 16 -s 16 -k 1M -j 3" \ --download-archive archive.txt \ -o "%(playlist_title)s/%(playlist_index)s - %(title)s.%(ext)s" \ "PLAYLIST_URL"
Private / altersbeschränkte Videos (Cookies)
yt-dlp --cookies-from-browser firefox \ --downloader aria2c --downloader-args "aria2c:-x 16 -s 16 -k 1M" "URL" # oder eine zuvor exportierte Netscape cookies.txt yt-dlp --cookies cookies.txt ... "URL"
Über einen Proxy leiten
yt-dlp --proxy "http://127.0.0.1:8080" \ --downloader aria2c \ --downloader-args "aria2c:--all-proxy=http://127.0.0.1:8080 -x 8 -s 8" "URL"
Legen Sie den Proxy für yt-dlp (Metadaten) und für aria2 (Nutzlast) fest. aria2 akzeptiert nur HTTP-Proxys: Ist Ihrer ein SOCKS5-Proxy, nutzen Sie ihn für yt-dlp und geben Sie aria2 eine lokale HTTP-zu-SOCKS-Brücke (privoxy, gost).
Bandbreite begrenzen, um die Leitung nicht zu sättigen
yt-dlp --downloader aria2c \ --downloader-args "aria2c:-x 8 -s 8 --max-download-limit=5M" "URL" # oder yt-dlp/aria2 insgesamt begrenzen yt-dlp -r 5M --downloader aria2c --downloader-args "aria2c:-x 8 -s 8" "URL"
Nur ein Ausschnitt, Untertitel, Vorschaubild, Metadaten, SponsorBlock
# ein 5-Minuten-Ausschnitt yt-dlp --download-sections "*10:15-15:00" ... "URL" # Untertitel + Vorschaubild + Metadaten, eingebettet yt-dlp --write-subs --sub-langs "en.*" --embed-subs \ --embed-thumbnail --embed-metadata --embed-chapters ... "URL" # Sponsor-Segmente entfernen (benötigt ffmpeg) yt-dlp --sponsorblock-remove sponsor ... "URL"
Eine URL-Liste stapelweise verarbeiten
yt-dlp --downloader aria2c --downloader-args "aria2c:-x 16 -s 16 -k 1M -j 3" \ --batch-file urls.txt
Prüfen & überwachen
Bestätigen Sie, dass aria2 tatsächlich den Download ausführt:
yt-dlp --verbose --downloader aria2c \ --downloader-args "aria2c:-x 16 -s 16 -k 1M --summary-interval=5" "URL"
--verbosezeigt die exakt aufgerufene aria2c-Befehlszeile.- aria2 gibt einen eigenen mehrzeiligen Fortschritt aus (mehrere Verbindungen, Zusammenfassung alle 5 s).
- yt-dlp zeigt weiterhin die abschließende
Destinationund den ffmpeg-Zusammenführungsschritt.
Fehlerbehebung
HTTP 403 Forbidden / aria2 beendet mit Code 1, 3 oder 9
Ursache: Die CDN-URL ist ein kurzlebiger signierter Link, oder die Website mag viele parallele Verbindungen / einen Nicht-Browser-User-Agent nicht.
Lösung: yt-dlp aktualisieren (yt-dlp -U), auf -x 8 -s 8 reduzieren und Cookies mit --cookies-from-browser übergeben. yt-dlp übergibt Header automatisch; überschreiben Sie den User-Agent nur, wenn die Website es verlangt.
„external downloader ... not installed“ / aria2c nicht gefunden
Ursache: aria2c liegt nicht im PATH (oder yt-dlp findet es nicht).
Lösung: aria2 installieren (siehe Installation); unter Windows aria2c.exe neben yt-dlp.exe legen oder den Ordner zum Path hinzufügen; Terminal neu öffnen.
Download ist ein Ordner winziger Fragmente / sehr langsam
Ursache: Die Quelle ist ein fragmentierter HLS/DASH-Stream, den aria2 nicht beschleunigt.
Lösung: Für diesen Job auf den externen Downloader verzichten und yt-dlps native Fragmente nutzen: yt-dlp -N 8 URL.
HTTP 429 Too Many Requests
Ursache: Zu viele Verbindungen/Anfragen in kurzer Zeit.
Lösung: -j und -x verringern, --sleep-requests 1 ergänzen und parallele Elemente ausbremsen.
Zusammenführen/Remux schlägt fehl oder Ausgabe ohne Audio
Ursache: ffmpeg fehlt, oder der gewählte Container ist mit den Codecs inkompatibel.
Lösung: ffmpeg installieren und mit ffmpeg -version prüfen; --merge-output-format mkv (am tolerantesten) statt mp4 verwenden.
Live-Stream endet nie
Ursache: Live-Streams haben keine feste Größe. aria2 wartet auf ein Content-Length, das nie kommt.
Lösung: Für Live nicht den aria2-Downloader verwenden; yt-dlps Standard nutzen (--live-from-start, um wo unterstützt von Beginn an aufzunehmen).
Windows: „aria2c:-x is not recognized“ / Argumente ignoriert
Ursache: Das Shell-Quoting hat den aria2c:-Wert getrennt.
Lösung: Den gesamten Wert in doppelte Anführungszeichen setzen: --downloader-args "aria2c:-x 16 -s 16 -k 1M"; in PowerShell nicht einfache und doppelte Anführungszeichen mischen.
FAQ
Sind 16 Verbindungen immer besser?
Nein. Über die Kapazität Ihrer Leitung hinaus erzeugen zusätzliche Verbindungen Overhead und können Ratenlimits auslösen. 8 ist ein sicherer Standard; bei strengen Servern auf 4 gehen.
Funktioniert das auch für YouTube-Playlists und -Kanäle?
Ja. aria2 lädt jede Spur parallel; nutzen Sie --download-archive, um erneutes Laden zu vermeiden, und halten Sie -j moderat, um Drosselung zu vermeiden.
Kann ich aria2 mit yt-dlp --newline für Logs nutzen?
Ja – --newline ändert nur die Fortschrittsformatierung von yt-dlp; der externe Downloader bleibt unberührt.
Wo landen die Downloads?
Im aktuellen Verzeichnis oder dort, wohin -P/-o zeigt. Beispiel: -P ~/Downloads.
Weiterführende Ressourcen
- aria2-Tools – WebUI, Tracker-Liste und Konfigurationsgenerator
- Optionsreferenz – die hier verwendeten aria2-Flags erklärt
- Leitfaden zur Geschwindigkeitsoptimierung – Datenträger, Cache und BitTorrent-Tuning
- Fehlerbehebung – häufige aria2-Fehler mit konkreten Lösungen
- Vollständige aria2-Dokumentation – Installation, Protokolle, RPC und mehr
Nutzen Sie dies nur für Inhalte, die Sie herunterladen dürfen.