yt-dlp — консольный загрузчик видео и аудио, рассчитанный не на монтаж локальных файлов, а на получение медиаданных по адресам страниц и потоков с поддерживаемых сайтов. Он развивает идеи youtube-dl, является форком youtube-dl на базе ныне неактивного youtube-dlc и ориентирован на пользователей, которым важны точный выбор качества, пакетная работа, автоматизация, субтитры, метаданные и управляемая постобработка. У программы нет собственного графического окна: основная работа проходит в терминале, а результатом становятся сохранённые медиафайлы, субтитры, обложки и служебные данные. На сентябрь 2026 года проект активно развивается; актуальная стабильная версия — 2026.08.19, при этом для регулярного использования команда проекта рекомендует канал nightly из-за частых изменений на видеосайтах.
Скачать yt-dlp бесплатно
Рекомендуемый аналог
ВидеоМАСТЕР
Конвертер видео и аудио для Windows с русским интерфейсом
- Конвертация видео и аудио между популярными форматами
- Подготовка файлов для устройств и публикации
- Обрезка, соединение, звук и субтитры
- Русскоязычный интерфейс для Windows
yt-dlp
Программа для работы с видео или аудио на русском языке
- Меньше инструментов для точной локальной коррекции
- Часть расширенных функций доступна только платно
- Набор инструментов зависит от версии и платформы
- Может не подойти для сложного профессионального монтажа
Что такое yt-dlp и чем он отличается от похожих продуктов
yt-dlp относится к классу загрузчиков сетевого медиаконтента с интерфейсом командной строки. Пользователь передаёт программе адрес страницы или потока, после чего соответствующий модуль извлечения определяет доступные варианты видео, аудио, субтитров, миниатюр и метаданных. Далее yt-dlp выбирает нужные потоки по правилам команды, загружает их и при необходимости передаёт файлы внешним компонентам для объединения, перекодирования или встраивания дополнительных данных.
Название важно не путать с отдельными графическими приложениями, которые используют yt-dlp как внутренний движок. Такие программы добавляют кнопки, очередь, библиотеку или визуальные настройки, но остаются самостоятельными проектами. Сам yt-dlp не является веб-сервисом, мобильным приложением, видеоредактором или облачным конвертером. У него нет собственной учётной записи, платного кабинета и серверного хранилища, куда пользователь обязан загружать исходный файл.
Исторически проект создан pukkandan как форк и затем продолжен открытым сообществом сопровождающих. Код и выпуски публикуются открыто, изменения проходят через публичный репозиторий, а отдельные сопровождающие отвечают за проверку изменений, слияние кода и выпуск релизов. Такой формат разработки имеет практическое значение: поддержка конкретного сайта зависит от актуальности соответствующего модуля извлечения, поэтому обновление программы здесь влияет не только на новые функции, но и на способность работать с уже знакомыми площадками после изменений с их стороны.
Основные параметры
| Параметр | Характеристика |
|---|---|
| Тип | Консольный загрузчик сетевого видео и аудио |
| Происхождение | Форк youtube-dl, основанный на ранее существовавшем youtube-dlc |
| Текущий статус | Активно развивается; стабильный выпуск 2026.08.19 актуален на сентябрь 2026 года |
| Интерфейс | Командная строка; официального графического интерфейса нет |
| ОС | Официальные сборки для Windows, macOS и Linux; платформонезависимый вариант работает через Python |
| Python | Поддерживаются CPython 3.10+ и PyPy 3.11+ |
| Распространение | Готовые исполняемые файлы, пакет Python через pip, сторонние менеджеры пакетов, исходный код |
| Стоимость | Бесплатно; платных редакций, подписки и пробного периода у yt-dlp нет |
| Регистрация | Для самой программы не требуется; отдельные сайты требуют собственную авторизацию |
| Основные зависимости | ffmpeg и ffprobe для объединения и постобработки; yt-dlp-ejs и поддерживаемая среда JavaScript важны для полноценной работы с YouTube |
| Входные данные | Адреса страниц и потоков, списки адресов в пакетном файле, ранее сохранённые info JSON в поддерживаемом сценарии |
| Результат | Видео, аудио, субтитры, миниатюры, описания, info JSON и другие выбранные пользователем файлы |
| Облачная обработка | Собственного облака нет; извлечение и постобработка выполняются локально, а данные получаются из сетевых источников |
| Мобильная версия | Официальных нативных приложений для Android и iOS в наборе релизов нет |
Платформы, сборки и системные требования
Для Windows основной официальный вариант — автономный 64-битный файл yt-dlp.exe, рассчитанный на Windows 8 и новее. Отдельно публикуются 32-битная сборка для Windows 8+ и ARM64-вариант для Windows 10+. Эти файлы включают Python-среду, поэтому обычному пользователю Windows не требуется отдельно устанавливать Python только ради запуска yt-dlp.
Для macOS рекомендуемый автономный универсальный исполняемый файл рассчитан на macOS 10.15 и новее. Для Linux предусмотрены несколько вариантов: платформонезависимый zipimport-файл, которому нужен Python, а также автономные x86_64 и ARM-сборки для систем с glibc, плюс сборки для musl. Для основной Linux x86_64-сборки заявлена glibc 2.17+, для ARM64 — также glibc 2.17+, а распакованный armv7l-вариант требует glibc 2.31+. Это важнее общей формулировки «работает на Linux»: на старой системе архитектура процессора и версия системной библиотеки определяют, запустится ли конкретный готовый файл.
Платформонезависимая установка через Python требует CPython 3.10 или новее либо PyPy 3.11 или новее. Пакет устанавливается через pip и подходит тем, кто уже работает с Python-окружениями, виртуальными средами или автоматизацией. Для пользователей, которые не хотят управлять Python-зависимостями, автономная официальная сборка обычно проще, поскольку основная среда выполнения уже включена.
Часть распакованных альтернативных сборок помечена как не поддерживающая самообновление. У официального release-бинарника команда yt-dlp -U обновляет программу в пределах текущего канала. При установке через pip обновление выполняется повторным вызовом команды установки, а при использовании системного менеджера пакетов механизм обновления определяется этим менеджером. Пакет в стороннем репозитории дистрибутива не всегда совпадает по свежести с официальным выпуском, что особенно заметно после изменений на стороне видеосервисов.
Зачем нужны ffmpeg и ffprobe
ffmpeg и ffprobe не являются обязательными для самого простого скачивания готового одиночного файла, однако для нормальной работы с современными площадками они практически необходимы. Многие сервисы отдают видео и аудио раздельными потоками. yt-dlp скачивает оба потока, а ffmpeg объединяет их в итоговый контейнер. Эти же инструменты используются для извлечения аудио, перекодирования, ремультиплексирования, встраивания субтитров, обработки миниатюр и ряда исправлений контейнера.
Нужен именно исполняемый файл ffmpeg, а не одноимённый пакет Python. Проверка наличия компонента сводится к тому, что ffmpeg должен находиться через системный PATH либо быть указан в настройках yt-dlp. В подробном режиме диагностики yt-dlp выводит сведения о доступных зависимостях, что помогает отличить проблему сайта от отсутствующей локальной программы.
JavaScript-среда и yt-dlp-ejs
Для полноценной поддержки YouTube актуальные версии используют внешний механизм решения JavaScript-задач yt-dlp-ejs. Вместе с ним требуется поддерживаемая среда JavaScript. Рекомендуемый вариант — Deno; он включён по умолчанию среди сред выполнения yt-dlp. Также поддерживаются Node.js и QuickJS, а поддержка Bun в текущей документации помечена как устаревающая. Для Deno установлен минимальный поддерживаемый уровень 2.3.0, для Node.js — 22.0.0.
В официальных PyInstaller-сборках и в официальном Unix zipimport-файле компоненты yt-dlp-ejs уже включены. При установке через PyPI рекомендуемый набор зависимостей ставится вместе с группой default. У сторонних пакетных сборок наличие актуального yt-dlp-ejs зависит от упаковки конкретного дистрибутива. Поэтому ситуация, когда базовая команда работает, а полноценное извлечение YouTube ограничено, требует проверки не только версии yt-dlp, но и JavaScript-компонентов.
Как устроен интерфейс
У yt-dlp нет главного окна, панели инструментов, таймлайна и диалогов экспорта. Интерфейс состоит из команд, параметров и текстового вывода в терминале. Это не недостаток реализации, а основной принцип продукта: одна и та же операция описывается воспроизводимой строкой и затем повторяется вручную, из пакетного файла, планировщика, скрипта или другой программы.
Для понимания работы удобно разделить интерфейс не на визуальные панели, а на функциональные зоны. Первая зона — строка запуска, где задаются адрес и параметры. Вторая — модуль извлечения, который распознаёт сайт и получает доступные медиапотоки и метаданные. Третья — механизм выбора форматов, фильтров и сортировки. Четвёртая — загрузчик, показывающий состояние передачи, скорость и ход фрагментов. Пятая — постобработка, в которой участвуют ffmpeg, ffprobe и встроенные обработчики. Шестая — файловая система: каталог результата, шаблон имени, архив уже обработанных элементов и дополнительные файлы.
Основная форма запуска выглядит как yt-dlp с набором параметров и одним или несколькими адресами. Команда yt-dlp –help выводит справку, а yt-dlp –version показывает версию. Для диагностики используется подробный режим -v; при подготовке отчёта об ошибке разработчики рекомендуют -vU, чтобы одновременно показать диагностические данные и убедиться в актуальности сборки.
Названия параметров, сообщения и справка используют английские технические термины. Отдельного графического слоя локализации нет, поскольку официального GUI нет; визуальный интерфейс дают только сторонние оболочки.
Основные функции yt-dlp
Извлечение медиа с поддерживаемых сайтов
Ядро программы строится вокруг набора extractors — модулей, которые знают структуру конкретных сайтов и типов страниц. В поставку входит большое число таких модулей для видеоплатформ, вещательных сайтов, социальных сервисов и других источников. Дополнительно существуют механизмы извлечения встроенных плееров и универсальный обработчик, поэтому отсутствие домена в явном перечне ещё не означает автоматическую несовместимость.
Обратная сторона такого охвата — зависимость от внешних сайтов. Площадка меняет API, способ выдачи страницы, подписи потока или защиту от автоматизации, и отдельный extractor перестаёт работать до обновления. Поэтому перечень поддерживаемых площадок не является гарантией бесперебойной работы каждого пункта. Надёжная проверка конкретного адреса выполняется запуском актуальной версии yt-dlp на этом адресе.
Программа не снимает ограничения учётной записи и не предоставляет права на контент. Если площадка открывает материал только авторизованному пользователю, yt-dlp использует доступ, который уже есть у пользователя, через поддерживаемый способ входа или cookies. Если сервис не отдаёт нужный поток этой сессии, параметр выбора качества не создаст его локально.
Просмотр и выбор доступных форматов
Команда -F выводит доступные варианты для конкретного материала и работает в режиме моделирования, не загружая итоговый файл. В таблице обычно видны идентификаторы форматов и связанные с ними характеристики, полученные extractor: наличие видео или аудио, контейнер, разрешение, частота кадров, кодек, битрейт и другие поля, если источник их предоставляет. Идентификаторы форматов зависят от extractor и конкретного материала, поэтому число вроде 137 или 248 нельзя считать универсальным профилем для всех сайтов.
Без явного выбора yt-dlp стремится получить лучшее доступное качество. Текущий базовый алгоритм обычно предпочитает лучший видеоформат с последующим добавлением лучшего аудио либо использует лучший комбинированный вариант. Когда ffmpeg недоступен, поведение меняется в сторону формата, который уже содержит звук и изображение либо не требует объединения. Поэтому наличие ffmpeg влияет не только на постобработку после скачивания, но и на то, какой практический результат даст настройка «лучшее качество».
Параметр -f задаёт выражение выбора, а -S сортирует варианты по полям. Можно ограничивать разрешение, предпочитать определённый кодек, контейнер, частоту кадров или аудиохарактеристики, строить цепочки предпочтений и резервные варианты. Такая модель сильнее обычного выпадающего списка «720p/1080p», но требует понимания, что контейнер и кодек — разные свойства. MP4-файл не гарантирует конкретный видеокодек, а WebM не означает фиксированное разрешение.
Объединение видео и аудио
На современных видеосервисах высокие разрешения часто представлены отдельными дорожками: видеопоток без звука и аудиопоток без изображения. yt-dlp умеет выбрать несколько потоков и передать их ffmpeg для объединения. Для результата используются поддерживаемые контейнеры AVI, FLV, MKV, MOV, MP4 и WebM. Параметр контейнера объединения действует только тогда, когда объединение действительно требуется.
Если поток уже содержит видео и звук, дополнительное объединение не нужно. Если выбранный контейнер не способен хранить имеющийся кодек, простая смена контейнера не исправляет несовместимость. В таком случае требуется либо другой контейнер, либо перекодирование. Это одна из причин, почему настройка «всегда MP4» требует аккуратности: иногда достаточно remux, а иногда нужен recode с реальным преобразованием медиаданных.
Извлечение и преобразование аудио
Режим -x превращает загруженный материал в аудиофайл и требует ffmpeg вместе с ffprobe. В качестве целевого аудиоформата поддерживаются best, AAC, ALAC, FLAC, M4A, MP3, Opus, Vorbis и WAV. Отдельно задаётся качество кодирования: числовая шкала VBR от 0 до 10, где 0 обозначает лучшее качество, либо конкретный битрейт вроде 128K.
Важно различать извлечение исходной аудиодорожки и перекодирование в выбранный формат. Если исходный поток уже имеет подходящий кодек и контейнер, лишнее перекодирование не даёт дополнительного качества. Преобразование в MP3 или другой кодек выполняется ради совместимости и удобства, а не ради восстановления деталей, которых нет в исходном потоке.
Remux и recode
Параметр –remux-video меняет контейнер без обязательного перекодирования медиапотоков. Текущий перечень целей включает AVI, FLV, GIF, MKV, MOV, MP4, WebM и ряд аудиоконтейнеров и форматов: AAC, AIFF, ALAC, FLAC, M4A, MKA, MP3, OGG, Opus, Vorbis и WAV. Если целевой контейнер не принимает исходные кодеки, операция завершается ошибкой.
Параметр –recode-video использует тот же набор целевых обозначений, но при необходимости перекодирует поток. Это значительно более тяжёлая операция по процессорному времени и способна менять качество. Для массовой загрузки практичнее сохранять оригинальные кодеки там, где они уже совместимы с нужным проигрывателем, а перекодирование оставлять для конкретной задачи совместимости.
Субтитры
yt-dlp умеет показать список доступных субтитров, сохранить авторские дорожки, получить автоматически созданные субтитры там, где их предоставляет источник, выбрать языки и предпочтительный исходный формат. Отдельный обработчик переводит субтитры в ASS, LRC, SRT или VTT. Встраивание субтитров поддерживается для видео в MP4, WebM и MKV.
Наличие субтитров не гарантируется программой: она работает с тем, что предоставляет площадка и конкретный материал. То же относится к автоматически созданным дорожкам и языковым вариантам. Проверка перед скачиванием выполняется выводом списка субтитров для заданного адреса, а не предположением по языку ролика.
Миниатюры, описания и метаданные
Помимо медиапотоков yt-dlp сохраняет миниатюры, описание и структурированные сведения о материале. Миниатюры можно сохранять отдельно и преобразовывать в JPG, PNG или WebP. Метаданные при наличии соответствующих полей встраиваются в итоговый файл, а главы — добавляются в поддерживаемый контейнер. Для обложки применяется отдельная операция встраивания.
Файл info JSON полезен для автоматизации и повторной обработки, поскольку содержит структурированное описание извлечённого объекта. При этом документация прямо предупреждает, что такой файл способен содержать персональные сведения. Его нельзя автоматически считать безобидной «технической карточкой»: перед передачей третьему лицу содержимое следует просматривать и удалять чувствительные поля.
Главы и SponsorBlock
Программа умеет работать с главами: сохранять их в метаданных, разбивать материал по главам и вырезать выбранные временные участки через постобработку. Для YouTube предусмотрена интеграция с SponsorBlock API. Она способна помечать категории сегментов главами или удалять выбранные категории из локального результата. К поддерживаемым категориям относятся, среди прочего, sponsor, intro, outro, selfpromo и interaction.
SponsorBlock не является встроенной системой распознавания видео и не относится к функциям искусственного интеллекта yt-dlp. Сегменты берутся из внешнего сообщества SponsorBlock, а изменение выполняется над локальным файлом. Исходный ролик на площадке программа не редактирует.
Плейлисты, каналы и пакетная работа
yt-dlp принимает несколько адресов в одной команде и умеет читать их из batch-файла. В пакетном файле каждый адрес размещается на отдельной строке; специальные начальные символы используются для строк-комментариев. Это удобно для заранее подготовленной очереди без графического менеджера загрузок.
Для плейлистов доступны выбор отдельных позиций и диапазонов, ограничение начала и конца, обратный порядок, случайный порядок и исключение самого плейлиста в пользу одного материала. Фильтры позволяют отбирать элементы по дате, длительности, размеру, количественным метаданным и другим доступным полям. Правило –match-filters применяет условия к полученным метаданным до скачивания, что особенно важно при регулярной обработке больших каналов или лент.
Механизм download archive записывает идентификаторы уже успешно обработанных элементов в локальный файл и при следующем запуске пропускает их. Это превращает обычный командный запуск в повторяемый процесс: одна и та же команда периодически получает новые элементы, не скачивая старые заново. Архив работает на уровне идентификаторов extractor, поэтому его полезно хранить вместе с конкретной задачей и не смешивать без необходимости с несвязанными проектами.
Шаблоны имён и каталогов
Шаблон -o управляет именем результата и способен использовать поля метаданных: заголовок, идентификатор, дату публикации, имя автора, номер элемента плейлиста и другие доступные значения. Стандартный шаблон включает название и идентификатор, что уменьшает риск коллизий между материалами с одинаковыми заголовками. Параметр -P отдельно задаёт каталоги для результата и промежуточных файлов.
Шаблоны поддерживают преобразование отдельных значений, форматирование дат, резервные значения и сложные выражения. Это одна из сильных сторон yt-dlp для архива: файлы сразу попадают в предсказуемую иерархию без последующего ручного переименования. Одновременно чрезмерно сложный шаблон повышает риск недопустимых символов, слишком длинных путей и неожиданных пустых полей, поэтому схему имён лучше проверять на нескольких элементах до массового запуска.
Прямые трансляции
Для прямых эфиров есть отдельные режимы. По умолчанию загрузка текущей трансляции начинается с актуального места. Опция –live-from-start предназначена для загрузки эфира с начала и помечена как экспериментальная; в текущей документации для неё перечислены YouTube, Twitch, TVer и mellow-fan. Для запланированного ролика или эфира –wait-for-video позволяет ждать доступности с заданным интервалом.
При работе с живым HLS yt-dlp по умолчанию использует MPEG-TS как контейнер сегментов. Такой выбор помогает сохранить воспроизводимость при прерывании и позволяет начать просмотр ещё до полного завершения. Для длинной трансляции особенно важно следить за свободным местом на диске и не считать наличие уже созданного файла признаком завершённого процесса.
Конфигурация и автоматизация
Большинство параметров командной строки можно перенести в конфигурационный файл. Это уменьшает длину постоянных команд и позволяет зафиксировать политику работы: каталог, шаблон имени, формат, субтитры, архив, фильтры и сетевые параметры. Переносимые настройки особенно полезны в сценарии, где пользователь ежедневно выполняет одну и ту же задачу с разными адресами.
Для переносимой установки используется yt-dlp.conf рядом с исполняемым файлом. В пользовательских профилях предусмотрены стандартные каталоги конфигурации операционной системы. На Linux и macOS рекомендуемое место связано с XDG_CONFIG_HOME, на Windows — с APPDATA. Опция –ignore-config отключает загрузку конфигурации для конкретного запуска, что полезно при диагностике: так легко понять, вызвана ли ошибка самим адресом или незаметно применённым постоянным параметром.
Для скриптов есть режимы печати метаданных и JSON. Команды -j и -J выводят структурированные сведения, а режим simulate позволяет извлечь метаданные без сохранения медиа. Это даёт возможность сначала принять программное решение по названию, длительности, формату или другим полям, а затем запускать реальное скачивание.
Опция –exec выполняет внешнюю команду на выбранной стадии процесса. Она полезна для переноса готового файла, запуска собственного анализатора или дополнительной обработки. Одновременно это повышает требования к безопасности конфигурации: неизвестный или скачанный из чужого источника конфигурационный файл способен содержать команду, которая будет выполнена с правами текущего пользователя. Конфигурацию yt-dlp следует рассматривать как исполняемую настройку, а не как пассивный текст.
Архитектура поддерживает плагины extractor и postprocessor. Плагин добавляет обработку нового источника либо новый этап после скачивания. Каталоги плагинов задаются отдельно, а их код выполняется локально. yt-dlp не предоставляет магазин с централизованной модерацией таких расширений, поэтому источник и содержимое стороннего плагина требуют той же проверки, что и любой другой исполняемый код.
Поддерживаемые способы входа и приватность
Cookies из браузера
Когда сайт требует вход, yt-dlp умеет читать cookies из поддерживаемых браузеров или принимать отдельный cookie-файл в формате Netscape. Среди актуально перечисленных браузеров — Brave, Chrome, Chromium, Edge, Firefox, Opera, Safari, Vivaldi и Whale. Этот способ использует уже существующую сессию пользователя и часто применяется там, где отдельный ввод логина и пароля не реализован extractor.
Cookies относятся к данным авторизации. При экспорте из браузера в отдельный файл yt-dlp сохраняет cookies не только для страницы текущего видео, а для всех сайтов в профиле браузера, поэтому такой файл нельзя пересылать вместе с журналом ошибки, выкладывать в общий чат или хранить в общедоступной папке. Потеря cookie-файла способна раскрыть действующие сессии на сторонних сайтах.
Ручной cookie-файл должен соответствовать формату Mozilla/Netscape. Неправильные окончания строк дают характерную проблему: на Windows ожидается CRLF, на Unix-подобных системах — LF, а ошибка HTTP 400 при использовании cookies часто связана именно с неправильным форматом файла. Это диагностируется отдельно от состояния extractor и версии программы.
Логин, netrc и другие способы авторизации
В зависимости от конкретного extractor поддерживаются имя пользователя, пароль, двухфакторный код, видео-пароль, netrc, Adobe Pass и клиентский сертификат. Это набор возможностей программы, а не обещание, что каждый сайт принимает каждый способ. Реальная схема определяется площадкой и её extractor.
Хранение пароля прямо в команде нежелательно: оболочка способна сохранить такую строку в истории. netrc переносит данные из строки запуска, но сам файл также является открытым текстом. Для более защищённого сценария предусмотрен netrc-cmd, который получает данные через внешнюю команду, например из системного менеджера секретов. При автоматизации смысл этой функции именно в том, чтобы не размножать секрет в batch-файлах и скриптах.
Что передаётся по сети
yt-dlp выполняет сетевое обращение к исходному сайту, его CDN и другим сервисам, необходимым конкретной операции. При включённой интеграции SponsorBlock программа обращается к API SponsorBlock. При использовании разрешённых удалённых EJS-компонентов она способна получить соответствующие скрипты из настроенного внешнего источника. По умолчанию сторонние удалённые компоненты не разрешены, а официальные сборки уже включают yt-dlp-ejs.
Собственного обязательного облака для конвертации нет: после получения потока объединение, извлечение аудио, работа с субтитрами и большая часть другой постобработки выполняются на компьютере пользователя. Это уменьшает необходимость отправлять готовый файл в отдельный конвертер, но не делает процесс автономным: для получения медиаданных всё равно нужен интернет и доступ к исходной площадке.
Некоторые прямые адреса медиапотоков привязаны к IP-адресу, cookies, заголовкам браузера или сроку действия. Поэтому ссылка, извлечённая на одном компьютере, не обязана работать на другом. Для приватного или защищённого контента важнее сохранять итоговый файл, чем рассчитывать на долговечность временного прямого адреса.
Форматы: что yt-dlp получает и что сохраняет
У программы нет привычной операции импорта локального MP4, MOV или AVI для последующего редактирования. Основной вход — сетевой адрес. Дополнительно список адресов читается из batch-файла, а сохранённый info JSON используется в специальном режиме повторной обработки сведений. Поэтому вопрос «какие локальные форматы yt-dlp импортирует» некорректен по отношению к архитектуре продукта: это не файловый видеоредактор.
Формат, который доступен для загрузки, определяется площадкой. Один материал способен иметь несколько сочетаний контейнера, видеокодека, аудиокодека, разрешения, частоты кадров и битрейта. -F показывает фактический набор. При выборе одиночного файла по расширению текущий селектор распознаёт 3GP, AAC, FLV, M4A, MP3, MP4, OGG, WAV и WebM, но этот перечень нельзя смешивать с целевыми форматами постобработки.
| Операция | Подтверждённые форматы и контейнеры |
|---|---|
| Контейнер при объединении видео и аудио | AVI, FLV, MKV, MOV, MP4, WebM |
| Целевое аудио при -x | best, AAC, ALAC, FLAC, M4A, MP3, Opus, Vorbis, WAV |
| Remux и recode | AVI, FLV, GIF, MKV, MOV, MP4, WebM, AAC, AIFF, ALAC, FLAC, M4A, MKA, MP3, OGG, Opus, Vorbis, WAV |
| Конвертация субтитров | ASS, LRC, SRT, VTT |
| Встраивание субтитров | MP4, WebM, MKV |
| Конвертация миниатюр | JPG, PNG, WebP |
При выборе целевого контейнера нужно учитывать совместимость с кодеком. Remux переносит уже существующие дорожки без перекодирования и завершается неудачей, если контейнер не поддерживает их. Recode меняет кодек с помощью ffmpeg и поэтому требует больше времени и вычислений. Разница принципиальна для качества: remux не создаёт дополнительную потерю из-за повторного кодирования, а lossy-recode способен её внести.
Рабочий сценарий: получить видео до 1080p и проверить результат
Ниже приведён воспроизводимый пример для материала, который пользователь имеет право сохранять. Он показывает логику yt-dlp, но не превращает обзор в руководство по каждой опции. Команды используют условное слово URL вместо реального адреса.
-
Сначала проверяется установленная версия: yt-dlp –version. Для официального бинарника обновление выполняется командой yt-dlp -U. Если стабильная сборка неожиданно перестала работать с недавно изменившимся сайтом, предусмотрен переход на nightly: yt-dlp –update-to nightly.
-
Перед загрузкой полезно посмотреть реальные форматы: yt-dlp -F URL. Команда не скачивает итоговый файл и показывает, какие варианты доступны именно для этого материала.
-
Для ограничения разрешения до 1080p без жёсткой привязки к идентификатору площадки используется сортировка: yt-dlp -S “res:1080” -P “Downloads/Media” -o “%(title)s [%(id)s].%(ext)s” URL. yt-dlp выбирает наиболее подходящий вариант в пределах заданного приоритета, загружает нужные дорожки и объединяет их при наличии ffmpeg.
-
Если нужны отдельные субтитры, перед загрузкой выполняется yt-dlp –list-subs URL, затем выбирается подтверждённый языковой тег и добавляется сохранение субтитров. Если нужны только метаданные для проверки, используется simulate или вывод JSON без загрузки медиа.
-
После завершения в каталоге результата не должно оставаться .part вместо итогового файла. Дальше ffprobe показывает контейнер, видеокодек, аудиокодек, разрешение, длительность и число дорожек. Эти параметры следует сравнить с тем, что ожидалось после -F и выбранного правила сортировки.
Такой подход устойчивее, чем копирование чужого идентификатора формата. Для другого ролика или площадки список может измениться, а правило сортировки продолжит описывать цель. Если же нужна строго определённая дорожка, -f принимает идентификатор из -F для текущего материала.
Как проверить результат
После завершения нужно проверить не только наличие файла. У итогового результата не должно оставаться суффикса .part; ffprobe позволяет сверить контейнер, разрешение, видеокодек, аудиокодек, длительность и число дорожек. Если загружались раздельные видео и аудио, в финальном контейнере должны присутствовать обе дорожки.
Для важных материалов полезно воспроизвести начало, середину и конец, затем отдельно проверить субтитры, главы и встроенные метаданные. Такой контроль обнаруживает обрыв, рассинхронизацию, пропущенные сегменты прямой трансляции и ситуацию, когда постобработка завершилась не тем контейнером или набором дорожек, который ожидался после -F.
Каналы обновлений и устойчивость к изменениям сайтов
Бинарные выпуски делятся на stable, nightly и master. Stable — канал по умолчанию с в основном ежемесячными релизами. Nightly публикуется в дни с изменениями кода и рекомендуется проектом для регулярных пользователей, потому что быстрее получает исправления после изменений площадок. Master собирается после каждого изменения основной ветки и содержит самые свежие правки, но сильнее подвержен регрессиям. Версия старше 90 дней выводит предупреждение об обновлении.
Стоимость, редакции и лицензирование
yt-dlp не продаётся по подписке и не делится на Free, Pro или Business. Программа бесплатна, регистрация в самом yt-dlp не нужна, пробного периода нет, платных ограничений качества или количества загрузок со стороны программы также нет. Ограничения способен вводить источник: доступность ролика, авторизация, тариф самой площадки, география, лимиты сети и правила сервиса.
Каналы stable, nightly и master — не коммерческие редакции. Они отличаются частотой выпуска и уровнем риска изменений, но не набором платно разблокируемых функций. Поэтому переход на nightly не требует покупки лицензии и не открывает «премиальные» возможности; он просто заменяет ветку обновлений.
Лицензирование требует более точной формулировки, чем просто «Unlicense». Исходный репозиторий, исходный пакет PyPI и wheel yt-dlp содержат код под Unlicense. Часть готовых файлов включает компоненты с другими лицензиями. В частности, PyInstaller-сборки содержат код GPLv3+, поэтому объединённая работа распространяется как GPLv3+. Unix zipimport-файл и исходный архив содержат также компоненты под ISC и MIT. Для обычного пользователя это не влияет на цену, но важно при корпоративном распространении и включении бинарника в собственный продукт.
Пакетность, облако, мобильность и ИИ
Пакетная работа и автоматизация: несколько адресов, batch-файл, плейлисты, фильтры, архив уже скачанного, шаблоны имён, конфигурации, JSON, внешние действия, плагины и Python-интеграция позволяют строить повторяемые локальные процессы.
Облако и мобильность: собственного облака и синхронизации проектов нет; после получения данных постобработка выполняется локально. Официальный набор релизов не содержит нативных приложений Android или iOS, поэтому сторонние оболочки не являются мобильной редакцией yt-dlp.
ИИ: отдельного инструмента генеративной или улучшающей обработки медиа нет. Выбор формата основан на правилах и метаданных, сайты распознают extractors, а постобработка опирается на детерминированные инструменты вроде ffmpeg.
Плюсы и минусы
Плюсы ✔️
-
Гибкий выбор качества, кодеков, контейнеров и дорожек на основе фактических форматов, которые предоставляет конкретный источник.
-
Работа с большим набором сайтов через специализированные extractors, обработку встроенных плееров и универсальный механизм извлечения.
-
Полноценная пакетная модель: плейлисты, batch-файлы, фильтры, диапазоны и архив уже обработанных элементов.
-
Развитая автоматизация через конфигурации, шаблоны имён, JSON, внешние действия, плагины и Python-интеграцию.
-
Сохранение субтитров, миниатюр, описаний, глав и метаданных без отдельного графического менеджера.
-
Бесплатное распространение без платного ограничения числа загрузок или качества со стороны самого yt-dlp.
-
Официальные сборки для основных настольных систем и несколько архитектур, а также вариант через Python.
-
Активные stable, nightly и master-каналы позволяют быстро получать исправления совместимости после изменений сайтов.
Минусы ❌
-
Официального графического интерфейса нет; для уверенной работы нужно понимать терминал, параметры и различие контейнера, кодека и медиапотока.
-
Полноценная загрузка высококачественных раздельных дорожек и многие операции после скачивания зависят от внешних ffmpeg и ffprobe.
-
Полная поддержка YouTube в актуальной архитектуре требует yt-dlp-ejs и поддерживаемой JavaScript-среды, что добавляет ещё один слой зависимостей.
-
Отдельные extractors периодически ломаются после изменений площадок, поэтому версия, работавшая месяц назад, не гарантирует такую же совместимость сегодня.
-
Авторизация через cookies требует аккуратного обращения с чувствительными данными; экспортированный файл способен содержать сессии сразу многих сайтов.
-
В официальном наборе нет нативного мобильного приложения и встроенной медиатеки с визуальным управлением загрузками.
-
Настройки дают высокий контроль, но сложная комбинация фильтров, шаблонов и постобработки увеличивает риск ошибки пользователя и усложняет диагностику.
Кому подойдёт
-
Пользователям, которым важен точный контроль над разрешением, кодеком, аудиодорожкой, субтитрами и контейнером.
-
Тем, кто регулярно сохраняет разрешённые к скачиванию плейлисты, каналы, собственные публикации, архивные материалы или рабочие медиаресурсы.
-
Администраторам и разработчикам, которым нужен повторяемый CLI-процесс, конфигурация, JSON или запуск из Python.
-
Пользователям Linux, macOS и Windows, которые предпочитают локальный инструмент без обязательной учётной записи и облачного конвертера.
-
Тем, кто готов обновлять загрузчик при изменениях внешних сервисов и самостоятельно читать диагностический вывод.
Кому не подойдёт
-
Новичку, которому нужен визуальный список роликов, кнопка выбора качества и управление очередью без терминала.
-
Пользователю, который ищет видеоредактор с таймлайном, переходами, титрами, цветокоррекцией и ручным монтажом.
-
Тем, кому требуется официальное приложение для Android или iOS с нативным мобильным интерфейсом.
-
Пользователю, который не готов устанавливать ffmpeg и JavaScript-компоненты ради полного набора современных сценариев.
-
Сценарию, где загрузка должна выполняться через централизованный облачный кабинет с командными ролями и общей медиатекой.
Альтернативы yt-dlp
Stacher 7
Stacher 7 — отдельная бесплатная базовая графическая оболочка для yt-dlp на Windows, macOS и Debian-based Linux; дополнительные Premium-функции необязательны. Она управляет параметрами yt-dlp, показывает журнал и помогает с ffmpeg. Такой вариант подходит, когда нужен тот же движок, но терминал мешает работе; сам yt-dlp удобнее для скриптов, серверной автоматизации и переносимых конфигураций.
4K Video Downloader Plus
4K Video Downloader Plus — самостоятельное графическое приложение для Windows, macOS и Linux со встроенным браузером, плейлистами, каналами, субтитрами и Smart Mode. У него есть бесплатный Starter с базовыми функциями и платные редакции. Его проще выбрать ради визуального интерфейса и входа на сайты внутри приложения, тогда как yt-dlp предлагает более глубокую командную автоматизацию и гибкую сортировку форматов.
JDownloader 2
JDownloader 2 — бесплатный менеджер загрузок для Windows, Linux и macOS, рассчитанный на большие очереди обычных файлов и разных хостингов; он поддерживает паузу, ограничение полосы и автоматическую распаковку архивов. Он удобнее при смешанной файловой очереди, а yt-dlp точнее специализируется на медиапотоках, дорожках, субтитрах, плейлистах и постобработке.
gallery-dl
gallery-dl — кроссплатформенный консольный загрузчик галерей изображений и коллекций с развитой конфигурацией и шаблонами имён; активная разработка перенесена на Codeberg. Для фотографа он логичнее при массовом архивировании изображений, тогда как yt-dlp ориентирован прежде всего на видео, аудио, субтитры и потоковые источники.
Частые проблемы и диагностика
Программа пишет, что адрес не поддерживается
Сначала проверяется версия yt-dlp. Для старой stable-сборки следует обновиться, а при свежей поломке сайта — повторить работу на nightly. Затем запускается подробный режим -vU. Если extractor не найден, причиной бывает действительно неподдерживаемая страница; если extractor найден, но падает позже, проблема относится уже к конкретному этапу извлечения.
Не стоит считать перечень поддерживаемых сайтов абсолютной гарантией. Площадки меняются, и часть пунктов в списке временно отмечается как broken. Обратная ситуация тоже встречается: универсальный extractor или обработка встроенного плеера работают с доменом, которого нет как отдельного названия.
Доступно только низкое качество
Первый шаг — -F. Если нужного разрешения нет в списке, параметр -f не создаст его. Если высокое разрешение есть как video-only, а звук — отдельно, для итогового файла нужен ffmpeg. На YouTube дополнительно проверяются актуальность yt-dlp-ejs и JavaScript-среды, потому что неполная конфигурация способна ограничить доступные форматы.
Также нужно учитывать учётную запись и сам сервис: некоторые варианты доступны только авторизованному пользователю или определённому уровню доступа. yt-dlp использует права текущей сессии, а не расширяет их.
После загрузки есть видео без звука или звук без видео
Обычно это означает, что выбран одиночный video-only или audio-only формат, либо объединение не состоялось. Проверяются выбранный идентификатор из -F, наличие ffmpeg и финальные строки журнала. При автоматическом выборе с установленным ffmpeg yt-dlp обычно объединяет лучшие раздельные дорожки; ручная команда -f способна специально скачать только одну.
ffmpeg установлен, но yt-dlp его не видит
Причина чаще всего в PATH или в том, что установлен не исполняемый ffmpeg, а одноимённый Python-пакет. Команда ffmpeg -version должна выполняться из той же терминальной среды. Если бинарник лежит в нестандартном каталоге, путь задаётся в параметрах yt-dlp. Подробный вывод показывает обнаруженные зависимости и помогает увидеть, какой именно экземпляр используется.
YouTube сообщает об ошибке JavaScript-компонента
Проверяются три части: актуальный yt-dlp, наличие подходящего yt-dlp-ejs и доступная среда JavaScript. Для официальных готовых сборок EJS включён, но среда выполнения всё равно нужна. Рекомендуемый Deno должен соответствовать поддерживаемой версии и находиться в PATH. Для Node.js и QuickJS их использование включается соответствующей настройкой.
HTTP 403, 429 или CAPTCHA
Это сетевой или авторизационный класс ошибок, а не признак повреждённого MP4. Для 403 проверяются cookies, IP-адрес, User-Agent и состояние сессии. Для CAPTCHA сначала вход выполняется в обычном браузере, после чего yt-dlp использует cookies этой сессии. 429 указывает на ограничение частоты со стороны сервиса, поэтому агрессивные повторы и увеличение параллельности способны только усугубить ситуацию.
При Cloudflare-сценарии cookies и сетевой адрес должны относиться к одной рабочей сессии. Если cookies были получены через VPN, а yt-dlp обращается к сайту уже с другого адреса, защита способна отвергнуть соединение.
Не получается объединить дорожки в MP4
Контейнер MP4 принимает не все сочетания кодеков. Если выбранные дорожки несовместимы, простое –remux-video mp4 завершается ошибкой. Сначала нужно посмотреть кодеки в -F и решить, что важнее: сохранить исходные дорожки в совместимом контейнере, например MKV, либо реально перекодировать их через –recode-video.
Пакетная команда повторно скачивает старые элементы
Для регулярной ленты должен использоваться download archive, а файл архива — сохраняться между запусками. Если путь к архиву меняется, он был удалён или разные задачи случайно используют разные файлы, yt-dlp не знает о предыдущем успешном скачивании. Проверяется также extractor: его идентификаторы являются основой записей архива.
Безопасность и права на контент
yt-dlp обеспечивает техническую совместимость, а не разрешение на копирование. Сохранять следует материалы, на которые у пользователя есть право, разрешение владельца или иной законный доступ. Cookies, netrc, конфигурации с секретами и info JSON нужно хранить как чувствительные данные и очищать перед передачей третьим лицам.
Плагины и –exec выполняют локальный код, поэтому чужой конфигурационный файл нельзя считать безобидным пресетом. В управляемой среде полезно фиксировать версии, проверять контрольные суммы официальных бинарников и хранить конфигурацию вместе с другими контролируемыми настройками.
FAQ
Можно ли скачать 4K или 8K?
yt-dlp выбирает только те форматы, которые фактически отдаёт площадка для данного материала и текущей сессии. Если 4K или 8K присутствуют в -F, их можно выбрать. Для высоких разрешений видео и аудио часто идут раздельно, поэтому итоговый файл требует ffmpeg.
Почему итоговый файл оказался WebM или MKV, хотя ожидался MP4?
Расширение зависит от форматов источника, выбранных дорожек и операции объединения. «Лучшее качество» не равно «обязательно MP4». Если нужен конкретный контейнер, задаётся правило объединения или remux; если кодеки с ним несовместимы, потребуется другой контейнер либо перекодирование.
Можно ли сохранить только звук?
Да. Режим -x извлекает аудио и вместе с –audio-format переводит его в один из поддерживаемых форматов: AAC, ALAC, FLAC, M4A, MP3, Opus, Vorbis или WAV, либо оставляет вариант best. Для операции нужны ffmpeg и ffprobe.
Нужна ли регистрация в yt-dlp?
Нет. У программы нет собственной учётной записи. Авторизация относится только к исходному сайту, когда конкретный материал закрыт для анонимного просмотра. Для такой сессии используются поддерживаемые способы входа или cookies.
Можно ли использовать yt-dlp без интернета?
Основная функция загрузчика требует сети, поскольку extractor получает страницу и медиапотоки у внешнего источника. Уже сохранённый локальный файл можно постобрабатывать без повторной загрузки только в тех операциях, которым не нужны новые данные с сайта.
Можно ли встроить субтитры в видео?
Да, для MP4, WebM и MKV. Сначала субтитры должны быть доступны у источника либо сохранены выбранным режимом, после чего postprocessor встраивает их. При необходимости отдельный конвертер переводит текст в ASS, LRC, SRT или VTT.
Содержит ли info JSON приватные данные?
Способен содержать. Документация предупреждает о персональных сведениях в таком файле. Перед публикацией или передачей его следует просмотреть и удалить чувствительные поля, особенно если материал был получен из авторизованной сессии.
Безопасно ли хранить cookies.txt рядом с видео?
Нет. Это файл авторизации, и при экспорте из браузера он способен включать cookies всех сайтов профиля. Его следует хранить как секрет, ограничивать доступ и удалять, когда он больше не нужен. В общий каталог медиа и синхронизируемую публичную папку такой файл помещать не следует.
Можно ли запускать yt-dlp из Python?
Да. Проект предоставляет интерфейс YoutubeDL для встраивания в Python-программы. Для простого сценария командная строка обычно короче, но программный интерфейс удобен, когда нужно получать структурированный результат, задавать обработчики состояния и интегрировать загрузку в собственное приложение.
Итог: для каких сценариев yt-dlp оправдан
Для разовой загрузки одного разрешённого ролика yt-dlp особенно рационален, если пользователь не боится терминала: одна команда даёт контроль качества без регистрации и платной редакции. Если важнее визуальные кнопки и встроенная очередь, Stacher или самостоятельный графический загрузчик требуют меньше знакомства с синтаксисом.
Для регулярного архива сильная сторона yt-dlp раскрывается полнее: download archive, фильтры, шаблоны имён, конфигурация и пакетные файлы превращают повторяющуюся операцию в воспроизводимый процесс. В таком сценарии nightly практичнее stable, потому что быстрее получает исправления после изменений площадок.
Для максимального качества нужно учитывать зависимости. ffmpeg и ffprobe необходимы для объединения раздельных дорожек и большинства операций постобработки, а полноценная поддержка YouTube требует актуальных yt-dlp-ejs и JavaScript-среды. Отсутствие этих компонентов не делает сам бинарник неработоспособным, но заметно сужает современные сценарии.
Для корпоративной или чувствительной работы важнее всего управлять конфигурацией и секретами: не хранить cookies и пароли в открытых общих файлах, проверять официальный бинарник, фиксировать зависимости и отдельно проверять итоговые медиапотоки через ffprobe. yt-dlp даёт высокий технический контроль, но не снимает с пользователя ответственность за безопасность и право сохранять конкретный контент.








