Главная >> Инструкции >> Как пользоваться youtube-dl

Как пользоваться youtube-dl

У вас хотя бы раз в жизни возникало желание сохранить на компьютере понравившееся видео или аудио из интернета? Но как на зло на сайте не было заветной кнопки Скачать? Именно для таких случаев и предназначена бесплатная кроссплатформенная утилита youtube-dl: она позволяет загружать звуковые и видеофайлы, зная лишь адрес страницы, где расположен файл.

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


Содержание статьи

Установка youtube-dl

В ОС Ubuntu установка youtube-dl возможна несколькими способами, в том числе и через Менеджер приложений. Однако чтобы получить самую свежую версию утилиты, следует пользоваться не репозиториями конкретного дистрибутива, а системой управления пакетами pip.

Если pip уже установлен в вашей системе, выполните в терминале следующую команду:

sudo -H pip install --upgrade youtube-dl

В противном случае, перед тем как установить youtube-dl, установите pip:

sudo apt install python-pip

Разработчики часто выпускают обновления, поэтому со временем некоторые функции утилиты перестают работать. Если вы попытаетесь скачать видео спустя неделю или месяц после установки youtube-dl, то вероятно увидите подобную ошибку:

Если такое произошло, установите обновлённую версию утилиты:

sudo pip install -U youtube-dl

Синтаксис и опции

Для успешного использования утилиты необходимо правильно записывать команды в терминале. Синтаксис утилиты прост:

$ youtube-dl опции URL-адрес

Основные опции:

  • -U, --update — установка обновлений;
  • --dump-user-agent — просмотр идентификационных данных, отсылаемых утилитой на веб-сервер;
  • --abort-on-error — отменить загрузку следующих видео из списка (плейлиста) в случае какой-либо ошибки;
  • --list-extractors — просмотреть список сайтов, с которых можно скачивать файлы;
  • --extractor-descriptions — список сайтов с примечаниями;
  • --playlist-start n — начать загрузку плейлиста с файла под номером n;
  • --max-downloads — остановить работу утилиты после загрузки n-ного количества файлов;
  • -i, --ignore-errors — продолжить скачивание, если работа утилиты «застопорилась» из-за ошибки (например, очередное видео из плейлиста оказалось недоступным);
  • --proxy URL — использование прокси-серверов (HTTP/HTTPS/SOCKS);
  • --geo-verification-proxy URL — использование прокси для создания фейковой геолокации (требуется, если перечень стран, где видео доступно для просмотра, ограничен);
  • --mark-watched — отметить видео просмотренными (также существует опция с противоположным действием --no-mark-watched; обе опции действительны только для youtube);
  • --min-filesize SIZE, --max-filesize SIZE — не загружать видео, если его размер меньше или больше заданного;
  • --date DATE — загружать только видео, которые были выложены на сервер в заданную дату (также существуют опции --datebefore DATE для загрузки видео, которые были выложены до указанной даты, и --dateafter DATE для загрузки видео, которые были выложены после указанной даты);
  • --no-playlist — загружать только видео, если по указанному адресу расположены и видео, и плейлист (также есть опция --only-playlist, которая при аналогичных обстоятельствах позволяет загрузить только плейлист);
  • --include-ads — скачивать видео вместе с рекламой;
  • -r, --limit-rate — ограничение скорости скачивания;
  • --buffer-size — установка размера фрагментов, записываемых в буфер;
  • --playlist-reverse — начать загрузку видео с конца плейлиста;
  • --playlist-random — загружать видео из плейлиста в случайном порядке;
  • --id — использовать в качестве названия видео его id-номер;
  • -w, --no-overwrites — не перезаписывать файлы;
  • -c, --continue — --no-continue;
  • --write-description — сохранить описание видео в файл .description;
  • --no-warnings — игнорировать предупреждения;
  • --no-check-certificate — не проверять, действителен ли сертификат безопасности для указанного сайта;
  • -F, --list-formats — показать все доступные форматы файлов для указанного видео или плейлиста;
  • --write-sub — сохранять файл с субтитрами.

С полным перечнем опций можно ознакомиться, выполнив в терминале одну из следующих команд:

man youtube-dl

youtube-dl -h

Как пользоваться Youtube-dl

1. Загрузка видео или плейлиста

Чтобы загрузить видео, достаточно выполнить в терминале такую команду:

youtube-dl URL-adress

Обратите внимание — утилита работает не со всеми сайтами. Узнать список доступных интернет-ресурсов можно, воспользовавшись командой:

youtube-dl --list-extractors

Предварительно настройте в терминале бесконечный буфер прокрутки, иначе увидите лишь часть списка.

Утилита youtube-dl сохраняет видео на диск, присваивая ему название, которое указано на интернет-странице. Опция -o позволяет назвать файл так, как удобно вам:

youtube-dl -o 'еще одно видео с ютуба которое через 5 минут отправится в корзину' https://www.youtube.com/watch?v=dkmjCAjAQug

По умолчанию все файлы, загруженные с помощью youtube-dl, попадают в корневую папку. Сохранить видео в любой другой папке можно, прописав путь к нему с использованием всё той же опции -o:

youtube-dl -o '~/Downloads/еще одно видео с ютуба которое через 5 минут отправится в корзину' https://www.youtube.com/watch?v=dkmjCAjAQug

Не забывайте заключать текст в одинарные кавычки, иначе он будет неверно воспринят утилито, и она вернёт сообщение об ошибке.

2. Загрузка нескольких видео

Для загрузки нескольких разрозненных видео достаточно прописать их адреса, разделяя пробелом:

youtube-dl URL-adress-1  URL-adress-2  URL-adress-3

Либо скопировать адреса в текстовый файл и сохранить его в корневой папке. В этом случае команда выглядит так:

youtube-dl -a filename.txt

3. Загрузка только аудио

Существуют опции команды youtube-dl, позволяющие скачать не весь видеофайл, а только звуковую дорожку из него. Используйте -x, если вам нужна музыка или голосовая запись без изображения:

youtube-dl -x URL-adress

4. Просмотр доступных форматов аудио и видео

Порой, перед загрузкой видео возникает необходимость узнать, в каких форматах оно доступно. Эту информацию легко получить, воспользовавшись опцией --list-formats. Применяйте её как для отдельных видео, так и для плейлистов:

youtube-dl --list-formats URL-adress

5. Загрузка видео определённого формата и качества

По умолчанию утилита youtube-dl загружает видео и аудио в наилучшем качестве изо всех доступных вариантов. Однако при загрузке видео и музыки из YouTube у вас есть возможность выбрать, какое качество звука и изображения вы хотите получить:

  • best – наилучшее качество видео и аудио;
  • worst – наихудшее качество видео и аудио;
  • bestvideo – наилучшее качество видео;
  • worstvideo – наихудшее качество видео;
  • bestaudio – наилучшее качество аудио;
  • worstaudio – наихудшее качество аудио.

Пропишите желаемый вариант в тексте команды после опции -f. Например, для наилучшего качества видео и аудио одновременно, запись будет выглядеть так:

youtube-dl -f best URL-adress

Выводы

Утилита youtube-dl пригодится всем, кто хочет скачивать музыку и видео с сайтов, где такая функция не предусмотрена. У неё множество гибких настроек и всего лишь один минус — отсутствие полноценной графической оболочки. В менеджере приложений Ubuntu можно найти Gydl — оболочку youtube-dl с очень обрезанным набором возможностей, в целом её работоспособность оставляет желать лучшего.

Creative Commons License
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

33 комментария к “Как пользоваться youtube-dl”

    • Подскажите в какой сборке нет curl, а только wget? Обычно наоборот.

      Альтернативный вариант закачки:
      ytdl_org__youtube_dl=https://api.github.com/repos/ytdl-org/youtube-dl/releases/latest
      curl -OL $(curl -s $ytdl_org__youtube_dl | grep -oP '(?<=download_url": ").*dl(?=.sig)')

      Ответить
  1. Здравствуйте. А есть решение для загрузки на удалённый хост по принципу transmission remote. Допустим есть nas на Ubuntu server и есть потребность загружать видео или аудио на него

    Ответить
  2. alias yta-aac='youtube-dl --extract-audio --audio-format aac '
    alias yta-best='youtube-dl --extract-audio --audio-format best '
    alias yta-flac='youtube-dl --extract-audio --audio-format flac '
    alias yta-m4a='youtube-dl --extract-audio --audio-format m4a '
    alias yta-mp3='youtube-dl --extract-audio --audio-format mp3 '
    alias yta-opus='youtube-dl --extract-audio --audio-format opus '
    alias yta-vorbis='youtube-dl --extract-audio --audio-format vorbis '
    alias yta-wav='youtube-dl --extract-audio --audio-format wav '
    alias ytv-best='youtube-dl -f bestvideo+bestaudio '

    Ответить
  3. А ещё проще поставить кроссплатформенный gui под названием Youtube-DLG (с буквой G) на конце и через него скачать обновление бинарника youtube-dl (в папку пользователя).
    Это простой gui, но он умеет в ссылки, списки, выбор формата, переименование и много чего полезного, без ковыряния руками в консоли с длинной командой.

    Ответить
  4. Проще файл настроек создать и установить ffmpeg и lame. Будет знать куда, в каком формате и в случае чего переконвертирует. Гибкость нулевая, но и кучу команд запоминать не нужно. Совсем просто — установить Youtube-dl GUI, и не парится.

    Ответить
  5. Вопрос такой, как создать конфиг, в котором бы содержалось:
    1. Качество, допустим '-480р.mp4'
    2. Присутствовал звук "в каком-то качестве"
    3. Грузилось допустим в '/home/s/Видео/YouTube'
    4. Импортировались ссылки из листа /home/s/YouTube.txt

    А то пытаюсь грузить ролики с 480р - он грузит их без звука, пытаюсь писать в выше перечисленную директорию - он ругаеться на путь.

    Ответить
    • На путь ругается из-за наличия кириллических символов в названии папки Видео. Переименуйте ее в Video или как-нибудь по-другому, но чтобы в названии были только буквы латинского алфавита.

      Ответить
  6. Насчёт пути - это всё понятно, но нет чёткого ответа, как скачать видео дорожку и склеить её с видео дорожкой, после --list-formats. Допустим меня интересуют строки:
    140 m4a audio only tiny 135k , m4a_dash container, mp4a.40.2@128k (44100Hz), 85.35MiB
    397 mp4 854x480 480p 766k , av01.0.04M.08, 25fps, video only, 249.51MiB
    Как именно их скачать и объеденить, сделать видео файл среднего объёма. примерно на ~300 мб среднего качества, а не качать уже готовые, которые не подходят не покачеству, не по объёму
    18 mp4 640x360 360p 492k , avc1.42001E, 25fps, mp4a.40.2@ 96k (44100Hz), 324.60MiB
    22 mp4 1280x720 720p 630k , avc1.64001F, 25fps, mp4a.40.2@192k (44100Hz) (best)

    Вся эта заморочка производиться, для скачки видео и просмотра его на мобильном устройстве, на относительно не большом накопителе, но т.к. не везде имееться хорошее покрытие сети, или его вообще где-то нет, ролики проще дома залить через безлимитное соединение и смотреть где-то в дороге.

    Ответить
  7. Может кто сталкивался с такой задачей?
    Нужно выкачать активный стрим (трансляцию) с доступного начала, а не с текущего момента.
    Стрим идет 24/7, при этом в истории стрима доступны последние 12 часов.
    Есть стартовать с настройкой по умолчанию, то стартует только с текущего онлайн момента, а нужно так же доступную историю захватить. Ждать окончания стрима не вариант, поскольку опять же будет доступно только последние 12 часов и не факт что стрим остановится в ближайшие дни/месяцы )

    Ответить
  8. В пункте 2 указаны способы загрузки нескольких адресов (через пробелы и через txt-файл).
    Эти способы обеспечивают последовательную загрузку,
    то есть когда каждый последующий адрес загружается только после загрузки предыдущего.
    Этот способ хорош, когда скорость скачивания не ограничена.
    Но, если скорость ограничена, нужна параллельная загрузка,
    то есть когда все адреса скачиваются одновременно и независимо.
    Можно, например, для каждого адреса открывать своё окно-терминал,
    но в большинстве случаев такой подход раздражает любого,
    поэтому обозначаю ВОПРОС:
    какие команды (кто знает практически) вводятся для параллельного одновременного
    и независимого скачивания нескольких адресов в одном окне-терминала?
    Особая благодарность тем, кто не поленится и покажет конкретные примеры
    в такой же простой, а значит и практичной форме, в которой в пункте 2
    прописаны способы последовательной загрузки.

    Ответить
  9. Вопрос из интернет: "как я могу установить расположение загрузки по умолчанию в youtube-dl, чтобы все, что я загружаю с youtube-dl, попадало в этот каталог по умолчанию?"

    Решение при помощи alias
    nano ~/.bashrc
    Добавить строки к другим alias.
    alias vvv_load="youtube-dl -f 'bestvideo+bestaudio' --merge-output-format mkv -o '~/Videos/%(title)s.%(ext)s'"
    alias aaa_load="youtube-dl -x -f 'bestaudio' --audio-format mp3 -o '~/Audio/%(title)s.%(ext)s"

    Ответить
  10. Зависит от того, как вы его установите. То, как вы предложили, это только один скомпилированный исполняемый файл python, чтобы получить эквивалент упакованной версии, вам нужно будет установить его следующим образом (на Mint):

    sudo -H pip3 install --upgrade youtube-dl

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

    apt install python3-pip

    Ответить
  11. Здравствуйте! Я юзер-чайник-пенсионерка. На днях Касперский отключил расширение MeddleMonkey и у меня накрылся SaveFrom.net. Принудительно расширение не включается. Вроде бы это решение Яндекса, но я пользуюсь Google Chrome. Пожалуйста, посоветуйте другую простую рабочую программу для скачивания видео с Ю-туба в один клик. Мне это необходимо в творческой работе. Сама что-то прописывать в конфигурации не могу, не разбираюсь.

    Ответить
    • Никогда не пользовался расширением SaveFrom, потому что есть один очень простой метод, который не требует установки дополнительных расширений. Если в Chrome кликнуть по адресной строке и перед youtube написать ss чтобы получилось ssyoutube.com открывается страница из SaveFrom, на которой можно скачать видео. Это работает до сих пор.

      Ответить
  12. А youtube-dl у всех качает медленно или только у меня?
    "[youtube] VW4_gii624M: Downloading webpage 1 ⚙
    [download] Resuming download at byte 549973
    [download] Destination: ЛЧ! Провал обороны 21 века! Как Ливерпуль выиграл, проиграл, и снова выиграл матч с Атлетико-VW4_gii624M.f137.mp4
    [download] 37.9% of 339.98MiB at 74.70KiB/s ETA 48:12"

    Ответить
  13. Очень, очень медленно качает видео. Одновременно с закачкой на скорости 100 кбайт/с это же самое видео моментально грузится в браузере. Можно ли это как то поправить?

    Ответить

Оставьте комментарий