cd /news/developer-tools/kak-nastroit-yt-dlp-i-goria-ne-znat · home topics developer-tools article
[ARTICLE · art-8714] src=gist.github.com ↗ pub= topic=developer-tools verified=true sentiment=↑ positive

Как настроить yt-dlp и горя не знать.

This article provides instructions on how to install and configure yt-dlp, a command-line tool for downloading media from hosting sites, by adding it to the Windows PATH variable and creating a configuration file. It explains how to use the tool with commands like `-U` to update, `-F` to list available formats, and `-f` to select a specific format, as well as how to extract audio using the `-x` flag. The guide also covers creating a symbolic link for easier command usage and includes tips for setting download delays to avoid rate-limiting.

read4 min views2 publishedJan 28, 2025

Очередная инструкция на случай амнезии. YT-DLP - БАЗИРОВАННАЯ тулза для скачивания контента с медиахостингов, и многие проги ей завидуют хранят под капотом именно её ядро. Оседлав этого жеребца, смотришь на других наездников, как на бедолаг с раздолбанным очком. Приступим. yt-dlp работает в связке сffmpeg , поэтому скачиваем свежие релизы первого и второго и распаковываем исполняемые файлы в одну папку.

  • Поскольку yt-dlp работает через CLI, чтобы вызывать его из любого места добавим путь к программе в переменную среды Windows PATH . Note Напомню: при вызове .EXE из командной строки без указания полного пути до него, Windows сначала шерстит каталоги, перечисленные в переменной среды PATH, и если ничего не находит, пишет: Поэтому заходим в Пуск, начинаем печатать «перемен...», как нам уже предлагают пункт «Изменение системных переменных среды». Его и выбираем. Далее (можно сразу к картинке):
1) кликаем «Переменные среды...»;
2) в «Переменные среды пользователя...» дабл-клик по Path;
  1. «Создать» и указываем путь к каталогу с yt-dlp.exe ;
  2. После перезагрузки или даже выхода из учётки (или сразу?) изменения вступят в силу, и можно будет обращаться из любого места по имени:

yt-dlp <URL>

  • А теперь самое главное — КОНФИГ. Он нужен, чтобы не указывать ключи всякий раз, когда хотим что-то скачать. У меня он лежит там же, где всё остальное, и называется yt-dlp.conf . >> САМ КОНФИГ <<. Note Поскольку я по-прежнему стою на том, что пишу ДЛЯ СЕБЯ, будет шизофренией объяснять значение всех команд себе же. Если что-то забыл, чекай документацию. Где-то в системе лежит папка с содержимым: Открываем командную строку и обращаемся к yt-dlp , добавляя в конце URL нужного видоса/плейлиста/канала. Делаем это по имени, т.к. уже добавили путь в PATH .

yt-dlp https://www.youtube.com/watch?v=SSVybV2_cW8 Благодаря настроенному конфигу после инициализации запроса начнется скачивание видосов в нужном качестве с нужным обвесом в указанный каталог. Note Решил вычистить конфиг от большинства комментов и перенести сюда в виде заметок. Нужно запомнить всего три команды: -U - обновляет yt-dlp до актуальной версии. Если видео не хочет скачиваться или скачивается медленно. -F - анализирует переданный URL и показывает доступные варианты скачивания.

-f - скачивает выбранный формат.
https://dtf.ru/howto/2026499-kak-polzovatsya-yt-dlp
  • В командной строке из под админа находим папку c yt-dlp.
  • Пишем: mklink yt.exe yt-dlp.exe
  • В каталоге создается символьная ссылка на yt-dlp.exe . Теперь можем вызывать: yt <URL> Пытаюсь вспомнить, что же меня так зацепило в идиотской идее автора скачать видеоклип, а затем извлечь из него аудиодорожку с последующей её конвертацией. Вероятно, сама возможность так сделать. Наверняка этому есть обоснованное применение, которое я пока не догнал.
-x, --extract-audio Convert video files to audio-only files
-c, --continue Resume partially downloaded files/fragments (default)

-i, --ignore-errors Ignore download & postprocessing errors. Download will be considered successful

-w, --no-overwrites Do not overwrite any files
--audio-quality Specify quality when converting audio with -x. Insert value between 0 (best) and 10
(worst) or specific bitrate like 128K (default 5)

The result:

yt-dlp <URL> -xciw -f "bestaudio/best" --audio-quality 0 --audio-format mp3 --embed-thumbnail --embed-metadata -o "%(title)s.%(ext)s"
If video doesn’t have artist in the title, use following output template instead:
-o "%(creator,up,channel)s - %(title)s.%(ext)s"
https://blog.elijahlopez.ca/posts/yt-dlp-audio-download/

--sleep-interval SECONDS минимальная задержка в сек перед стартом следующей загрузки --max-sleep-interval SECONDS максимальная задержка. Min и Max используются СОВМЕСТНО!! Задавая минимальный и максимальный интервалы, фактический выбирается случайным образом. Рассмотрите также возможность добавления --sleep-requests: --sleep-requests 1.5 --min-sleep-interval 60 --max-sleep-interval 90 Or, are you asking to convert unicode characters to their "equivalent" ASCII counterparts when using --restrict-filenames ? yt-dlp/yt-dlp#1330 (comment) Unicode already has the concept of "equivalent" characters; and you can tell yt-dlp to replace them using NFKC normalization (We could consider using this as default when --restrict-filenames is given)

  • Unicode normalization: The format type U can be used for NFC unicode normalization. The alternate form flag (#) changes the normalization to NFD and the conversion flag + can be used for NFKC/NFKD compatibility equivalence normalization. Eg: %(title)+.100U is NFKC If you want more characters to be replaced, use --replace-in-metadata .
yt-dlp/yt-dlp#1330 (comment)
Use the 02d

flags instead of the s conversion type (string). The d signifies that it is an integer decimal type, the 0 that it should be padded with 0's, and the 2 that it should be 2 digits in length. yt-dlp -o "S%(season_number)02d - E%(episode_number)02d - %(episode)s - %(id)s.%(ext)s" <URL> https://askubuntu.com/a/1305098 There's no way to easily rename previously renamed files. If you grabbed the metadata with --write-info-json then you have the a file with most of the variables available at least.

--extractor-args "youtube:player_client=ios;player_skip=webpage"
yt-dlp/yt-dlp#10085 (comment)

Полезно к ознакомлению:

── more in #developer-tools 4 stories · sorted by recency
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/kak-nastroit-yt-dlp-…] indexed:0 read:4min 2025-01-28 ·