yt-dlp
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |||
| yt-dlp [2025-08-10 04:28:20] – [Windows] david | yt-dlp [2025-08-15 09:36:00] (aktuell) – [Skript] david | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ====== yt-dlp ====== | ||
| + | |||
| + | * originales projekt: [[https:// | ||
| + | * aktiver fork (maintained): | ||
| + | |||
| + | der beste video downloader für youtube und mehr, unterstützt originale video streams (auch audio & video getrennt) | ||
| + | |||
| + | |||
| + | ===== Installation ===== | ||
| + | |||
| + | ==== FreeBSD ==== | ||
| + | |||
| + | <code bash> | ||
| + | sudo pkg install -y multimedia/ | ||
| + | pipx ensurepath | ||
| + | echo " | ||
| + | |||
| + | pipx install " | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Linux ==== | ||
| + | |||
| + | === Debian === | ||
| + | |||
| + | <code bash> | ||
| + | sudo apt install ffmpeg pipx | ||
| + | pipx install " | ||
| + | </ | ||
| + | |||
| + | |||
| + | === Fedora === | ||
| + | |||
| + | <code bash> | ||
| + | sudo dnf install ffmpeg pipx | ||
| + | pipx install " | ||
| + | </ | ||
| + | |||
| + | |||
| + | === Termux (Android) === | ||
| + | |||
| + | <code bash> | ||
| + | pkg install ffmpeg python-pip | ||
| + | pip install -U --user pipx | ||
| + | pipx ensurepath | ||
| + | echo " | ||
| + | |||
| + | pipx install " | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Windows ==== | ||
| + | |||
| + | <code powershell> | ||
| + | winget search python | ||
| + | # lookup & adapt python version | ||
| + | winget install -i Gyan.FFmpeg Python.Python.3.13 | ||
| + | python -m pip install -U pip | ||
| + | |||
| + | pip install -U pipx | ||
| + | pipx ensurepath | ||
| + | echo (" | ||
| + | |||
| + | pipx install " | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Skript ===== | ||
| + | |||
| + | * repo: [[https:// | ||
| + | |||
| + | <code bash yt-dlp.sh> | ||
| + | # | ||
| + | |||
| + | set -o errexit | ||
| + | set -o nounset | ||
| + | set -o pipefail | ||
| + | shopt -s inherit_errexit | ||
| + | |||
| + | arg_count=" | ||
| + | # script assumes the url is passed as last argument | ||
| + | url=" | ||
| + | |||
| + | if test " | ||
| + | then | ||
| + | printf " | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | " | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | if grep -Eiq " | ||
| + | then | ||
| + | output_template=" | ||
| + | else | ||
| + | output_template=" | ||
| + | fi | ||
| + | |||
| + | yt-dlp \ | ||
| + | --format-sort " | ||
| + | --merge-output-format " | ||
| + | --no-overwrites \ | ||
| + | --output " | ||
| + | --prefer-free-formats \ | ||
| + | --remux-video " | ||
| + | --restrict-filenames \ | ||
| + | " | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Beispiele ===== | ||
| + | |||
| + | <code bash> | ||
| + | url=" | ||
| + | # oder | ||
| + | url=" | ||
| + | # oder | ||
| + | url=" | ||
| + | # oder | ||
| + | url=" | ||
| + | |||
| + | # beste qualität | ||
| + | yt-dlp.sh " | ||
| + | |||
| + | # expliziter dateiname | ||
| + | yt-dlp.sh -o " | ||
| + | |||
| + | # max 1080p | ||
| + | yt-dlp.sh -S " | ||
| + | |||
| + | # max 2160p & kein hdr | ||
| + | yt-dlp.sh -S " | ||
| + | |||
| + | # max 30 fps | ||
| + | yt-dlp.sh -S " | ||
| + | |||
| + | # downloade die playlist & speichere heruntergeladene video ids in einer datei, damit sie nicht erneut heruntergeladen werden | ||
| + | yt-dlp.sh --download-archive index.txt --no-abort-on-error " | ||
| + | |||
| + | # das gleiche, aber mit einer bandbreitenbegrenzung von 100 MBit/s (download) | ||
| + | trickle -d 12500 yt-dlp.sh --download-archive index.txt --no-abort-on-error " | ||
| + | </ | ||
| + | |||
