Об этом проекте

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-библиотека, позволяя встроить логику извлечения и загрузки в скрипты и приложения. ## Лицензирование Выпущено в общественное достояние — свободно для модификации, распространения и использования любым образом.