Перейти к содержанию

Мультимедиа в командной строке/yt-dlp

Материал из Викиучебника — открытых книг для открытого мира

yt-dlp это консольная утилита для скачивания видео. Очень мощная. Для использования ряда функция может потребовать дополнительно иметь ffmpeg. Изначально разрабатывалось под именем youtube-dl. Для того чтобы из скачанного видео вырезать кусочек используется FFmpeg.

Есть графическая оболочка для yt-dlp, работающая в том числе в MS Windows.

yt-dlp может использоваться для скачивания с Youtube, но процесс усложняется и нужно дополнительные действия выполнять на локальном компьютере (требуются куки из браузера), а также подключать дополнительные библиотеки (подкладывая нужные файлики). Описание этих настроек ниже

История

[править]

yt-dlp является форком проекта youtube-dl. youtube-dl сегодня пользоваться уже нет смысла, но описание по нему, скорее всего будет полезно.

Установка нужного ПО

[править]

При наличии ffmpeg работа будет оптимальнее. Чтобы указать путь нему, можно указать явно ключом. В примере папка \bin лежит там же, где находится файл yt-dlp

--ffmpeg-location .\bin

Универсальное скачивание

[править]

Если сервис поддерживает скачивание из коробки, то достаточно указать yt-dlp -f bestvideo+bestaudio/best и дальше ссылку на страницу с видео.

При этом утилита сама выберет лучшие форматы и в результате скачивания получится один файл готовый к использованию. Среди прочих поддерживается и отечественный видеохостинг Rutube

Скачивание с Rutube

yt-dlp -f bestvideo+bestaudio/best https://rutube.ru/video/private/c2d9de1c417d0b1eea3d10d90a286c51/?p=5T59DXfAiEwttooYny0Arw

Но для ряда популярных видео-хостингов (Youtube и Vimeo) этого недостаточно и по ним описание отдельное ниже.

Ручной выбор качества

[править]

Не всегда нужно максимальное качество и требуется выбрать его самостоятельно. Для этого ключ -F используется

Выполнение такой команды

yt-dlp.exe -F ССЫЛКА_НА_ВИДЕО

Ссылка на видео в данном случае https://www.1tv.ru/shows/pust-govoryat/vypuski-i-dramatichnye-momenty/mirovoy-eksklyuziv-rekordy-i-slezy-sverhcheloveka-pust-govoryat-vypusk-ot-10-09-2026

Выведет таблицу в консоль

ID           EXT RESOLUTION FPS │   FILESIZE   TBR PROTO │ VCODEC      ACODEC ────────────────────────────────────────────────────────────────────────────────

http-mp4-950 mp4 unknown        │ ≈406.22MiB  950k https │ unknown     unknown

hls-445-0    mp4 640x360     25 │ ~190.39MiB  445k m3u8  │ avc1.64001e mp4a.40.2

hls-445-1    mp4 640x360     25 │ ~190.39MiB  445k m3u8  │ avc1.64001e mp4a.40.2

hls-1056-0   mp4 640x360     25 │ ~451.74MiB 1056k m3u8  │ avc1.64001e mp4a.40.2

hls-1056-1   mp4 640x360     25 │ ~451.74MiB 1056k m3u8  │ avc1.64001e mp4a.40.2

hls-3972-0   mp4 1280x720    25 │ ~  1.66GiB 3972k m3u8  │ avc1.640028 mp4a.40.2

hls-3972-1   mp4 1280x720    25 │ ~  1.66GiB 3972k m3u8  │ avc1.640028 mp4a.40.2

hls-8218-0   mp4 1920x1080   25 │ ~  3.43GiB 8219k m3u8  │ avc1.640028 mp4a.40.2

hls-8218-1   mp4 1920x1080   25 │ ~  3.43GiB 8219k m3u8  │ avc1.640028 mp4a.40.2

[download] Finished downloading playlist: Мировой эксклюзив. Рекорды и слезы сверхчеловека. Пусть говорят. Выпуск от 10.09.2026

Соответственно, если нужен размер 640x360, для скачивания нужно запустить команду с указанием названия версии.

Если видео и звук в отдельных файлах находятся, то нужно указать скачивание обоих (имена обоих). Про это описано ниже в разделе "Скачивание видео и аудио одновременно".

yt-dlp-new.exe -f hls-1056-0 ССЫЛКА_НА_ВИДЕО

Скачивание с Youtube

[править]

Просто из коробки скачивать с Youtube не будет, надо скачать дополнительно библиотеку и положить ее в той же папке. Также рядом нужно положить ffmpeg (чтобы склеивались автоматически скачанные файлы с видео и аудиодорожками).

Кроме этого надо указать путь до файла с куки от Youtube, полученных с помощью расширения Get cookies locally.

Строка для запуска скачивания.

yt-dlp -f bestvideo+bestaudio/best --js-runtimes quickjs --cookies cookies.txt https://www.youtube.com/watch?v=hIGWj39p_A8

Скачивание с ВКонтакте

[править]

Просто указанием ссылки

yt-dlp.exe https://vk.com/video-210945081_456240330

Скачивание с Vimeo

[править]

Для скачивания с Vimeo необходимо иметь учетную запись (она получается бесплатно). Надо войти в нее и получить куки. Затем эти куки надо экспортировать в файл формата Netscape. В этом может помочь плагин Cookie-Editor (cookie-editor.com) для Chrome [1]. Файл нужно указать в строке.

yt-dlp.exe -F https://vimeo.com/34243243 --cookies cok.txt

Скачивание запароленного видео с Vimeo

[править]

Указать дополнительно надо пароль

yt-dlp.exe -F https://vimeo.com/34243243 --cookies cok.txt --video-password 4324234

Ошибки при скачивании с Vimeo

[править]

Надо указать куки. Без них не получится. Как это сделать описано выше.

[vimeo] 1066401656: Downloading webpage
ERROR: [vimeo] 1066401656: The web client only works when logged-in. Use --cookies, --cookies-from-browser, --username and -password, --netrc-cmd, or --netrc (vimeo) to provide account credentials. See  https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-doi-pass-cookies-to-yt-dlp  for how to manually pass cookies

Куки можно попробовать указать взять прямо у Chrome, но в MS Windows, похоже, с этим есть проблемы и придется скачивать куки вручную сначала (описано как выше)

yt-dlp.exe -F https://vimeo.com/1066401656 --cookies-from-browser chrome
Extracting cookies from chrome
ERROR: Could not copy Chrome cookie database. See  https://github.com/yt-dlp/yt-dlp/issues/7271  for more info

При такой ошибке надо обновить yt-dlp

ERROR: [vimeo] 1066401656: Failed to fetch android OAuth token: HTTP Error 400: Bad Request (caused by <HTTPError 400: Bad Request>)

Скачивание видео и аудио одновременно

[править]

Если нужно качать какой-то размер видео конкретно, то это указывается в строке. При этом нужно не забыть указать аудио.

Чтобы сразу скачать и видео и звук, в строке запуска yt-dlp нужно указать номера через плюс - "-f 123+456". Но для того чтобы файлы были объединены должен быть рядом yt-dlp в той же папке размещен файл "ffmpeg" либо путь до "ffmpeg" был в PATH.

yt-dlp.exe -o "e:\both.%(ext)s" -f hls-akfire_interconnect_quic-3968+hls-akfire_interconnect_quic-audio-low-Original https://vimeo.com/32423434234 --cookies my_cookies.txt

Чтобы скачанные файлы остались и не были удалены после объединения, то надо добавить -k. С помощью ключа --verbose можно проверить, видит ли yt-dlp ffmpeg и доступен ли он ему.

Имя скачиваемого файла

[править]

Если качаются раздельно звук и видео, то надо явно указать название файла. Если этого не сделать, то второй файл уже не скачает, сообщив что он уже имеется. Помимо имени можно сразу указать и путь, где будет размещен скачанный файл.

Пример:

yt-dlpexe -o "e:\hls-akfire_interconnect_quic-3968.%(ext)s" -f hls-akfire_interconnect_quic-3968 https://vimeo.com/234242342 --cookies my_cookies.txt

Ссылки

[править]

См. также

[править]

Примечания

[править]