Об этом проекте
youtube-dl — это программа командной строки для загрузки видео с YouTube.com и множества других видео-платформ. Написана на Python, работает кроссплатформенно (Linux, macOS, Windows) и требует Python 2.6/2.7 или 3.2+.
## Установка
Доступна несколькими способами:
- Прямая загрузка бинарника: `sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl`
- pip: `sudo -H pip install --upgrade youtube-dl`
- macOS Homebrew: `brew install youtube-dl`
- macOS MacPorts: `sudo port install youtube-dl`
- Windows: Скачайте .exe и поместите его в PATH (не в System32).
## Основные возможности
- Загрузка видео и субтитров с более чем 1000 поддерживаемых сайтов с помощью специализированных извлекателей.
- Полная поддержка плейлистов с выбором диапазона (`--playlist-start`, `--playlist-end`, `--playlist-items`), обратным и случайным порядком.
- Выбор формата видео и фильтрация по разрешению, контейнеру, кодеку, размеру файла, продолжительности, количеству просмотров и дате.
- Обход географических ограничений через поддельные заголовки X-Forwarded-For, пользовательские коды стран или исключения IP-блоков.
- Сетевые опции: HTTP/HTTPS/SOCKS-прокси, принудительный IPv4/IPv6, таймауты сокетов, пользовательские User-Agent и Referrer.
- Поддержка внешних загрузчиков (aria2c, curl, ffmpeg, wget, axel и др.) для сложных сценариев загрузки.
- Возобновление частично загруженных файлов; настраиваемое количество повторных попыток как для целых фрагментов, так и для отдельных.
- Шаблонизация имён выходных файлов с широким набором ключей метаданных (title, uploader, upload date, resolution, format и др.).
- Дополнительные выходные артефакты: миниатюры (одна или все форматы), `.info.json` метаданные, `.description` файлы, `.annotations.xml`.
## Распространённые сценарии использования
Базовая загрузка: `youtube-dl <URL>`
Загрузка элементов плейлиста с 5 по 10: `youtube-dl --playlist-items 5-10 <playlist_URL>`
Выбор лучшего видео: `youtube-dl -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]" <URL>`
Задание шаблона вывода: `youtube-dl -o "%(title)s [%(id)s].%(ext)s" <URL>`
Загрузка субтитров: добавьте `--write-subs --sub-langs en` к команде.
Тестовый прогон без загрузки: `youtube-dl --skip-download <URL>`
Вывод JSON-метаданных: `youtube-dl --dump-json <URL>`
Ограничение скорости: `youtube-dl --limit-rate 50K <URL>`
## Конфигурация
Опции можно размещать в конфигурационных файлах:
- Системный: `/etc/youtube-dl.conf`
- Пользовательский: `~/.config/youtube-dl/config` (Linux/macOS) или `%APPDATA%/youtube-dl/config.txt` (Windows)
Используйте `--config-location` для указания пользовательского пути или `--ignore-config` для пропуска чтения любых конфигурационных файлов.
## Встраивание
youtube-dl может использоваться как Python-библиотека, позволяя встроить логику извлечения и загрузки в скрипты и приложения.
## Лицензирование
Выпущено в общественное достояние — свободно для модификации, распространения и использования любым образом.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.