Zum Inhalt springen
yt-dlp

yt-dlp Befehlsgenerator für Bilibili

Stelle einen yt-dlp-Befehl für Bilibili zusammen — beginnend mit dem Browser-Vorgeben, das die meisten 403-Fehler vermeidet.

Optional. Lässt du es leer, endet der Befehl mit URL, das du selbst einsetzt.

Dein Befehl

yt-dlp -f 'bv*[height<=1080]+ba/b[height<=1080]' --merge-output-format mp4 --no-playlist --impersonate chrome --cookies-from-browser chrome https://www.bilibili.com/video/BV1xx411c7mD
Grundlagen

Nur Audio extrahiert die Tonspur und verwirft das Video.

Video und Qualität

Begrenzt die Höhe. yt-dlp wählt trotzdem die beste Spur auf oder unter dieser Grenze.

Der Dateityp, in den getrennte Video- und Audiospuren zusammengeführt werden.

Erweiterte Optionen (3)

Ersetzt die Qualitätsauswahl. Für Leute, die die Format-Syntax schon kennen.

Packt die Spuren neu, ohne neu zu kodieren. Schnell und verlustfrei.

Kodiert das Video neu. Langsam und verlustbehaftet — nur wenn remux nicht ausreicht.

Audio

Die Datei, in die das Audio konvertiert wird.

VBR liefert das beste Verhältnis von Größe zu Qualität; feste bitrates sind besser vorhersehbar.

Untertitel

Einbetten legt sie in das Video; Speichern schreibt eine eigene .srt-Datei daneben.

Mit Komma getrennt. Für alle verfügbaren Sprachen schreibe all.

Playlists und Kanäle

Was passieren soll, wenn die URL gleichzeitig zu einem Video und einer Playlist gehört.

Bereiche und Listen funktionieren beide, etwa 1-10,15 oder -5::2 für jeden zweiten Eintrag von hinten.

Erweiterte Optionen (1)

Hält fest, was schon geladen wurde, damit ein erneuter Lauf es überspringt. So hält man einen Kanal synchron.

Abschnitte und Kapitel
Erweiterte Optionen (2)

Ein Zeitbereich wie *00:01:30-00:03:00 oder ein Kapitelname. Der Stern davor bedeutet, dass es ein Zeitstempel ist.

Metadaten und Cover
Erweiterte Optionen (3)
SponsorBlock

Schneidet die von der Community markierten Abschnitte anhand der SponsorBlock-Daten aus der Datei heraus.

Erweiterte Optionen (1)

Behält die Abschnitte, markiert sie aber, damit du selbst überspringen kannst.

Dateien und Ordner

Feldnamen stehen in %(...)s. Schrägstriche erzeugen Ordner.

Erweiterte Optionen (4)

Wohin die Dateien geschrieben werden. Kombiniert mit der Vorlage oben entstehen Unterordner.

Maximale Länge des Dateinamens in Zeichen.

Filter
Erweiterte Optionen (5)

JJJJMMTT oder ein relatives Datum wie now-1month.

JJJJMMTT oder ein relatives Datum.

Überspringt alles Kleinere. Akzeptiert 5M, 500K und Ähnliches.

Überspringt alles Größere.

Anzahl der Dateien, die geladen werden, bevor Schluss ist.

Netzwerk

Zum Beispiel 2M oder 500K. Nützlich, wenn du die restliche Bandbreite brauchst.

Erweiterte Optionen (5)

Beschleunigt fragmentierte Streams. Vier ist ein sinnvoller Startwert.

Wie oft ein fehlgeschlagener Teil erneut versucht wird. infinite ist erlaubt.

Adresse eines HTTP-, HTTPS- oder SOCKS-Proxy.

Lässt Anfragen wie von einem echten Browser aussehen. Die übliche Lösung, wenn plötzlich 403 kommt.

Anmeldung und cookies

Liest deine angemeldete Sitzung direkt. Nötig für private, altersbeschränkte oder Mitglieder-Inhalte.

Erweiterte Optionen (1)

Eine cookies.txt im Netscape-Format, exportiert aus deinem Browser.

Livestreams
Erweiterte Optionen (2)

Fragt nach, bis ein geplanter Stream beginnt. MIN-MAX sind die Sekunden zwischen den Prüfungen.

Behelfslösungen
Erweiterte Optionen (3)

Veraltet, ersetzt durch --add-headers. Bleibt drin, weil viele ältere Anleitungen es noch verwenden.

Veraltet, ersetzt durch --add-headers.

Seitenspezifische Schalter, zum Beispiel youtube:player_client=web.

Ausgabe und Debugging
Erweiterte Optionen (2)
Zurücksetzen

403-Fehler und Qualitätsgrenzen

Bilibili lehnt Anfragen ab, die nicht wie von einem Browser aussehen — darum liefert ein einfacher Befehl oft 403. In dieser Vorlage ist das Vorgeben deshalb von Anfang an aktiv: in den meisten Fällen ist es die Lösung.

1080p und darüber bleiben meist angemeldeten, teils zahlenden Konten vorbehalten, hier entscheiden cookies also über die Qualität und nicht nur über den Zugang. Mehrteilige Videos erscheinen als Playlist-Einträge.

Bilibili ist die Plattform, auf der ein veraltetes yt-dlp am schnellsten bricht — die Seite baut ihre API öfter um als jede westliche Plattform, und Extraktor-Updates landen binnen Tagen nach jeder Änderung in yt-dlp-Releases. Wenn ein Download, der letzten Monat noch lief, zu scheitern beginnt, aktualisiere zuerst: yt-dlp -U. Das Vorgeben eines Browsers (in dieser Vorlage standardmäßig an) deckt den Teil des 403-Problems ab, der die browserähnlichen Header betrifft; der Rest ist meist eine fehlende oder abgelaufene Sitzung.

Mehrteilige Uploads — die für Serien übliche P1/P2/P3-Struktur — kommen als Playlist-Einträge an, der Modus ganze Playlist holt also jeden Teil, und der Playlist-Index im Ausgabe-Template hält die Teile in der Reihenfolge. Danmaku (die scrollenden Kommentare) sind für yt-dlp eine Untertitelspur: --write-subs sichert sie als .ass-Datei, das einzige Format, in dem sie existieren. Willst du sie nicht, tu nichts — sie werden nicht zusammengeführt, wenn niemand danach fragt.

Interaktionsqualitäten — die "dolby"- und Premium-Staffeln — gibt es nur für Konten, die sie halten, und keine Flagge erreicht sie ohne cookies eines solchen Kontos. Regional gesperrte Inhalte sind die andere Wand: Manche Uploads sind nur aus Festlandchina sichtbar, und ein proxy in der Region ist der einzige Weg, wenn die Sperre am CDN statt an der Seite durchgesetzt wird. Geo-Umgehung funktioniert gelegentlich für die Sperre auf Seitenebene und nie für die auf CDN-Ebene.

Bilibili liefert seine höheren Qualitäten als DASH mit getrenntem Audio, also führt ffmpeg zusammen wie bei YouTube — der Merge-Schritt steckt in dieser Vorlage bereits. Nur-Audio-Extraktion mit -x funktioniert und ist der schnellste Weg, aus einem langen mehrteiligen Upload nur den Ton zu nehmen. Bei Live-Wiederholungen wird die Wiederholung nach dem Ende des Streams ein gewöhnliches VOD, also lade es wie jedes Video; die Live-Aufnahme-Optionen auf dieser Seite sind für den Stream, während er läuft.

Häufig gestellte Fragen

Warum liefert Bilibili 403?
Bilibili lehnt Anfragen ab, die nicht wie von einem Browser aussehen. --impersonate chrome behebt das meistens; für Mitglieder-Inhalte ergänze cookies.
Wie bekomme ich 1080p oder mehr von Bilibili?
Höhere Auflösungen bleiben angemeldeten, teils zahlenden Konten vorbehalten. Nutze --cookies-from-browser mit so einem Konto.
Wie hole ich alle Teile eines mehrteiligen Videos?
Stelle das Playlist-Verhalten auf ganze Playlist — die Teile werden als Playlist-Einträge ausgeliefert.