Перейти к содержимому

Ошибки yt-dlp: что означает каждая и какое решение работает

Автор Команда TunelioОпубликовано

Почти у каждого сбоя yt-dlp на YouTube один из трёх корней: устаревшая сборка, отсутствующий JavaScript-рантайм или IP-адрес, которому YouTube не доверяет. Сначала выполните три команды ниже — они закрывают большинство жалоб. Затем найдите своё сообщение об ошибке в каталоге: у каждой записи причина, первое действие и полное руководство.

Универсальная первая помощь (до всего остального)

yt-dlp -U                                   # или: pip install -U yt-dlp   (пакеты дистрибутивов отстают на месяцы)
curl -fsSL https://deno.land/install.sh | sh  # JS-рантайм — обязателен для YouTube с 2025
yt-dlp -4 --rm-cache-dir -vU "URL"             # IPv4, чистый кеш, подробный вывод: ГДЕ падает

Читайте вывод -v сверху вниз: отладочный заголовок показывает версию, найденные JS-рантайм и ffmpeg; первое WARNING или ERROR говорит, какая стадия упала — запрос информации (YouTube не описал видео), загрузка медиа (описал, но отказал в файле) или постобработка (ffmpeg). Каталог ниже сгруппирован так же.

Ошибки стадии информации: YouTube не хочет с вами разговаривать

«Sign in to confirm you’re not a bot»

YouTube оценил запрос как автоматизацию — дата-центровый или IPv6-адрес, нет PO-токена, нет сессии, слишком большой объём. Порядок: обновление, JS-рантайм, -4, затем cookies запасного аккаунта из приватного окна, затем провайдер PO-токенов, затем резидентный выход. Одни cookies живут недолго.

Полное руководство: «Sign in to confirm you’re not a bot»

«Unable to extract …», «nsig extraction failed», «Some formats may be missing»

YouTube изменил код плеера, и ваш yt-dlp не может решить новую подпись, либо нет JavaScript-рантайма для её выполнения. Обновитесь (nightly, если стабильный релиз ещё не вышел) и поставьте Deno; удалите устаревший плагин YTNsigDeno, если он есть. На старой сборке это не лечится никаким флагом.

Полное руководство: как обновить yt-dlp

«Video unavailable», «Private video», «HTTP Error 404: Not Found»

Видео удалено, приватно, ограничено по региону или для участников — либо опечатка в ID. Проверьте ссылку в браузере: если и там не работает, yt-dlp не поможет. 404 во время загрузки означает истёкшую подписанную ссылку (переизвлеките с -c); в плейлистах добавьте --ignore-errors, чтобы пропускать мёртвые элементы.

Полное руководство: причины и решения HTTP Error 404

«Cookies are no longer valid», «could not find … cookies database», возрастные ограничения / только для участников

Сессионные cookies ротируются и истекают; файл из браузера, которым продолжали пользоваться, устарел сразу, а cookies основного аккаунта могут привести к его ограничению. Экспортируйте один раз из приватного окна запасного аккаунта, закройте его, передайте --cookies cookies.txt. Видео с возрастным ограничением и для участников требуют cookies аккаунта, который их видит.

Полное руководство: безопасный экспорт и использование cookies

Ошибки стадии медиа: YouTube описал видео, но отказывает в файле

«HTTP Error 403: Forbidden» (часто после первого куска)

Подписанная медиа-ссылка не совпала с клиентом, IP или PO-токеном, которых ждал YouTube. Обновитесь и поставьте JS-рантайм, принудительно IPv4, перестаньте задавать itag через -f (используйте сортировку -S), попробуйте другой клиент плеера, дайте PO-токен; cookies — в последнюю очередь, они могут вызывать медиа-403. Дата-центровые и IPv6-адреса получают это гораздо чаще.

Полное руководство: причины 403 Forbidden и порядок исправления

«Requested format is not available»

Принудительный itag не существует для этого видео или закрыт PO-токеном для вашего клиента. Посмотрите форматы через -F и выражайте предпочтение, а не ID: -S "res:1080,ext:mp4". Если 1080p+ нет совсем, причина — ffmpeg (для слияния) или PO-токен.

Полное руководство: ffmpeg, слияние и почему нет 1080p

Очень медленные загрузки (несколько КБ/с), зависания, throttling

Урезанная скорость — ответ YouTube на неверный параметр «n»: почти всегда устаревшая сборка или отсутствие JS-рантайма, а не ваш канал. Сначала обновитесь; затем --concurrent-fragments 4 помогает фрагментированным форматам. Ограничение частоты на массовых запусках — другое: добавьте флаги sleep.

Полное руководство: обновление yt-dlp

Ошибки прокси: «Unable to connect to proxy», «Missing dependencies for SOCKS support», бот-проверка через прокси

Проверьте схему и порт (socks5h:// для удалённого DNS), поставьте yt-dlp[default] для SOCKS и помните, что репутация выхода оценивается как у вашего сервера — дата-центровые прокси наследуют те же 403 и бот-проверки; резидентные работают, но гонят через себя всё видео.

Полное руководство: прокси, которые реально работают против YouTube

Ошибки постобработки: ffmpeg

«ffmpeg not found», «You have requested merging … but ffmpeg is not installed»

Без ffmpeg yt-dlp тихо сохраняет лучший однофайловый формат (обычно 720p) и не может делать MP3. Установите его (apt/brew/winget), откройте новый терминал или передайте --ffmpeg-location. Проверьте строку ffmpeg в yt-dlp -v.

Полное руководство: установка ffmpeg и указание пути

«Postprocessing: Conversion failed!», на выходе .webm вместо .mp3

Повреждённая частичная загрузка, очень старый ffmpeg или его отсутствие. Удалите .part, обновите оба инструмента, повторите с -x --audio-format mp3 --audio-quality 0 — или оставьте исходный Opus/AAC через --audio-format best без транскодирования.

Полное руководство: yt-dlp в MP3

Что оставить: WebM/Opus, M4A или MP3

Ошибки в коде: DownloadError в Python, зависшие async-серверы

yt-dlp оборачивает сбои в yt_dlp.utils.DownloadError с исходным сообщением внутри — сопоставляйте по тексту («Sign in to confirm», «HTTP Error 403», «Private video»). Он синхронный и стоит ~1,2 с CPU на извлечение; вызванный в event loop, он замораживает сервер — выполняйте в пуле потоков и ограничивайте параллельность.

Полное руководство: yt-dlp из Python

yt-dlp за API: self-host или хостинг

Безопасно ли и законно ли это вообще?

Сам yt-dlp открыт и безопасен из официальных релизов или pip; срабатывания антивирусов на сборку для Windows — ложные срабатывания PyInstaller. Риски — поддельные сайты, cookies основного аккаунта и недоверенные плагины. Законность зависит от того, что вы скачиваете и где живёте.

Полное руководство: безопасен ли yt-dlp?

Ошибки, превращающие одну проблему в постоянную

  • Повторять бот-проверку или 403 в тесном цикле — быстрейший способ пометить IP навсегда.
  • Передавать cookies личного Google-аккаунта на сервере.
  • Принудительные itag из старых туториалов (-f 137+140) вместо сортировки -S.
  • Сидеть на прошлогоднем пакете дистрибутива и читать форумы вместо обновления.
  • Ротировать дешёвые дата-центровые прокси и ждать другой репутации.

Когда пора перестать чинить yt-dlp

Для нескольких личных загрузок хватит команд первой помощи и руководств выше. Если yt-dlp работает внутри бота, приложения или пайплайна, каждая ошибка выше становится регулярной эксплуатационной задачей — обновления, рантаймы, PO-токены, ротация cookies, резидентные прокси, CPU ffmpeg. Хостинговый API возвращает ссылку на скачивание на каждый запрос и держит всё это на своей стороне. Tunelio — наш сервис, учитывайте это. Новые аккаунты получают 100 бесплатных кредитов.

Альтернатива yt-dlp: когда нужен хостинговый API

Источники

  • README и wiki yt-dlp — справочник опций, FAQ, руководства по PO-токенам и cookies.
  • Трекер yt-dlp — #14680 и #17395 (403), треды о бот-проверке и nsig.
  • Наши измерения (парк извлечения Tunelio, 2026): доля проверок на дата-центровых IP, отказы по IPv6, CPU на извлечение.

Частые вопросы

Какая самая частая причина ошибок yt-dlp?

Устаревшая сборка. YouTube меняет плеер каждые несколько недель; yt-dlp старше месяца падает с 403, троттлингом, бот-проверками или пропавшими форматами. Обновляйтесь раньше всего.

Почему yt-dlp работает на ноутбуке, но не на сервере?

Репутация IP: дата-центровые и IPv6-адреса оцениваются как вероятные боты. Сначала принудительный IPv4; если мало — резидентный выход или хостинговый API.

Нужны ли ffmpeg и Deno?

Да, для полной поддержки YouTube: Deno (или Node/Bun) решает JavaScript-челленджи YouTube; ffmpeg сливает потоки 1080p+ и конвертирует аудио.

Добавлять cookies сразу, как что-то упало?

Нет. Cookies решают только случай стены входа и могут вызывать медиа-403 или ограничение аккаунта. Сначала обновление, JS-рантайм и IPv4; cookies запасного аккаунта — в последнюю очередь.

Похожие руководства