Zum Inhalt springen
yt-dlp

yt-dlp Befehlsgenerator für X (Twitter)

Stelle einen yt-dlp-Befehl für ein Video auf X zusammen — mit vorhersehbaren Dateinamen und den Optionen, die sensible Inhalte verlangen.

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

Dein Befehl

yt-dlp --merge-output-format mp4 --no-playlist -o '%(uploader_id)s - %(id)s.%(ext)s' https://x.com/user/status/1234567890
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

Hinweise zu X

Sowohl x.com- als auch twitter.com-Adressen funktionieren. Was auf X GIF heißt, sind tatsächlich kurze MP4-Videos, sie laden also wie jedes andere Video; wandle danach um, wenn du ein echtes GIF brauchst.

Beiträge mit sensiblen Inhalten brauchen eine angemeldete Sitzung mit der entsprechenden Einstellung. Die Standardvorlage benennt Dateien nach Autor und Beitrags-id, sodass ein Ordner voll davon noch überschaubar bleibt.

X hat seine API-Oberfläche mehrfach umgebaut, und die praktische Folge ist, dass Extraktor-Fixes binnen Tagen in yt-dlp-Updates ankommen — eine Installation von mehr als ein paar Wochen ist der Ort, an dem die meisten "X ist kaputt"-Meldungen tatsächlich wohnen. Aktualisiere, bevor du debuggst: yt-dlp -U. Der Gast-Zugang kommt und geht; wird er entzogen, ist eine angemeldete Sitzung mit cookies der funktionierende Weg — und zugleich der einzige Weg zu sensiblen Medien.

Threads und Zitat-Beiträge sind dort, wo Adressen verwirrend werden. Ein Tweet mit Video bettet es ein; dasselbe Video auf dem Medien-Tab des Profils ist ein eigener Eintrag. Für ein ganzes Konto holt die Medien-Tab-Adresse alles, was mit Medien gepostet wurde, seitenweise, und die Archivdatei plus "bei Fehlern weitermachen" erledigt die gelöschten Beiträge, die ein aktives Konto unvermeidlich ansammelt. Downloads über Such-Adressen werden hier absichtlich nicht unterstützt: Die Ergebnisse wandern zwischen Anfragen, und ein Archiv über eine sich bewegende Suche ist bedeutungslos.

X liefert Video meist als HLS-fragmente mit MP4 als Rückfallebene, Zusammenführungen sind also häufig, und ffmpeg ist die Abhängigkeit, die man zuerst prüft. Die "GIF"-Beiträge sind die Ausnahme, die man kennen sollte: Sie kommen wie alles andere als MP4 an, und die Umwandlung in ein echtes GIF danach ist eine Aufgabe für ffmpeg, nicht für yt-dlp — ein endlos wiederholtes WebM trifft meist ohnehin besser, was die sendende Person meinte.

Altersbeschränkte und sensible Beiträge sind die harte Wand: Die Einstellung liegt im Konto, nicht im Befehl. Melde dich einmal über den Browser an, aktiviere die Einstellung für sensible Medien, reiche die cookies weiter — und es funktioniert. Einen Weg ohne cookies gibt es nicht, weil X die Sitzung serverseitig prüft. Gelöschte Beiträge verhalten sich wie überall: weg ist weg, und die Spiegel, die einst Kopien hielten, haben vor Jahren zugemacht.

Häufig gestellte Fragen

Warum scheitert ein altersbeschränkter Beitrag auf X?
Sensible Inhalte brauchen eine angemeldete Sitzung. Nutze --cookies-from-browser mit einem Konto, bei dem die entsprechende Einstellung aktiv ist.
Wie lade ich ein GIF von X?
Es sind MP4-Videos, keine GIFs, und sie laden wie jedes andere Video. Wandle danach um, wenn du ein echtes GIF brauchst.
Kann ich auf X die Videoqualität wählen?
Ja. X veröffentlicht mehrere Fassungen: begrenze die Höhe über die Qualitätsauswahl oder lass sie dir zuerst mit -F auflisten.