yt-dlp – многофункциональный загрузчик аудио/ видео из командной строки

Установка yt-dlp на Linux

Для установки yt-dlp на Linux можно использовать менеджер пакетов pip. Ниже приведены инструкции по установке и обновлению yt-dlp.

Установка через pip

Вы можете установить yt-dlp с помощью pip, используя следующие команды:

  • Стандартная установка:
  • python3 -m pip install -U "yt-dlp[default]"

    Эта команда установит yt-dlp и все необходимые зависимости.

  • Установка без дополнительных зависимостей:
  • python3 -m pip install --no-deps -U yt-dlp

    Используйте эту команду, если вам не нужны дополнительные зависимости.

  • Установка nightly версии:
  • python3 -m pip install -U --pre "yt-dlp[default]"

    Для установки ночной версии yt-dlp, содержащей самые последние изменения.

  • Установка из мастер-ветки:
  • python3 -m pip install -U pip hatchling wheel
    python3 -m pip install --force-reinstall "yt-dlp[default] @ https://github.com/yt-dlp/yt-dlp/archive/master.tar.gz"

    Эта команда установит последнюю версию из мастер-ветки, если вы хотите быть на самом острие изменений.

  • Обновление yt-dlp:
  • python3 -m pip install -U "yt-dlp[default]"

    Для обновления установленной версии до последней используйте эту команду.

Использование и параметры (Usage and Options)

yt-dlp предоставляет широкий набор опций для управления процессом загрузки. Далее приводятся описания и примеры использования каждой категории опций.

Общие параметры (General Options)

Эти параметры управляют базовым поведением yt-dlp, включая вывод информации и поведение при ошибках.

  • -h, --help: Показать справку и выйти.
    yt-dlp -h

    Пример: Эта команда выведет полный список доступных опций и их описание.

  • --version: Показать версию yt-dlp и выйти.
    yt-dlp --version

    Пример: Используйте эту команду, чтобы узнать текущую установленную версию yt-dlp.

  • -v, --verbose: Включить подробный вывод.
    yt-dlp -v https://www.youtube.com/watch?v=dQw4w9WgXcQ

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

  • -q, --quiet: Отключить вывод информации.
    yt-dlp -q https://www.youtube.com/watch?v=example

    Пример: Эта команда загружает видео в тихом режиме, не выводя никаких сообщений.

Параметры сети (Network Options)

Эти параметры позволяют настраивать сетевые параметры, такие как использование прокси-сервера или настройка тайм-аутов.

  • --proxy URL: Использовать указанный прокси-сервер для всех сетевых запросов.
    yt-dlp --proxy http://127.0.0.1:8080 https://www.youtube.com/watch?v=example

    Пример: Использует локальный прокси-сервер на порту 8080 для загрузки видео.

  • --socket-timeout SECONDS: Установить тайм-аут подключения в секундах.
    yt-dlp --socket-timeout 15 https://www.youtube.com/watch?v=example

    Пример: Если подключение не установится в течение 15 секунд, оно будет прервано.

  • --source-address IP: Указать исходный IP-адрес для всех соединений.
    yt-dlp --source-address 192.168.1.100 https://www.youtube.com/watch?v=example

    Пример: Загрузка видео будет происходить с указанного IP-адреса.

  • --force-ipv4, --force-ipv6: Принудительно использовать IPv4 или IPv6.
    yt-dlp --force-ipv4 https://www.youtube.com/watch?v=example

    Пример: Принудительное использование IPv4 для загрузки видео.

Параметры гео-ограничений (Geo-restriction)

Эти параметры полезны для обхода географических ограничений, установленных некоторыми веб-сайтами.

  • --geo-verification-proxy URL: Использовать указанный прокси для проверки местоположения.
    yt-dlp --geo-verification-proxy http://proxy.example.com:8080 https://www.youtube.com/watch?v=example

    Пример: Прокси-сервер используется для проверки вашего местоположения при доступе к гео-ограниченному контенту.

  • --geo-bypass: Обход географических ограничений.
    yt-dlp --geo-bypass https://www.youtube.com/watch?v=example

    Пример: По умолчанию включено, позволяет обойти географические ограничения, если возможно.

  • --geo-bypass-country CODE: Принудительно использовать указанный код страны для обхода гео-ограничений.
    yt-dlp --geo-bypass-country US https://www.youtube.com/watch?v=example

    Пример: yt-dlp будет “представляться”, как будто находится в США.

Выбор видео (Video Selection)

Эти параметры позволяют выбирать конкретные видео из плейлиста или списка видео для загрузки.

  • --playlist-start NUMBER: Начать загрузку с указанного видео в плейлисте.
    yt-dlp --playlist-start 5 https://www.youtube.com/playlist?list=example

    Пример: Начинает загрузку с пятого видео в плейлисте.

  • --playlist-end NUMBER: Закончить загрузку на указанном видео в плейлисте.
    yt-dlp --playlist-end 10 https://www.youtube.com/playlist?list=example

    Пример: Загружает видео с начала до десятого видео включительно.

  • --match-title REGEX: Загружать только те видео, которые соответствуют регулярному выражению.
    yt-dlp --match-title "tutorial" https://www.youtube.com/playlist?list=example

    Пример: Загружает только те видео, в заголовке которых содержится слово “tutorial”.

  • --reject-title REGEX: Исключить видео, соответствующие регулярному выражению.
    yt-dlp --reject-title "test" https://www.youtube.com/playlist?list=example

    Пример: Исключает из загрузки все видео, в заголовке которых содержится слово “test”.

Параметры загрузки (Download Options)

Эти параметры управляют процессом загрузки, включая ограничения скорости и количество потоков.

  • -r, --limit-rate RATE: Ограничить скорость загрузки.
    yt-dlp -r 1M https://www.youtube.com/watch?v=example

    Пример: Ограничивает скорость загрузки до 1 МБ/с.

  • -R, --retries RETRIES: Установить количество попыток при сбоях.
    yt-dlp -R 3 https://www.youtube.com/watch?v=example

    Пример: Повторить попытку загрузки до 3 раз в случае сбоя.

  • --fragment-retries RETRIES: Установить количество попыток загрузки фрагментов.
    yt-dlp --fragment-retries 5 https://www.youtube.com/watch?v=example

    Пример: Попытаться загрузить фрагменты видео до 5 раз в случае сбоя.

  • --no-resize-buffer: Отключить изменение размера буфера.
    yt-dlp --no-resize-buffer https://www.youtube.com/watch?v=example

    Пример: Отключает изменение размера буфера во время загрузки.

Параметры файловой системы (Filesystem Options)

Эти параметры управляют тем, как загруженные файлы сохраняются на вашем компьютере.

  • -o, --output TEMPLATE: Задать шаблон имени выходного файла.
    yt-dlp -o "%(title)s.%(ext)s" https://www.youtube.com/watch?v=example

    Пример: Сохраняет загруженное видео с именем, соответствующим его заголовку.

  • -a, --batch-file FILE: Загрузить все URL-адреса, перечисленные в файле.
    yt-dlp -a urls.txt

    Пример: Загружает все видео из файла urls.txt, содержащего список URL.

  • --no-overwrites: Не перезаписывать уже существующие файлы.
    yt-dlp --no-overwrites https://www.youtube.com/watch?v=example

    Пример: Пропускает загрузку, если файл с таким именем уже существует.

  • --continue: Продолжить загрузку прерванного файла.
    yt-dlp --continue https://www.youtube.com/watch?v=example

    Пример: Продолжает загрузку файла, если она была прервана.

Параметры миниатюр (Thumbnail Options)

Эти параметры позволяют управлять загрузкой миниатюр видео.

  • --write-thumbnail: Загрузить миниатюру видео.
    yt-dlp --write-thumbnail https://www.youtube.com/watch?v=example

    Пример: Загружает миниатюру вместе с видео.

  • --convert-thumbnails FORMAT: Конвертировать миниатюру в указанный формат.
    yt-dlp --convert-thumbnails png https://www.youtube.com/watch?v=example

    Пример: Загружает миниатюру и конвертирует ее в формат PNG.

Параметры интернет-ссылок (Internet Shortcut Options)

Эти параметры позволяют создавать интернет-ссылки (ярлыки) на видео.

  • --write-link: Создать интернет-ссылку на видео.
    yt-dlp --write-link https://www.youtube.com/watch?v=example

    Пример: Создает файл .webloc, .url или .desktop с ссылкой на видео.

  • --write-url-link: Создать интернет-ссылку в формате .url.
    yt-dlp --write-url-link https://www.youtube.com/watch?v=example

    Пример: Создает интернет-ссылку в формате .url на видео.

  • --write-webloc-link: Создать интернет-ссылку в формате .webloc.
    yt-dlp --write-webloc-link https://www.youtube.com/watch?v=example

    Пример: Создает интернет-ссылку в формате .webloc на видео.

  • --write-desktop-link: Создать интернет-ссылку в формате .desktop.
    yt-dlp --write-desktop-link https://www.youtube.com/watch?v=example

    Пример: Создает интернет-ссылку в формате .desktop на видео.

Параметры вербозности и симуляции (Verbosity and Simulation Options)

Эти параметры позволяют изменять уровень вывода информации и симулировать процесс загрузки.

  • -s, --simulate: Только симулировать загрузку, не загружать видео.
    yt-dlp -s https://www.youtube.com/watch?v=example

    Пример: Показать, что было бы загружено, но не выполнять загрузку.

  • --skip-download: Пропустить загрузку видео.
    yt-dlp --skip-download https://www.youtube.com/watch?v=example

    Пример: Загружает только метаданные видео без самой загрузки.

  • -g, --get-url: Показать URL видео и выйти.
    yt-dlp -g https://www.youtube.com/watch?v=example

    Пример: Выводит прямую ссылку на видео и завершает работу.

  • -j, --dump-json: Выводить информацию о видео в формате JSON.
    yt-dlp -j https://www.youtube.com/watch?v=example

    Пример: Выводит всю информацию о видео в формате JSON.

Обходные пути (Workarounds)

Эти параметры помогают обойти различные проблемы, которые могут возникнуть при загрузке видео.

  • --encoding ENCODING: Задать кодировку для файла терминала.
    yt-dlp --encoding utf-8 https://www.youtube.com/watch?v=example

    Пример: Устанавливает кодировку UTF-8 для терминала.

  • --no-check-certificate: Не проверять SSL-сертификаты.
    yt-dlp --no-check-certificate https://www.youtube.com/watch?v=example

    Пример: Игнорирует ошибки проверки SSL-сертификата.

  • --prefer-insecure: Использовать небезопасные соединения HTTP.
    yt-dlp --prefer-insecure https://www.youtube.com/watch?v=example

    Пример: Предпочитает HTTP соединения вместо HTTPS.

Параметры форматов видео (Video Format Options)

Эти параметры позволяют выбирать и управлять форматами видео и аудио для загрузки.

  • -f, --format FORMAT: Задать формат видео/аудио.
    yt-dlp -f bestvideo+bestaudio https://www.youtube.com/watch?v=example

    Пример: Загружает лучшее видео и лучшее аудио и объединяет их.

  • --merge-output-format FORMAT: Задать формат выходного файла при объединении.
    yt-dlp --merge-output-format mkv https://www.youtube.com/watch?v=example

    Пример: Загруженные видео и аудио объединяются в формате MKV.

  • --prefer-free-formats: Предпочитать свободные форматы видео.
    yt-dlp --prefer-free-formats https://www.youtube.com/watch?v=example

    Пример: Предпочитает свободные форматы, такие как WebM.

  • --no-mtime: Не использовать время модификации исходного видео.
    yt-dlp --no-mtime https://www.youtube.com/watch?v=example

    Пример: Устанавливает время модификации файла на текущее время.

Параметры субтитров (Subtitle Options)

Эти параметры позволяют загружать и управлять субтитрами.

  • --write-subs: Загрузить субтитры.
    yt-dlp --write-subs https://www.youtube.com/watch?v=example

    Пример: Загружает субтитры вместе с видео.

  • --sub-lang LANG: Задать язык субтитров.
    yt-dlp --sub-lang en https://www.youtube.com/watch?v=example

    Пример: Загружает только английские субтитры.

  • --convert-subs FORMAT: Конвертировать субтитры в указанный формат.
    yt-dlp --convert-subs srt https://www.youtube.com/watch?v=example

    Пример: Конвертирует загруженные субтитры в формат SRT.

  • --embed-subs: Встроить субтитры в видеофайл.
    yt-dlp --embed-subs https://www.youtube.com/watch?v=example

    Пример: Встраивает загруженные субтитры в видеофайл.

Параметры аутентификации (Authentication Options)

Эти параметры управляют аутентификацией на сайте для загрузки защищенного контента.

  • -u, --username USERNAME: Имя пользователя для аутентификации.
    yt-dlp -u myusername https://www.youtube.com/watch?v=example

    Пример: Использует указанное имя пользователя для аутентификации.

  • -p, --password PASSWORD: Пароль для аутентификации.
    yt-dlp -u myusername -p mypassword https://www.youtube.com/watch?v=example

    Пример: Использует указанное имя пользователя и пароль для аутентификации.

  • --twofactor CODE: Код двухфакторной аутентификации.
    yt-dlp -u myusername -p mypassword --twofactor 123456 https://www.youtube.com/watch?v=example

    Пример: Использует двухфакторную аутентификацию с указанным кодом.

  • --netrc: Использовать файл .netrc для аутентификации.
    yt-dlp --netrc https://www.youtube.com/watch?v=example

    Пример: Использует файл .netrc для получения учетных данных.

Параметры пост-обработки (Post-processing Options)

Эти параметры управляют обработкой файлов после загрузки.

  • --extract-audio: Извлечь аудио из видео.
    yt-dlp --extract-audio https://www.youtube.com/watch?v=example

    Пример: Извлекает аудио из загруженного видео.

  • --audio-format FORMAT: Задать формат извлеченного аудио.
    yt-dlp --extract-audio --audio-format mp3 https://www.youtube.com/watch?v=example

    Пример: Извлекает аудио из видео и сохраняет его в формате MP3.

  • --add-metadata: Добавить метаданные в файл.
    yt-dlp --add-metadata https://www.youtube.com/watch?v=example

    Пример: Добавляет метаданные, такие как название и автор, в загруженный файл.

  • --embed-thumbnail: Встроить миниатюру в файл.
    yt-dlp --embed-thumbnail https://www.youtube.com/watch?v=example

    Пример: Встраивает миниатюру в загруженный аудиофайл.

Параметры SponsorBlock (SponsorBlock Options)

Эти параметры позволяют использовать SponsorBlock для пропуска рекламы и других сегментов.

  • --sponsorblock-mark ALL: Отметить все сегменты SponsorBlock.
    yt-dlp --sponsorblock-mark all https://www.youtube.com/watch?v=example

    Пример: Отмечает все сегменты, отмеченные SponsorBlock, в загруженном видео.

  • --sponsorblock-remove CATEGORY: Удалить сегменты SponsorBlock указанной категории.
    yt-dlp --sponsorblock-remove sponsor https://www.youtube.com/watch?v=example

    Пример: Удаляет сегменты, помеченные как реклама, из загруженного видео.

Параметры извлечения (Extractor Options)

Эти параметры позволяют управлять извлечением видео с помощью разных стратегий.

  • --allow-dynamic-mpd: Разрешить использование динамических MPD.
    yt-dlp --allow-dynamic-mpd https://www.youtube.com/watch?v=example

    Пример: Позволяет загружать видео с использованием динамических MPD.

  • --no-playlist: Не загружать плейлисты, только видео.
    yt-dlp --no-playlist https://www.youtube.com/watch?v=example

    Пример: Загружает только указанное видео, игнорируя плейлисты.

Конфигурация (Configuration)

yt-dlp позволяет настраивать поведение программы с помощью конфигурационных файлов и переменных окружения.

Кодировка файла конфигурации (Configuration File Encoding)

yt-dlp поддерживает разные кодировки для файла конфигурации, такие как UTF-8 и ASCII.

  • Пример использования конфигурационного файла:
  • # ~/.config/yt-dlp/config
    --format bestvideo+bestaudio/best
    --merge-output-format mkv
    --write-subs
    --sub-lang en
    

    Этот файл конфигурации указывает загрузку лучшего видео и аудио, объединение их в формате MKV, а также загрузку английских субтитров.

Переменные окружения (Environment Variables)

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

  • YTDL_FORMAT: Задает формат по умолчанию для загрузки.
  • YTDL_USERNAME: Имя пользователя для аутентификации по умолчанию.
  • YTDL_PASSWORD: Пароль для аутентификации по умолчанию.

Заключение (Conclusion)

yt-dlp предоставляет мощные инструменты для загрузки видео с различных платформ. Понимание доступных параметров и их правильное использование позволит вам эффективно загружать контент в нужном формате и с нужными настройками.