Tool-Tipp: yt-dlp

Noch gar nicht im Bett, Gast? Schön, dass Du hereinschaust! Einen angenehmen Aufenthalt wünscht das CompiWare-Team.
  • Ihr alle kennt sicher Videos mit Kapiteln bei YouTube, z.B. Tests, Musikalben, Diskussionen zu verschiedenen Themen, etc. Wenn Ihr einen bequemen Weg sucht, um diese schnell herunterzuladen und nach diesen Kapiteln aufzusplitten, kann ich Euch yt-dlp empfehlen. Es ist ein weiterentwickelter Fork von youtube-dl.


    Installation

    Einfach über den Paketmanager folgende Pakete installieren (geht auch unter Windows per winget ganz einfach):

    • ffmpeg
    • yt-dlp

    Also z.B.:

    Code
    winget install yt-dlp ffmpeg

    Anwendung

    Ruft anschließend einfach nur diesen Befehl auf (ggf. in einer neuen Shell) und das Video wird im aktuellen Verzeichnis heruntergeladen und aufgeteilt.

    Code
    yt-dlp --split-chapters <URL>

    Mit "-x" wird nur der Ton extrahiert:

    Code
    yt-dlp -x --split-chapters <URL>

    Wollt ihr ein bestimmtes Format, dann geht das auch:

    Code
    yt-dlp -x --audio-format mp3 --split-chapters <URL>

    Ich hoffe das hilft dem Einen oder Anderen! :)

    5 Mal editiert, zuletzt von Sybok (3. November 2023 um 12:21)

  • Sybok 3. November 2023 um 09:34

    Hat den Titel des Themas von „Tool-Tip: yt-dlp“ zu „Tool-Tipp: yt-dlp“ geändert.
  • Kommt auf den Inhalt an:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.

    "Technische Schutzmaßnahmen" umgeht yt-dl aber nicht. Und um DRM-geschützte Inhalte soll es auch nicht gehen (also exkkusive Aboinhalte zum Beispiel).

    Nutzung natürlich immer auf eigene Gefahr und nach eigenem Gewissen. Ich will hier auch niemanden dazu anregen sich da jetzt massenhaft Alben zu ziehen. Das wäre aber eh nur bei besonders hochwertigen Videos überhaupt sinnvoll, oft ist die Tonqualität ja durchaus nicht perfekt.

    Ich habe oben mal die Links entfernt, aber da die Software im Winget-Repo ist und bei Github erwarte ich nicht, dass die Anwälte über Dich herfallen.

    4 Mal editiert, zuletzt von Sybok (3. November 2023 um 11:00)

  • Hier noch eine kleine Ergänzung von mir, weil ich dachte es könnte auch für Euch nützlich sein. Bei folgenden beiden Skripten ist logischerweise das cmd-Skript für WIndows und das sh-Skript für Linux (wobei das sh-Skript auch unter Windows funktioniert, wenn die Bash installiert ist). Hiermit könnt ihr bequem einen ganzen Channel rippen (mit diesen Flags als Videos, ihr könnt aber natürlich auch nur den Ton rippen, dazu dann zum Beispiel --extract-audio --audio-format mp3 zum Befehl hinzufügen):

    Code: yt-ripchannel.cmd
    @ECHO OFF
    IF NOT "%1" == "" (
      yt-dlp --format "bv*[height>=1080]+ba" --merge-output-format mkv --embed-thumbnail --embed-metadata --download-archive "%1.done.txt" "https://www.youtube.com/@%1/videos" -o "%1/%%(title)s.%%(ext)s"
    ) ELSE (
      ECHO Please specify a channel name.
    )
    Code: yt-ripchannel.sh
    #!/usr/bin/env bash
    if [ "$1" ]; then
        yt-dlp --format 'bv*[height>=1080]+ba' --merge-output-format mkv --embed-thumbnail --embed-metadata --download-archive "$1.done.txt" "https://www.youtube.com/@$1/videos" -o "$1/%(title)s.%(ext)s"
    else
        echo "Please specify a channel name."
    fi

    Als Parameter erwarten beide Skripts einfach nur den Channelnamen (ggf. mit Anführungszeichen umschließen).

    Passt natürlich auch gerne die anderen Parameter nach Belieben an, schaut einfach in die Hilfe (yt-dlp --help) wenn was unklar ist. Achtung: Wenn man mit height>=1080 downloadet (also mindestens 1080p), dann kann das bei aktiven Channels schnell zu mehreren hundert GB an Videos führen. Also ggf. auf maximal 720p runtergehen, z.B. mit height<=720.

    16 Mal editiert, zuletzt von Sybok (8. Februar 2024 um 17:53)