Zum Hauptinhalt springen

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

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 – -x verringern)

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 nach aria2c: 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.

Empfohlene aria2-Einstellungen je Situation
Situation-x-s-kHinweise
Schnelle Heimleitung / VPS (500 Mbit/s+)16161MMaximaler Durchsatz
Typische Breitbandverbindung881MGute Balance, weniger Blockaden
Strenges CDN / häufige 403 oder 429442MWirkt weniger wie ein Scraper
Viele Elemente in einer Playlist16161Maria2 -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.

yt-dlp-Konfiguration (ein Flag pro Zeile)
--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"

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.

Nutzen Sie dies nur für Inhalte, die Sie herunterladen dürfen.